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; } }
return new FixedExpression(literalNode.getEgressType(), literalNode.getLiteralValue());
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; } }
public ASTNode handleSubstatement(Substatement stmt) { if (stmt.getStatement() != null && stmt.getStatement().isLiteralOnly()) { return new LiteralNode(stmt.getStatement().getValue(null, null, null)); } else { return stmt; } }
if (pCtx.hasImport(tmp = new String(_subset))) { lastWasIdentifier = true; return lastNode = new LiteralNode(pCtx.getStaticOrClassImport(tmp)); return lastNode = new LiteralNode(LITERALS.get(tmp));
if (pCtx.hasImport(tmp = new String(expr, st, cursor - st))) { lastWasIdentifier = true; return lastNode = new LiteralNode(pCtx.getStaticOrClassImport(tmp), pCtx); return lastNode = new LiteralNode(LITERALS.get(tmp), pCtx); return lastNode = new LiteralNode(typeDescriptor.getClassReference(pCtx), pCtx);
if (pCtx.hasImport(tmp = new String(expr, st, cursor - st))) { lastWasIdentifier = true; return lastNode = new LiteralNode(pCtx.getStaticOrClassImport(tmp), pCtx); return lastNode = new LiteralNode(LITERALS.get(tmp), pCtx); return lastNode = new LiteralNode(typeDescriptor.getClassReference(pCtx), pCtx);
private boolean compileReduce(int opCode, ASTLinkedList astBuild) { switch (arithmeticFunctionReduction(opCode)) { case -1: /** * The reduction failed because we encountered a non-literal, * so we must now back out and cleanup. */ stk.xswap_op(); astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx)); astBuild.addTokenNode( (OperatorNode) splitAccumulator.pop(), verify(pCtx, (ASTNode) splitAccumulator.pop()) ); return false; case -2: /** * Back out completely, pull everything back off the stack and add the instructions * to the output payload as they are. */ LiteralNode rightValue = new LiteralNode(stk.pop(), pCtx); OperatorNode operator = new OperatorNode((Integer) stk.pop(), expr, st, pCtx); astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx), operator); astBuild.addTokenNode(rightValue, (OperatorNode) splitAccumulator.pop()); astBuild.addTokenNode(verify(pCtx, (ASTNode) splitAccumulator.pop())); } return true; }
private boolean compileReduce(int opCode, ASTLinkedList astBuild) { switch (arithmeticFunctionReduction(opCode)) { case -1: /** * The reduction failed because we encountered a non-literal, * so we must now back out and cleanup. */ stk.xswap_op(); astBuild.addTokenNode(new LiteralNode(stk.pop())); astBuild.addTokenNode( (OperatorNode) splitAccumulator.pop(), verify(pCtx, (ASTNode) splitAccumulator.pop()) ); return false; case -2: /** * Back out completely, pull everything back off the stack and add the instructions * to the output payload as they are. */ LiteralNode rightValue = new LiteralNode(stk.pop()); OperatorNode operator = new OperatorNode((Integer) stk.pop()); astBuild.addTokenNode(new LiteralNode(stk.pop()), operator); astBuild.addTokenNode(rightValue, (OperatorNode) splitAccumulator.pop()); astBuild.addTokenNode(verify(pCtx, (ASTNode) splitAccumulator.pop())); } return true; }
astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx)); astBuild.addTokenNode( (OperatorNode) splitAccumulator.pop(), LiteralNode rightValue = new LiteralNode(stk.pop(), pCtx); OperatorNode operator = new OperatorNode((Integer) stk.pop(), expr, st, pCtx); astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx), operator); astBuild.addTokenNode(rightValue, (OperatorNode) splitAccumulator.pop()); astBuild.addTokenNode(verify(pCtx, (ASTNode) splitAccumulator.pop())); ASTNode tkLA2 = (ASTNode) stk.pop(); Integer tkOp2 = (Integer) stk.pop(); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx)); astBuild.addTokenNode(new OperatorNode(tkOp2, expr, st, pCtx), verify(pCtx, tkLA2)); return false;
if (!left.getEgressType().isAssignableFrom(right.getEgressType())) { if (right.isLiteral() && canConvert(right.getEgressType(), left.getEgressType())) { this.right = new LiteralNode(convert(right.getReducedValueAccelerated(null, null, null), left.getEgressType()));
return new LiteralNode(tk.getLiteralValue()); return new LiteralNode(returnType);
return new LiteralNode(tk.getLiteralValue(), pCtx); return new LiteralNode(returnType, pCtx);
return new LiteralNode(tk.getLiteralValue(), pCtx); return new LiteralNode(returnType, pCtx);
astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx), verify(pCtx, tkOp2)); break; astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx)); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx)); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx), tkOp2); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx));
astBuild.addTokenNode(new LiteralNode(stk.pop(), pCtx), verify(pCtx, tkOp2)); break; astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx)); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx)); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx), tkOp2); astBuild.addTokenNode(new LiteralNode(getStackValueResult(), pCtx));
if (right.isLiteral() && canConvert(left.getEgressType(), right.getEgressType())) { Class targetType = isAritmeticOperation(operation) ? egressType : left.getEgressType(); this.right = new LiteralNode(convert(right.getReducedValueAccelerated(null, null, null), targetType), pCtx); } else if ( !(areCompatible(left.getEgressType(), right.getEgressType()) || (( operation == Operator.EQUAL || operation == Operator.NEQUAL) &&
astBuild.addTokenNode(new LiteralNode(stk.pop()), verify(pCtx, tkOp2)); break; astBuild.addTokenNode(new LiteralNode(getStackValueResult())); astBuild.addTokenNode(new LiteralNode(getStackValueResult())); astBuild.addTokenNode(new LiteralNode(getStackValueResult()), tkOp2); astBuild.addTokenNode(new LiteralNode(getStackValueResult()));
this.right = new LiteralNode(convert(right.getReducedValueAccelerated(null, null, null), targetType), pCtx); } else if ( !(areCompatible(left.getEgressType(), right.getEgressType()) || (( operation == Operator.EQUAL || operation == Operator.NEQUAL) &&
new LiteralNode(signNumber(tk2.getLiteralValue()), pCtx) : tk2, rightNode, pCtx) .getReducedValueAccelerated(null, null, null); bo = new BinaryOperation(tkOp.getOperator(), tk, new LiteralNode(p_inv ? signNumber(val) : val, pCtx), pCtx); tk2 = new LiteralNode(val, pCtx);