public class SourceUtils extends Object
| Modifier and Type | Method and Description |
|---|---|
static boolean |
checkTypesAssignable(CompilationInfo info,
TypeMirror from,
TypeMirror to) |
static Set<TreePath> |
computeDuplicates(CompilationInfo info,
TreePath searchingFor,
TreePath scope,
AtomicBoolean cancel)
Find duplicates for provided expression
|
static List<? extends Completion> |
getAttributeValueCompletions(CompilationInfo info,
Element element,
AnnotationMirror annotation,
ExecutableElement member,
String userText)
Returns a list of completions for an annotation attribute value suggested by
annotation processors.
|
static TypeMirror |
getBound(WildcardType wildcardType) |
static Set<URL> |
getDependentRoots(URL root)
Returns the dependent source path roots for given source root.
|
static Set<URL> |
getDependentRoots(URL root,
boolean filterNonOpenedProjects)
Returns the dependent source path roots for given source root.
|
static TypeElement |
getEnclosingTypeElement(Element element)
|
static FileObject |
getFile(Element element,
ClasspathInfo cpInfo)
Deprecated.
|
static FileObject |
getFile(ElementHandle<? extends Element> handle,
ClasspathInfo cpInfo)
Returns a
FileObject of the source file in which the handle is declared. |
static URL |
getJavadoc(Element element,
ClasspathInfo cpInfo)
Finds
URL of a javadoc page for given element when available. |
static TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> |
getJavaTokenSequence(TokenHierarchy hierarchy,
int offset) |
static String[] |
getJVMSignature(ElementHandle<?> handle)
Returns an array containing the JVM signature of the
ElementHandle. |
static Collection<ElementHandle<TypeElement>> |
getMainClasses(FileObject fo)
Returns classes declared in the given source file which have the main method.
|
static Collection<ElementHandle<TypeElement>> |
getMainClasses(FileObject[] sourceRoots)
Returns classes declared under the given source roots which have the main method.
|
static TypeElement |
getOutermostEnclosingTypeElement(Element element) |
static boolean |
isMainClass(String qualifiedName,
ClasspathInfo cpInfo)
Returns true when the class contains main method.
|
static boolean |
isMainClass(String qualifiedName,
ClasspathInfo cpInfo,
boolean optimistic)
Returns true when the class contains main method.
|
static boolean |
isMainMethod(ExecutableElement method)
Returns true if the method is a main method
|
static boolean |
isScanInProgress()
Tests whether the initial scan is in progress.
|
static WildcardType |
resolveCapturedType(TypeMirror type) |
static String |
resolveImport(CompilationInfo info,
TreePath context,
String fqn)
Resolve full qualified name in the given context.
|
static void |
waitScanFinished()
|
public static TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> getJavaTokenSequence(TokenHierarchy hierarchy, int offset)
public static Set<TreePath> computeDuplicates(CompilationInfo info, TreePath searchingFor, TreePath scope, AtomicBoolean cancel)
info - CompilationInfosearchingFor - expression which is being searchedscope - scope for searchcancel - option to cancel find duplicatespublic static boolean checkTypesAssignable(CompilationInfo info, TypeMirror from, TypeMirror to)
public static TypeMirror getBound(WildcardType wildcardType)
public static List<? extends Completion> getAttributeValueCompletions(CompilationInfo info, Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
info - the CompilationInfo used to resolve annotation processorselement - the element being annotatedannotation - the (perhaps partial) annotation being applied to the elementmember - the annotation member to return possible completions foruserText - source code text to be completed@Deprecated public static TypeElement getEnclosingTypeElement(Element element) throws IllegalArgumentException
IllegalArgumentException - if the provided element is a package elementpublic static TypeElement getOutermostEnclosingTypeElement(Element element)
@NonNull public static String[] getJVMSignature(@NonNull ElementHandle<?> handle)
ElementHandle.handle - to obtain the JVM signature for.ElementHandle's ElementKind. For class or package
it returns a single element array containing the class (package) binary
name (JLS section 13.1). For field (method) it returns three element array
containing owner class binary name (JLS section 13.1) in the first element,
field (method) name in the second element and JVM type (JVM method formal
parameters (JVMS section 2.10.1)) in the third element.public static String resolveImport(CompilationInfo info, TreePath context, String fqn) throws NullPointerException, IOException
info passed to this method is not an instance of WorkingCopy,
missing import statement is added from a separate modification task executed asynchronously.
info - CompilationInfo over which the method should workcontext - in which the fully qualified should be resolvedfqn - the fully qualified name to resolveNullPointerExceptionIOExceptionpublic static FileObject getFile(Element element, ClasspathInfo cpInfo)
getFile(ElementHandle, ClasspathInfo)FileObject in which the Element is defined.element - for which the FileObject should be locatedcpInfo - the classpaths contextFileObject or null if it cannot be
foundpublic static FileObject getFile(ElementHandle<? extends Element> handle, ClasspathInfo cpInfo)
FileObject of the source file in which the handle is declared.handle - to find the FileObject forcpInfo - classpaths for resolving handleFileObject or null when the source file cannot be foundpublic static URL getJavadoc(Element element, ClasspathInfo cpInfo)
URL of a javadoc page for given element when available. This method
uses JavadocForBinaryQuery to find the javadoc page for the give element.
For PackageElement it returns the package-summary.html for given package.element - to find the Javadoc forcpInfo - classpaths used to resolve (currently unused)public static boolean isScanInProgress()
public static void waitScanFinished()
throws InterruptedException
JavaSource.runWhenScanFinished(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>, boolean)InterruptedException - is thrown when the waiting thread is interrupted.@NonNull public static Set<URL> getDependentRoots(@NonNull URL root)
@NonNull public static Set<URL> getDependentRoots(@NonNull URL root, boolean filterNonOpenedProjects)
public static Collection<ElementHandle<TypeElement>> getMainClasses(@NonNull FileObject fo)
fo - source fileIllegalArgumentException - when file does not exist or is not a java source file.public static boolean isMainClass(String qualifiedName, ClasspathInfo cpInfo)
qualifiedName - the fully qualified name of classcpInfo - the classpath used to resolve the classpublic static boolean isMainClass(String qualifiedName, ClasspathInfo cpInfo, boolean optimistic)
qualifiedName - the fully qualified name of classcpInfo - the classpath used to resolve the classoptimistic - when true does only index check without parsing the file.
The optimistic check is faster but it works only for source file not for binaries
for which index does not exist. It also does not handle inheritance of the main method.public static boolean isMainMethod(ExecutableElement method)
method - to be checkedpublic static Collection<ElementHandle<TypeElement>> getMainClasses(FileObject[] sourceRoots)
sourceRoots - the source rootspublic static WildcardType resolveCapturedType(TypeMirror type)
Built on May 24 2013. | Portions Copyright 1997-2013 Oracle. All rights reserved.