Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.runtime.builtins.types.string.prototype;
 
 
 public class Slice extends AbstractNativeFunction {
 
    public Slice(GlobalObject globalObject) {
        super(globalObject"start""end");
    }
    @Override
    public Object call(ExecutionContext contextObject selfObject... args) {
        // 15.5.4.12
        Types.checkObjectCoercible(contextself);
        String s = Types.toString(contextself);
        int len = s.length();
        
        long intStart = Types.toIntegercontextargs[0] );
        long intEnd = ( args[1] == . ? len : Types.toInteger(contextargs[1]));
        
        int from = 0;
        int to = 0;
        
        if ( intStart < 0 ) {
            from = (int) Math.maxlen + intStart, 0 );
        } else {
            from = (int) Math.minintStartlen );
        }
        
        if ( intEnd < 0 ) {
            to = (int) Math.maxlen + intEnd, 0 );
        } else {
            to = (int) Math.minintEndlen );
        }
        
        int span = Math.maxto - from, 0 );
        
        if ( span == 0 ) {
            return "";
        }
        
        return s.substring(fromto);
    }
New to GrepCode? Check out our FAQ X