@Override public Object call(Object ctx, Object thisValue, VariableResolverFactory factory, Object[] parms) { return function.call(ctx, thisValue, new InvokationContextFactory(factory, resolverFactory), parms); }
@Override public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValueAccelerated(ctx, thisValue, factory)) + ((Integer) right.getReducedValueAccelerated(ctx, thisValue, factory)); }
@Override public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValue(ctx, thisValue, factory)) + ((Integer) right.getReducedValue(ctx, thisValue, factory)); }
private void initSigner(Class type) { if (Integer.class.isAssignableFrom(type = boxPrimitive(type))) signer = new IntegerSigner(); else if (Double.class.isAssignableFrom(type)) signer = new DoubleSigner(); else if (Long.class.isAssignableFrom(type)) signer = new LongSigner(); else if (Float.class.isAssignableFrom(type)) signer = new FloatSigner(); else if (Short.class.isAssignableFrom(type)) signer = new ShortSigner(); else if (BigInteger.class.isAssignableFrom(type)) signer = new BigIntSigner(); else if (BigDecimal.class.isAssignableFrom(type)) signer = new BigDecSigner(); else { throw new CompileException("illegal use of '-': cannot be applied to: " + type.getName(), expr, start); } }
public ASTNode handleSubstatement(Substatement stmt) { if (stmt.getStatement() != null && stmt.getStatement().isLiteralOnly()) { return new LiteralNode(stmt.getStatement().getValue(null, null, null), pCtx); } else { return stmt; } }
private boolean isEvaluated(ASTNode node) { node = unwrapSubstatement(node); if (node instanceof Contains) { return ((Contains)node).getFirstStatement().getAccessor() != null; } return node instanceof BinaryOperation ? ((BooleanNode) node).getLeft().getAccessor() != null : node.getAccessor() != null; }
public ASTNode(char[] expr, int start, int offset, int fields, ParserContext pCtx) { this(pCtx); this.fields = fields; this.expr = expr; this.start = start; this.offset = offset; setName(expr); }
@Override public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) { return getReducedValue(ctx, thisValue, factory); } }
private int comparePrecedence(ASTNode node1, ASTNode node2) { if (!(node1 instanceof OperatorNode) && !(node2 instanceof OperatorNode)) return 0; if (node1 instanceof OperatorNode && node2 instanceof OperatorNode) { return PTABLE[((OperatorNode)node1).getOperator()] - PTABLE[((OperatorNode)node2).getOperator()]; } return node1 instanceof OperatorNode ? -1 : 1; }
private void initSigner(Class type) { if (Integer.class.isAssignableFrom(type = boxPrimitive(type))) signer = new IntegerSigner(); else if (Double.class.isAssignableFrom(type)) signer = new DoubleSigner(); else if (Long.class.isAssignableFrom(type)) signer = new LongSigner(); else if (Float.class.isAssignableFrom(type)) signer = new FloatSigner(); else if (Short.class.isAssignableFrom(type)) signer = new ShortSigner(); else if (BigInteger.class.isAssignableFrom(type)) signer = new BigIntSigner(); else if (BigDecimal.class.isAssignableFrom(type)) signer = new BigDecSigner(); else { throw new CompileException("illegal use of '-': cannot be applied to: " + type.getName(), expr, start); } }
@Override public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValueAccelerated(ctx, thisValue, factory)) / ((Integer) right.getReducedValueAccelerated(ctx, thisValue, factory)); }
@Override public Object call(Object ctx, Object thisValue, VariableResolverFactory factory, Object[] parms) { return function.call(ctx, thisValue, new InvokationContextFactory(factory, resolverFactory), parms); }
@Override public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValue(ctx, thisValue, factory)) - ((Integer) right.getReducedValue(ctx, thisValue, factory)); }
private void initSigner(Class type) { if (Integer.class.isAssignableFrom(type = boxPrimitive(type))) signer = new IntegerSigner(); else if (Double.class.isAssignableFrom(type)) signer = new DoubleSigner(); else if (Long.class.isAssignableFrom(type)) signer = new LongSigner(); else if (Float.class.isAssignableFrom(type)) signer = new FloatSigner(); else if (Short.class.isAssignableFrom(type)) signer = new ShortSigner(); else if (BigInteger.class.isAssignableFrom(type)) signer = new BigIntSigner(); else if (BigDecimal.class.isAssignableFrom(type)) signer = new BigDecSigner(); else { throw new CompileException("illegal use of '-': cannot be applied to: " + type.getName()); } }
@Override public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValueAccelerated(ctx, thisValue, factory)) * ((Integer) right.getReducedValueAccelerated(ctx, thisValue, factory)); }
public Object call(Object ctx, Object thisCtx, VariableResolverFactory factory, Object[] parms) { switch (type) { case FUNCTION: return ((Function) receiver).call(ctx, thisCtx, new InvokationContextFactory(factory, instance.instanceStates), parms); case PROPERTY: return receiver; case DEFERRED: throw new CompileException("unresolved prototype receiver", expr, start); } return null; }
@Override public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValue(ctx, thisValue, factory)) / ((Integer) right.getReducedValue(ctx, thisValue, factory)); }
private Object deop(Object ctx, Object thisValue, VariableResolverFactory factory, RuntimeException e) { if ((fields & DEOP) == 0) { accessor = null; fields |= DEOP | NOJIT; synchronized (this) { return getReducedValueAccelerated(ctx, thisValue, factory); } } else { throw e; } }
@Override public Object getReducedValue(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValue(ctx, thisValue, factory)) * ((Integer) right.getReducedValue(ctx, thisValue, factory)); }
@Override public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) { return ((Integer) left.getReducedValueAccelerated(ctx, thisValue, factory)) - ((Integer) right.getReducedValueAccelerated(ctx, thisValue, factory)); }