Interface TypeOrLambda
- All Known Implementing Classes:
AspectDeclaration,CodeSnippetTypeDeclaration,CompletionOnAnnotationOfType,ImplicitTypeDeclaration,IntertypeMemberClassDeclaration,LambdaExpression,SelectionOnLambdaExpression,TypeDeclaration
public interface TypeOrLambda
Common properties of type declarations and lambda expressions.
In terms of access to enclosing instances both type declarations and lambda expressions are barriers which need to be bridged with synthetic arguments (and fields in the case of types).
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidaddSyntheticArgumentsBeyondEarlyConstructionContext(boolean earlySeen, Scope outerScope) If the current type or lambda is within some early construction context, then next enclosing instance may need to be managed via a synthetic argument (and field in the case of types).voidensureSyntheticOuterAccess(SourceTypeBinding targetEnclosing)
-
Method Details
-
addSyntheticArgumentsBeyondEarlyConstructionContext
default void addSyntheticArgumentsBeyondEarlyConstructionContext(boolean earlySeen, Scope outerScope) If the current type or lambda is within some early construction context, then next enclosing instance may need to be managed via a synthetic argument (and field in the case of types).- Parameters:
earlySeen- are we already looking from an early construction context?outerScope- where to search for enclosing types to be managed
-
ensureSyntheticOuterAccess
-