Class CoreASTProvider
- java.lang.Object
-
- org.eclipse.jdt.core.manipulation.CoreASTProvider
-
public final class CoreASTProvider extends Object
TheCoreASTProvider
provides access to theAST root
used by the current active Java editor. TheCoreASTProvider
contains all methods/functionality that are not dependent on the UI, from org.eclipse.jdt.internal.ui.javaeditor.ASTProvider for the purpose of reuse by non-UI bundles.This class is not intended to be subclassed or instantiated by clients.
- Since:
- 1.10
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CoreASTProvider.WAIT_FLAG
Wait flag class.
-
Field Summary
Fields Modifier and Type Field Description static String
DEBUG_PREFIX
static CoreASTProvider.WAIT_FLAG
WAIT_ACTIVE_ONLY
Wait flag indicating that a client requesting an AST only wants to wait for the shared AST of the active editor.static CoreASTProvider.WAIT_FLAG
WAIT_NO
Wait flag indicating that a client requesting an AST only wants the already available shared AST.static CoreASTProvider.WAIT_FLAG
WAIT_YES
Wait flag indicating that a client requesting an AST wants to wait until an AST is ready.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
aboutToBeReconciled(ITypeRoot javaElement)
Informs that reconciling for the given element is about to be started.void
aboutToBeReconciled(ITypeRoot javaElement, Runnable finishReconciling)
Informs that reconciling for the given element is about to be started.void
cache(CompilationUnit ast, ITypeRoot javaElement)
Caches the given compilation unit AST for the given Java element.void
clearReconciliation()
Clear the reconciliation state.void
disposeAST()
Disposes the cached AST.ITypeRoot
getActiveJavaElement()
CompilationUnit
getAST(ITypeRoot input, CoreASTProvider.WAIT_FLAG waitFlag, IProgressMonitor progressMonitor)
Returns a shared compilation unit AST for the given Java element.CompilationUnit
getCachedAST()
static CoreASTProvider
getInstance()
ITypeRoot
getReconcilingJavaElement()
static String
getThreadName()
boolean
isReconciling()
void
reconciled(CompilationUnit ast, ITypeRoot javaElement, IProgressMonitor progressMonitor)
Update internal structures after reconcile.void
setActiveJavaElement(ITypeRoot activeJavaElement)
Set the active java element that is currently active.String
toString(ITypeRoot javaElement)
Returns a string for the given Java element used for debugging.void
waitLockNotifyAll()
Notify all waiting threads that the AST has changed.
-
-
-
Field Detail
-
DEBUG_PREFIX
public static final String DEBUG_PREFIX
- See Also:
- Constant Field Values
-
WAIT_YES
public static final CoreASTProvider.WAIT_FLAG 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
public static final CoreASTProvider.WAIT_FLAG 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
public static final CoreASTProvider.WAIT_FLAG 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.
-
-
Method Detail
-
getAST
public CompilationUnit getAST(ITypeRoot input, CoreASTProvider.WAIT_FLAG waitFlag, IProgressMonitor progressMonitor)
Returns a shared compilation unit AST for the given Java element.Clients are not allowed to modify the AST and must synchronize all access to its nodes.
- Parameters:
input
- the Java element, must not benull
waitFlag
- org.eclipse.jdt.ui.SharedASTProvider#WAIT_YES, org.eclipse.jdt.ui.SharedASTProvider#WAIT_NO or org.eclipse.jdt.ui.SharedASTProvider#WAIT_ACTIVE_ONLYprogressMonitor
- the progress monitor ornull
- Returns:
- the AST or
null
if the AST is not available
-
aboutToBeReconciled
public void aboutToBeReconciled(ITypeRoot javaElement)
Informs that reconciling for the given element is about to be started.- Parameters:
javaElement
- the Java element See org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#aboutToBeReconciled()
-
aboutToBeReconciled
public void aboutToBeReconciled(ITypeRoot javaElement, Runnable finishReconciling)
Informs that reconciling for the given element is about to be started.- Parameters:
javaElement
- the Java elementfinishReconciling
- Runnable to be run. see org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#aboutToBeReconciled(JavaReconciler)- Since:
- 1.16
-
reconciled
public void reconciled(CompilationUnit ast, ITypeRoot javaElement, IProgressMonitor progressMonitor)
Update internal structures after reconcile.- Parameters:
ast
- the compilation unit AST ornull
if the working copy was consistent or reconciliation has been cancelledjavaElement
- the Java element for which the AST was builtprogressMonitor
- the progress monitor See org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#reconciled(CompilationUnit, boolean, IProgressMonitor)
-
cache
public void cache(CompilationUnit ast, ITypeRoot javaElement)
Caches the given compilation unit AST for the given Java element.- Parameters:
ast
- the astjavaElement
- the java element
-
disposeAST
public void disposeAST()
Disposes the cached AST.
-
toString
public String toString(ITypeRoot javaElement)
Returns a string for the given Java element used for debugging.- Parameters:
javaElement
- the compilation unit AST- Returns:
- a string used for debugging
-
getThreadName
public static String getThreadName()
- Returns:
- The name of the current thread if not null. Otherwise this returns the string representation of the current thread.
-
getInstance
public static CoreASTProvider getInstance()
- Returns:
- The singleton instance of this class.
-
isReconciling
public boolean isReconciling()
- Returns:
- Whether the current java element is being reconciled.
-
getReconcilingJavaElement
public ITypeRoot getReconcilingJavaElement()
- Returns:
- The java element currently being reconciled.
-
getActiveJavaElement
public ITypeRoot getActiveJavaElement()
- Returns:
- The active java element.
-
setActiveJavaElement
public void setActiveJavaElement(ITypeRoot activeJavaElement)
Set the active java element that is currently active.- Parameters:
activeJavaElement
- the java element.
-
getCachedAST
public CompilationUnit getCachedAST()
- Returns:
- The compilation unit's cached AST.
-
waitLockNotifyAll
public void waitLockNotifyAll()
Notify all waiting threads that the AST has changed.
-
clearReconciliation
public void clearReconciliation()
Clear the reconciliation state.
-
-