eval
public boolean eval(Recognizer<?,?> parser,
RuleContext outerContext)
For context independent predicates, we evaluate them without a local
context (i.e., null context). That way, we can evaluate them without having to create
proper rule-specific context during prediction (as opposed to the parser,
which creates them naturally). In a practical sense, this avoids a cast exception
from RuleContext to myruleContext.
For context dependent predicates, we must pass in a local context so that
references such as $arg evaluate properly as _localctx.arg. We only capture
context dependent predicates in the context in which we begin prediction,
so we passed in the outer context here in case of context dependent predicate
evaluation.
- Specified by:
eval
in class SemanticContext