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
Static Methods
-
and(
SemanticContext? a, SemanticContext? b) → SemanticContext? -
filterNonPrecedencePredicates(
Iterable< SemanticContext> collection) → Iterable<SemanticContext> -
filterPrecedencePredicates(
Iterable< SemanticContext> collection) → Iterable<PrecedencePredicate> -
or(
SemanticContext? a, SemanticContext? b) → SemanticContext? - @see ParserATNSimulator#getPredsForAmbigAlts