SemanticContext class abstract

A tree structure used to record the semantic context in which an ATN configuration is valid. It's either a single predicate, a conjunction {@code p1&&p2}, or a sum of products {@code p1||p2}.

I have scoped the [AND], [OR], and [Predicate] subclasses of [SemanticContext] within the scope of this outer class.

Implementers

Constructors

SemanticContext()
const

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

eval(Recognizer<ATNSimulator> parser, RuleContext? parserCallStack) bool
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.
evalPrecedence(Recognizer<ATNSimulator> parser, RuleContext? parserCallStack) SemanticContext?
Evaluate the precedence predicates for the context and reduce the result.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited