Package org.antlr.analysis
Class SemanticContext.CommutativePredicate
- java.lang.Object
-
- org.antlr.analysis.SemanticContext
-
- org.antlr.analysis.SemanticContext.CommutativePredicate
-
- Direct Known Subclasses:
SemanticContext.AND,SemanticContext.OR
- Enclosing class:
- SemanticContext
public abstract static class SemanticContext.CommutativePredicate extends SemanticContext
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.antlr.analysis.SemanticContext
SemanticContext.AND, SemanticContext.CommutativePredicate, SemanticContext.FalsePredicate, SemanticContext.NOT, SemanticContext.OR, SemanticContext.Predicate, SemanticContext.TruePredicate
-
-
Field Summary
Fields Modifier and Type Field Description protected inthashcodeprotected java.util.Set<SemanticContext>operands-
Fields inherited from class org.antlr.analysis.SemanticContext
EMPTY_SEMANTIC_CONTEXT
-
-
Constructor Summary
Constructors Constructor Description CommutativePredicate(java.util.HashSet<SemanticContext> contexts)CommutativePredicate(SemanticContext a, SemanticContext b)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract intcalculateHashCode()abstract SemanticContextcombinePredicates(SemanticContext left, SemanticContext right)booleanequals(java.lang.Object obj)SemanticContextgetGatedPredicateContext()Given a semantic context expression tree, return a tree with all nongated predicates set to true and then reduced.abstract java.lang.StringgetOperandString()inthashCode()booleanhasUserSemanticPredicate()booleanisSyntacticPredicate()java.lang.StringtoString()voidtrackUseOfSyntacticPredicates(Grammar g)Notify the indicated grammar of any syn preds used within this context-
Methods inherited from class org.antlr.analysis.SemanticContext
and, factorAnd, factorOr, genExpr, getAndOperands, getOrOperands, not, or
-
-
-
-
Field Detail
-
operands
protected final java.util.Set<SemanticContext> operands
-
hashcode
protected int hashcode
-
-
Constructor Detail
-
CommutativePredicate
public CommutativePredicate(SemanticContext a, SemanticContext b)
-
CommutativePredicate
public CommutativePredicate(java.util.HashSet<SemanticContext> contexts)
-
-
Method Detail
-
getGatedPredicateContext
public SemanticContext getGatedPredicateContext()
Description copied from class:SemanticContextGiven a semantic context expression tree, return a tree with all nongated predicates set to true and then reduced. So p&&(q||r) would return p&&r if q is nongated but p and r are gated.- Specified by:
getGatedPredicateContextin classSemanticContext
-
hasUserSemanticPredicate
public boolean hasUserSemanticPredicate()
- Specified by:
hasUserSemanticPredicatein classSemanticContext
-
isSyntacticPredicate
public boolean isSyntacticPredicate()
- Specified by:
isSyntacticPredicatein classSemanticContext
-
trackUseOfSyntacticPredicates
public void trackUseOfSyntacticPredicates(Grammar g)
Description copied from class:SemanticContextNotify the indicated grammar of any syn preds used within this context- Overrides:
trackUseOfSyntacticPredicatesin classSemanticContext
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getOperandString
public abstract java.lang.String getOperandString()
-
combinePredicates
public abstract SemanticContext combinePredicates(SemanticContext left, SemanticContext right)
-
calculateHashCode
public abstract int calculateHashCode()
-
-