com.google.javascript.jscomp.type
Class ClosureReverseAbstractInterpreter

java.lang.Object
  extended by com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
      extended by 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 as goog.isDef.


Field Summary
 
Fields inherited from class com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
convention
 
Constructor Summary
ClosureReverseAbstractInterpreter(CodingConvention convention, JSTypeRegistry typeRegistry)
          Creates a ClosureReverseAbstractInterpreter.
 
Method Summary
 FlowScope getPreciserScopeKnowingConditionOutcome(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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClosureReverseAbstractInterpreter

public ClosureReverseAbstractInterpreter(CodingConvention convention,
                                         JSTypeRegistry typeRegistry)
Creates a ClosureReverseAbstractInterpreter.

Method Detail

getPreciserScopeKnowingConditionOutcome

public FlowScope getPreciserScopeKnowingConditionOutcome(Node condition,
                                                         FlowScope blindScope,
                                                         boolean outcome)
Description copied from interface: ReverseAbstractInterpreter
Calculates a precise version of the scope knowing the outcome of the condition.

Parameters:
condition - the condition's expression
blindScope - the scope without knowledge about the outcome of the condition
outcome - the outcome of the condition