Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.runtime.builtins.types;
 
public class BuiltinNumber extends AbstractBuiltinType {
    public BuiltinNumber(final GlobalContext globalContext) {
        super(globalContext"value");
        // 15.7.4 Set the prototype
        final PrimitiveDynObject proto = new DynNumber(globalContext, 0L);
        setPrototypeProperty(proto);
    }
    @Override
    public void initialize(GlobalContext globalContextJSObject proto) {
        proto.setPrototype(globalContext.getPrototypeFor("Object"));
        defineNonEnumerableProperty(proto"constructor"this);
        defineNonEnumerableProperty(proto"toString"new ToString(globalContext));
        defineNonEnumerableProperty(proto"toLocaleString"new ToString(globalContext));
        defineNonEnumerableProperty(proto"valueOf"new ValueOf(globalContext));
        defineNonEnumerableProperty(proto"toFixed"new ToFixed(globalContext));
        defineNonEnumerableProperty(proto"toExponential"new ToExponential(globalContext));
        defineNonEnumerableProperty(proto"toPrecision"new ToPrecision(globalContext));
        defineReadOnlyProperty(thisglobalContext"NaN".);
        defineReadOnlyProperty(thisglobalContext"POSITIVE_INFINITY".);
        defineReadOnlyProperty(thisglobalContext"NEGATIVE_INFINITY".);
        defineReadOnlyProperty(thisglobalContext"MIN_VALUE".);
        defineReadOnlyProperty(thisglobalContext"MAX_VALUE".);
        defineReadOnlyProperty(globalContext.getObject(), globalContext"NaN".);
        defineReadOnlyProperty(globalContext.getObject(), globalContext"Infinity".);
    }
    @Override
    public Object call(ExecutionContext contextObject selfObject... args) {
        Number number = 0L;
        Arguments argsObj = (Argumentscontext.resolve("arguments").getValue(context);
        int numArgs = (intargsObj.get(context"length");
        if (numArgs != 0) {
            number = Types.toNumber(contextargs[0]);
        }
        if (self == . || self == .) {
            // called as a function
            return number;
        } else {
            // called as a ctor
            PrimitiveDynObject numberObject = (PrimitiveDynObjectself;
            if (numArgs == 0) {
                number = 0L;
            }
            numberObject.setPrimitiveValue(number);
            return numberObject;
        }
    }
    @Override
    public JSObject createNewObject(ExecutionContext context) {
        // 15.7.2.1
        return new DynNumber(context.getGlobalContext());
    }
    protected static void defineReadOnlyProperty(final JSObject onfinal GlobalContext globalContextString namefinal Number value) {
        on.defineOwnProperty(nullname,
                PropertyDescriptor.newDataPropertyDescriptor(valuefalsefalsefalse), false);
    }
    protected static void defineReadOnlyFunction(final JSObject onfinal GlobalContext globalContextString namefinal Object value) {
        on.defineOwnProperty(nullname,
                PropertyDescriptor.newDataPropertyDescriptor(valuefalsefalsefalse), false);
    }
    public static Number modulo(Number aNumber b) {
        double remainder = a.doubleValue() % b.doubleValue();
        if (remainder == 0 && Double.compare(a.doubleValue(), 0.0) < 0) {
            return -0.0;
        }
        if (remainder == (longremainder) {
            return (longremainder;
        }
        return remainder;
    }
New to GrepCode? Check out our FAQ X