Class ClosureReverseAbstractInterpreter
- java.lang.Object
-
- com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
-
- com.google.javascript.jscomp.type.ClosureReverseAbstractInterpreter
-
- All Implemented Interfaces:
ReverseAbstractInterpreter
public class ClosureReverseAbstractInterpreter extends ChainableReverseAbstractInterpreter
A reverse abstract interpreter (RAI) for specific closure patterns such asgoog.isDef.
-
-
Field Summary
-
Fields inherited from class com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
convention
-
-
Constructor Summary
Constructors Constructor Description ClosureReverseAbstractInterpreter(CodingConvention convention, JSTypeRegistry typeRegistry)Creates aClosureReverseAbstractInterpreter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FlowScopegetPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome)Calculates a precise version of the scope knowing the outcome of the condition.-
Methods inherited from class com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
append, declareNameInScope, firstPreciserScopeKnowingConditionOutcome, getFirst, getRestrictedWithoutNull, getRestrictedWithoutUndefined, getTypeIfRefinable, nextPreciserScopeKnowingConditionOutcome
-
-
-
-
Constructor Detail
-
ClosureReverseAbstractInterpreter
public ClosureReverseAbstractInterpreter(CodingConvention convention, JSTypeRegistry typeRegistry)
Creates aClosureReverseAbstractInterpreter.
-
-
Method Detail
-
getPreciserScopeKnowingConditionOutcome
public FlowScope getPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome)
Description copied from interface:ReverseAbstractInterpreterCalculates a precise version of the scope knowing the outcome of the condition.- Parameters:
condition- the condition's expressionblindScope- the scope without knowledge about the outcome of the conditionoutcome- the outcome of the condition
-
-