|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope
public class BlockScope
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope |
|---|
Scope.Substitutor |
| Field Summary | |
|---|---|
static VariableBinding[] |
EmulationPathToImplicitThis
|
CaseStatement |
enclosingCase
|
FlowInfo |
finallyInfo
Used only during analyseCode and only for checking if a resource was closed in a finallyBlock. |
boolean |
insideTypeAnnotation
|
int |
localIndex
|
LocalVariableBinding[] |
locals
|
int |
maxOffset
|
static VariableBinding[] |
NoEnclosingInstanceInConstructorCall
|
static VariableBinding[] |
NoEnclosingInstanceInStaticContext
|
int |
offset
|
BlockScope[] |
shiftScopes
|
int |
startIndex
|
int |
subscopeCount
|
Scope[] |
subscopes
|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope |
|---|
APPLICABILITY, AUTOBOX_COMPATIBLE, BLOCK_SCOPE, CLASS_SCOPE, COMPATIBLE, COMPILATION_UNIT_SCOPE, EQUAL_OR_MORE_SPECIFIC, FULL_INFERENCE, INVOCATION_TYPE, kind, METHOD_SCOPE, MORE_GENERIC, NOT_COMPATIBLE, NOT_RELATED, parent, VARARGS_COMPATIBLE |
| Constructor Summary | |
|---|---|
|
BlockScope(BlockScope parent)
|
|
BlockScope(BlockScope parent,
boolean addToParentScope)
|
|
BlockScope(BlockScope parent,
int variableCount)
|
protected |
BlockScope(int kind,
Scope parent)
|
| Method Summary | |
|---|---|
void |
addAnonymousType(TypeDeclaration anonymousType,
ReferenceBinding superBinding)
|
void |
addLocalType(TypeDeclaration localType)
|
void |
addLocalVariable(LocalVariableBinding binding)
|
void |
addSubscope(Scope childScope)
|
boolean |
allowBlankFinalFieldAssignment(FieldBinding binding)
Answer true if the receiver is suitable for assigning final blank fields. |
void |
checkAppropriateMethodAgainstSupers(char[] selector,
MethodBinding compileTimeMethod,
TypeBinding[] parameters,
InvocationSite site)
15.12.3 (Java 8) "Compile-Time Step 3: Is the Chosen Method Appropriate?" |
void |
checkUnclosedCloseables(FlowInfo flowInfo,
FlowContext flowContext,
ASTNode location,
BlockScope locationScope)
At the end of a block check the closing-status of all tracked closeables that are declared in this block. |
void |
correlateTrackingVarsIfElse(FlowInfo thenFlowInfo,
FlowInfo elseFlowInfo)
If one branch of an if-else closes any AutoCloseable resource, and if the same resource is known to be null on the other branch mark it as closed, too, so that merging both branches indicates that the resource is always closed. |
void |
emulateOuterAccess(LocalVariableBinding outerLocalVariable)
|
ReferenceBinding |
findLocalType(char[] name)
|
LocalDeclaration[] |
findLocalVariableDeclarations(int position)
Returns all declarations of most specific locals containing a given position in their source range. |
LocalVariableBinding |
findVariable(char[] variableName)
|
Binding |
getBinding(char[][] compoundName,
int mask,
InvocationSite invocationSite,
boolean needResolve)
|
Binding |
getBinding(char[][] compoundName,
InvocationSite invocationSite)
|
VariableBinding[] |
getEmulationPath(LocalVariableBinding outerLocalVariable)
|
java.lang.Object[] |
getEmulationPath(ReferenceBinding targetEnclosingType,
boolean onlyExactMatch,
boolean denyEnclosingArgInConstructorCall)
|
boolean |
hasDefaultNullnessFor(int location)
Answer a defaultNullness defined for the closest enclosing scope, using bits from Binding.NullnessDefaultMASK. |
boolean |
isDuplicateLocalVariable(char[] name)
|
int |
maxShiftedOffset()
|
boolean |
needBlankFinalFieldInitializationCheck(FieldBinding binding)
Returns true if the context requires to check initialization of final blank fields. |
ProblemReporter |
problemReporter()
|
void |
propagateInnerEmulation(ReferenceBinding targetType,
boolean isEnclosingInstanceSupplied)
|
void |
pruneWrapperTrackingVar(FakedTrackingVariable trackingVariable)
Unregister a wrapper resource without affecting its inner. |
TypeDeclaration |
referenceType()
|
int |
registerTrackingVariable(FakedTrackingVariable fakedTrackingVariable)
Register a tracking variable and compute its id. |
void |
removeTrackingVar(FakedTrackingVariable trackingVariable)
When are no longer interested in this tracking variable - remove it. |
int |
scopeIndex()
|
java.lang.String |
toString()
|
java.lang.String |
toString(int tab)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public LocalVariableBinding[] locals
public int localIndex
public int startIndex
public int offset
public int maxOffset
public BlockScope[] shiftScopes
public Scope[] subscopes
public int subscopeCount
public CaseStatement enclosingCase
public static final VariableBinding[] EmulationPathToImplicitThis
public static final VariableBinding[] NoEnclosingInstanceInConstructorCall
public static final VariableBinding[] NoEnclosingInstanceInStaticContext
public boolean insideTypeAnnotation
public FlowInfo finallyInfo
| Constructor Detail |
|---|
public BlockScope(BlockScope parent)
public BlockScope(BlockScope parent,
boolean addToParentScope)
public BlockScope(BlockScope parent,
int variableCount)
protected BlockScope(int kind,
Scope parent)
| Method Detail |
|---|
public final void addAnonymousType(TypeDeclaration anonymousType,
ReferenceBinding superBinding)
public final void addLocalType(TypeDeclaration localType)
public final void addLocalVariable(LocalVariableBinding binding)
public void addSubscope(Scope childScope)
public final boolean allowBlankFinalFieldAssignment(FieldBinding binding)
public void emulateOuterAccess(LocalVariableBinding outerLocalVariable)
public final ReferenceBinding findLocalType(char[] name)
public LocalDeclaration[] findLocalVariableDeclarations(int position)
public LocalVariableBinding findVariable(char[] variableName)
findVariable in class Scope
public Binding getBinding(char[][] compoundName,
int mask,
InvocationSite invocationSite,
boolean needResolve)
public final Binding getBinding(char[][] compoundName,
InvocationSite invocationSite)
public VariableBinding[] getEmulationPath(LocalVariableBinding outerLocalVariable)
public java.lang.Object[] getEmulationPath(ReferenceBinding targetEnclosingType,
boolean onlyExactMatch,
boolean denyEnclosingArgInConstructorCall)
public final boolean isDuplicateLocalVariable(char[] name)
public int maxShiftedOffset()
public final boolean needBlankFinalFieldInitializationCheck(FieldBinding binding)
public ProblemReporter problemReporter()
problemReporter in class Scope
public void propagateInnerEmulation(ReferenceBinding targetType,
boolean isEnclosingInstanceSupplied)
public TypeDeclaration referenceType()
public int scopeIndex()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toString(int tab)
public int registerTrackingVariable(FakedTrackingVariable fakedTrackingVariable)
public void removeTrackingVar(FakedTrackingVariable trackingVariable)
public void pruneWrapperTrackingVar(FakedTrackingVariable trackingVariable)
public void checkUnclosedCloseables(FlowInfo flowInfo,
FlowContext flowContext,
ASTNode location,
BlockScope locationScope)
public void correlateTrackingVarsIfElse(FlowInfo thenFlowInfo,
FlowInfo elseFlowInfo)
public void checkAppropriateMethodAgainstSupers(char[] selector,
MethodBinding compileTimeMethod,
TypeBinding[] parameters,
InvocationSite site)
public boolean hasDefaultNullnessFor(int location)
Scope
hasDefaultNullnessFor in class Scope
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||