public boolean isMethodInvocation() { return getChild(0).isMethodInvocation(); }
/** * dynmamic := <START_EVAL_DYNAMIC> expr <END_EVAL> * deferred := <START_EVAL_DEFERRED> expr <END_EVAL> */ protected AstEval eval(boolean required, boolean deferred) throws ScanException, ParseException { AstEval v = null; Symbol start_eval = deferred ? START_EVAL_DEFERRED : START_EVAL_DYNAMIC; if (token.getSymbol() == start_eval) { consumeToken(); v = new AstEval(expr(true), deferred); consumeToken(END_EVAL); } else if (required) { fail(start_eval); } return v; }
return new Tree(e, functions, identifiers, e.isDeferred()); if (e.isDeferred()) { list.add(eval(true, true)); } else { return new Tree(createAstComposite(list), functions, identifiers, e.isDeferred());
/** * dynmamic := <START_EVAL_DYNAMIC> expr <END_EVAL> * deferred := <START_EVAL_DEFERRED> expr <END_EVAL> */ protected AstEval eval(boolean required, boolean deferred) throws ScanException, ParseException { AstEval v = null; Symbol start_eval = deferred ? START_EVAL_DEFERRED : START_EVAL_DYNAMIC; if (token.getSymbol() == start_eval) { consumeToken(); v = new AstEval(expr(true), deferred); consumeToken(END_EVAL); } else if (required) { fail(start_eval); } return v; }
return new Tree(e, functions, identifiers, e.isDeferred()); if (e.isDeferred()) { list.add(eval(true, true)); } else { return new Tree(createAstComposite(list), functions, identifiers, e.isDeferred());
@Override protected AstEval eval(boolean required, boolean deferred) throws ScanException, ParseException { AstEval v = null; Symbol start_eval = deferred ? START_EVAL_DEFERRED : START_EVAL_DYNAMIC; if (this.getToken().getSymbol() == start_eval) { consumeToken(); AstNode node = expr(true); try { consumeToken(END_EVAL); } catch (ParseException e) { if (this.getToken().getSymbol() == FLOAT && node instanceof AstIdentifier) { // Handle ${someMap.${someId}} String mapKey = this.getToken().getImage().replace(".", ""); node = createAstDot(node, mapKey, true); consumeToken(); consumeToken(END_EVAL); } else { throw e; } } v = new AstEval(node, deferred); } else if (required) { fail(start_eval); } return v; } @Override
public boolean isLeftValue() { return getChild(0).isLeftValue(); }
public boolean isMethodInvocation() { return getChild(0).isMethodInvocation(); }
public boolean isLeftValue() { return getChild(0).isLeftValue(); }