public interface FlowScope extends StaticTypedScope<JSType>, LatticeElement
| Modifier and Type | Method and Description |
|---|---|
FlowScope |
createChildFlowScope()
Creates a child of this flow scope, to represent an instruction
directly following this one.
|
StaticTypedSlot<JSType> |
findUniqueRefinedSlot(FlowScope blindScope)
Tries to find a unique refined variable in the refined scope, up to the
the blind scope.
|
StaticTypedScope<JSType> |
getDeclarationScope()
Returns the underlying TypedScope.
|
void |
inferQualifiedSlot(Node node,
java.lang.String symbol,
JSType bottomType,
JSType inferredType,
boolean declare)
Infer the type of a qualified name.
|
void |
inferSlotType(java.lang.String symbol,
JSType type)
Defines the type of a symbol at this point in the flow.
|
FlowScope |
optimize()
Optimize this scope and return a new FlowScope with faster lookup.
|
getOwnSlot, getParentScope, getSlot, getTypeOfThisgetRootNodeFlowScope createChildFlowScope()
void inferSlotType(java.lang.String symbol,
JSType type)
java.lang.IllegalArgumentException - If no slot for this symbol exists.void inferQualifiedSlot(Node node, java.lang.String symbol, JSType bottomType, JSType inferredType, boolean declare)
FlowScope optimize()
StaticTypedSlot<JSType> findUniqueRefinedSlot(FlowScope blindScope)
blindScope - The scope before the refinement, i.e. some parent of the
this scope or itself.StaticTypedScope<JSType> getDeclarationScope()
Copyright © 2009-2018 Google. All Rights Reserved.