Class SharedASTProviderCore
SharedASTProviderCore
provides access to the AST root
used by
the current active Java editor.
For performance reasons, not more than one AST should be kept in memory at a time. Therefore, clients must not keep any references to the shared AST or its nodes or bindings.
Clients can make the following assumptions about the AST:
- the AST has a
ITypeRoot
as source:CompilationUnit.getTypeRoot()
is not null. - the
AST API level
isAPI level 17
or higher - the AST has bindings resolved (
AST.hasResolvedBindings()
) statement
andbindings
recovery are enabled
It is possible that in the future a higher API level is used, or that future options will be enabled.
The returned AST is shared. It is marked as ASTNode.PROTECT
and must not be modified. Clients are advised to use
the non-modifying ASTRewrite
to get update scripts.
This class is not intended to be subclassed or instantiated by clients.
- Since:
- 1.11
- Restriction:
- This class is not intended to be instantiated by clients.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Wait flag class. -
Field Summary
Modifier and TypeFieldDescriptionstatic final SharedASTProviderCore.WAIT_FLAG
Wait flag indicating that a client requesting an AST only wants to wait for the shared AST of the active editor.static final SharedASTProviderCore.WAIT_FLAG
Wait flag indicating that a client requesting an AST only wants the already available shared AST.static final SharedASTProviderCore.WAIT_FLAG
Wait flag indicating that a client requesting an AST wants to wait until an AST is ready. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic CompilationUnit
getAST
(ITypeRoot element, SharedASTProviderCore.WAIT_FLAG waitFlag, org.eclipse.core.runtime.IProgressMonitor progressMonitor) Returns a compilation unit AST for the given Java element.
-
Field Details
-
WAIT_YES
Wait flag indicating that a client requesting an AST wants to wait until an AST is ready.An AST will be created by this AST provider if the shared AST is not for the given Java element.
-
WAIT_ACTIVE_ONLY
Wait flag indicating that a client requesting an AST only wants to wait for the shared AST of the active editor.No AST will be created by the AST provider.
-
WAIT_NO
Wait flag indicating that a client requesting an AST only wants the already available shared AST.No AST will be created by the AST provider.
-
-
Constructor Details
-
SharedASTProviderCore
protected SharedASTProviderCore()
-
-
Method Details