public class JSweetContext
extends com.sun.tools.javac.util.Context
| Modifier and Type | Field and Description |
|---|---|
protected Set<String> |
baseThrowables |
boolean |
bundleMode
A flag that indicates if we are building a bundle.
|
Set<com.sun.tools.javac.code.Symbol.ClassSymbol> |
classesWithWrongConstructorOverload
Contains the classes that have a wrong constructor overload.
|
com.sun.tools.javac.tree.JCTree.JCCompilationUnit[] |
compilationUnits
The compilation units that correspond to the source files.
|
boolean |
deprecatedApply
A flag that indicates if the transpiler should transform old-fashionned apply
method to lambda or use the new convention ($apply)
|
Map<Element,String> |
docComments |
List<File> |
entryFiles
Source files containing a main method.
|
Set<String> |
globalImports
Globally imported name (in the global namespace).
|
boolean |
ignoreWildcardBounds
Tells JSweet to ignore wildcard bounds.
|
Set<String> |
importedTopPackages
Imported top packages (used to avoid clashes with local variables when bundle
is on).
|
protected Map<String,String> |
langTypesMapping |
protected Set<String> |
langTypesSimpleNames |
Set<com.sun.tools.javac.code.Symbol.VarSymbol> |
lazyInitializedStatics
Holds all the static fields that are lazy intitialized.
|
protected static org.apache.log4j.Logger |
logger |
Types |
modelTypes |
com.sun.tools.javac.util.Names |
names
The Java compiler names for fast access.
|
JSweetOptions |
options
JSweet transpilation options.
|
DirectedGraph<com.sun.tools.javac.code.Symbol.PackageSymbol> |
packageDependencies
A graph containing the module dependencies when using modules (empty
otherwise).
|
boolean |
reportedMultipleRootPackages
A flag to keep track of wether a multiple root packages problem was already
reported (shall report only once).
|
HashSet<com.sun.tools.javac.code.Symbol.PackageSymbol> |
rootPackages
Store root packages (i.e.
|
SourceFile[] |
sourceFiles
The source files that are being transpiled.
|
boolean |
strictMode
A flag that indicates if the transpilation is in "strict" mode, which means
that the
jsweet-core-strict jar is in the classpath. |
com.sun.tools.javac.code.Symtab |
symtab
The Java compiler symbol table for fast access.
|
Set<String> |
topLevelPackageNames
Stores the root package names (i.e.
|
com.sun.tools.javac.code.Types |
types
The Java compiler types for fast access.
|
boolean |
useModules
A flag to tell if the transpiler is in module mode or not.
|
boolean |
useRequireForModules
A flag to tell if the transpiler should transpiler modules to old fashioned
require instructions rather than the ES2015 flavored syntax.
|
| Constructor and Description |
|---|
JSweetContext(JSweetOptions options)
Creates a new JSweet transpilation context.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAnnotation(Class<? extends Annotation> annotationType,
String... filters)
Adds an annotation on the AST through global filters.
|
void |
addAnnotation(String annotationDescriptor,
String... filters)
Adds an annotation on the AST through global filters.
|
void |
addAnnotationManager(AnnotationManager annotationManager)
Adds an annotation manager that will tune (add or remove) annotations on the
AST.
|
void |
addAnnotationWithValue(Class<? extends Annotation> annotationType,
Object value,
String... filters)
Adds an annotation on the AST through global filters.
|
void |
addClassNameMapping(com.sun.tools.javac.code.Symbol.ClassSymbol clazz,
String name)
Adds a name mapping to a class (rename it to avoid name clashes).
|
void |
addDefaultMethod(com.sun.tools.javac.tree.JCTree.JCCompilationUnit compilationUnit,
com.sun.tools.javac.tree.JCTree.JCClassDecl type,
com.sun.tools.javac.tree.JCTree.JCMethodDecl defaultMethod)
Stores a default method AST for the given type.
|
void |
addExportedElement(String moduleName,
com.sun.tools.javac.code.Symbol exportedElement,
com.sun.tools.javac.tree.JCTree.JCCompilationUnit compilationUnit)
Adds an exported element for a module.
|
void |
addFieldNameMapping(com.sun.tools.javac.code.Symbol.VarSymbol field,
String name)
Adds a name mapping to a field (rename it to avoid name clashes).
|
void |
addFooterStatement(String footerStatement)
Adds a footer statement.
|
void |
addGlobalsMapping(String from,
String to)
Adds a globals mapping.
|
void |
addHeader(String key,
String header)
Sets a header (associated to a key).
|
void |
addJdkSubclass(String subclassName,
TypeMirror extendedJdkClass)
Maps the name of a class to the JDK type it extends.
|
void |
addTopFooterStatement(String footerStatement)
Adds a footer statement at the first position.
|
void |
addTypeMapping(BiFunction<ExtendedElement,String,Object> mappingFunction)
Adds a functional type mapping.
|
void |
addTypeMapping(String sourceTypeName,
String targetTypeName)
Adds a type mapping in the context.
|
void |
addTypeMappings(Map<String,String> nameMappings)
Adds a set of name-based type mappings.
|
void |
clearFooterStatements()
Clears the footer statements.
|
void |
clearHeaders()
Clear the headers.
|
void |
clearImportedNames(String moduleName)
Clears the names imported by the given module.
|
void |
countStaticInitializer(com.sun.tools.javac.code.Symbol.ClassSymbol clazz)
Increments the count of static initialization blocks for the given class.
|
void |
dumpOverloads(PrintStream out)
Dump all the overloads gathered by
OverloadScanner. |
String |
getActualName(com.sun.tools.javac.code.Symbol symbol)
Gets the actual name of a symbol from a JSweet convention, so including
potential
jsweet.lang.Name annotation. |
Set<OverloadScanner.Overload> |
getAllOverloads()
Returns all the overloads in this context.
|
<T> T |
getAnnotationValue(com.sun.tools.javac.code.Symbol symbol,
String annotationType,
Class<T> propertyClass,
T defaultValue)
Gets the first value of the 'value' property for the given annotation type if
found on the given symbol.
|
<T> T |
getAnnotationValue(com.sun.tools.javac.code.Symbol symbol,
String annotationType,
String propertyName,
Class<T> propertyClass,
T defaultValue)
Gets the first value of the given property for the given annotation type if
found on the given symbol.
|
Set<String> |
getBaseThrowables() |
String |
getClassNameMapping(com.sun.tools.javac.code.Symbol clazz)
Gets a class name mapping if any (null otherwise).
|
com.sun.tools.javac.tree.JCTree.JCCompilationUnit |
getDefaultMethodCompilationUnit(com.sun.tools.javac.tree.JCTree.JCMethodDecl defaultMethod)
Gets the compilation unit the given default method belongs to.
|
Set<Map.Entry<com.sun.tools.javac.tree.JCTree.JCClassDecl,com.sun.tools.javac.tree.JCTree.JCMethodDecl>> |
getDefaultMethods(com.sun.tools.javac.code.Symbol.TypeSymbol type)
Gets the default methods declared in the given type.
|
String |
getExportedElementName(com.sun.tools.javac.code.Symbol exportedElement)
Returns the idenfier of the given exported symbol, including Module
annotation's name if specified
|
Map<String,List<com.sun.tools.javac.code.Symbol>> |
getExportedElements()
Gets the exported elements for all the modules defined in the program.
|
String |
getFieldNameMapping(com.sun.tools.javac.code.Symbol field)
Gets a field name mapping if any (null otherwise).
|
com.sun.tools.javac.code.Symbol.PackageSymbol |
getFirstEnclosingRootPackage(com.sun.tools.javac.code.Symbol.PackageSymbol packageSymbol)
Finds the first (including itself) enclosing package annotated with @Root.
|
String |
getFooterStatements()
Gets the footer statements.
|
List<BiFunction<ExtendedElement,String,Object>> |
getFunctionalTypeMappings()
Returns the functional type mappings.
|
int |
getFunctionalTypeParameterCount(com.sun.tools.javac.code.Type type)
Returns the number of arguments declared by a function interface.
|
String |
getGlobalsMappingString()
Returns the TypeScript string for globals mapping.
|
String |
getHeader(String key)
Returns a header for the given key (null if never set).
|
String |
getHeaders()
Gets the headers.
|
Map<com.sun.tools.javac.code.Symbol,String> |
getImportedElements(String moduleName)
The list of package names imported by the given m of the transpiled program.
|
Set<String> |
getImportedNames(String moduleName)
The list of names imported by the given module of the transpiled program.
|
Map<String,TypeMirror> |
getJdkSubclasses()
Maps the name of a class to the JDK type it extends.
|
TypeMirror |
getJdkSuperclass(String subclassName,
Set<String> excludedJdkTypes)
Gets the JDK type extended by the given subclass, if any.
|
Map<String,String> |
getLangTypeMappings() |
Set<String> |
getLangTypesSimpleNames() |
OverloadScanner.Overload |
getOrCreateOverload(com.sun.tools.javac.code.Symbol.ClassSymbol clazz,
com.sun.tools.javac.code.Symbol.MethodSymbol method)
Gets or create an overload instance for the given class and method.
|
OverloadScanner.Overload |
getOverload(com.sun.tools.javac.code.Symbol.ClassSymbol clazz,
com.sun.tools.javac.code.Symbol.MethodSymbol method)
Gets an overload instance for the given class and method.
|
String |
getRootRelativeJavaName(com.sun.tools.javac.code.Symbol symbol)
Gets the qualified name of a symbol relatively to the root package
(potentially annotated with
jsweet.lang.Root). |
String |
getRootRelativeName(Map<com.sun.tools.javac.code.Symbol,String> nameMapping,
com.sun.tools.javac.code.Symbol symbol)
Gets the qualified name of a symbol relatively to the root package
(potentially annotated with
jsweet.lang.Root). |
String |
getRootRelativeName(Map<com.sun.tools.javac.code.Symbol,String> nameMapping,
com.sun.tools.javac.code.Symbol symbol,
boolean useJavaNames)
Gets the qualified name of a symbol relatively to the root package
(potentially annotated with
jsweet.lang.Root). |
int |
getStaticInitializerCount(com.sun.tools.javac.code.Symbol.ClassSymbol clazz)
Gets the static initializer count for the given class.
|
com.sun.tools.javac.code.Symbol.PackageSymbol |
getTopLevelPackage(com.sun.tools.javac.code.Symbol symbol)
Gets the top-level package enclosing the given symbol.
|
String |
getTypeMappingTarget(String sourceTypeName)
Returns the type the given type name is mapped through the
addTypeMapping(String, String) or
addTypeMapping(String, String) function. |
List<String> |
getUsedModules()
The list of modules used by the transpiled program.
|
String |
getWildcardName(com.sun.tools.javac.tree.JCTree.JCWildcard wildcard)
Gets the wildcard name if any.
|
List<com.sun.tools.javac.tree.JCTree.JCWildcard> |
getWildcards(com.sun.tools.javac.code.Symbol holder)
Gets the registered wildcards for the given type parameter holder.
|
void |
grabMethodsToBeImplemented(List<com.sun.tools.javac.code.Symbol.MethodSymbol> methods,
com.sun.tools.javac.code.Symbol.TypeSymbol type) |
void |
grabSuperClassNames(Set<String> superClasses,
Element type)
Grabs the names of all the superclasses.
|
void |
grabSupportedInterfaceNames(Set<String> interfaces,
com.sun.tools.javac.code.Symbol.TypeSymbol type)
Grabs the names of all the support interfaces in the class and interface
hierarchy.
|
boolean |
hasAnnotationType(com.sun.tools.javac.code.Symbol symbol,
String... annotationTypes)
Tells if the given symbol is annotated with one of the given annotation
types.
|
boolean |
hasAnonymousFunction(com.sun.tools.javac.code.Symbol.TypeSymbol type)
Tells if the given type has a anonymous function (instances can be used as
lambdas).
|
boolean |
hasClassNameMapping(com.sun.tools.javac.code.Symbol clazz)
Tells if the given class has a class name mapping.
|
boolean |
hasFieldNameMapping(com.sun.tools.javac.code.Symbol field)
Tells if the given field has a field name mapping.
|
boolean |
isAmbientDeclaration(com.sun.tools.javac.code.Symbol symbol)
Tells if the given symbol is ambient (part of a def.* package or within an
@Ambient-annotated scope). |
boolean |
isAnonymousClass(com.sun.tools.javac.tree.JCTree.JCNewClass newClass)
Returns true if this new class expression defines an anonymous class.
|
boolean |
isCoreFunctionalType(com.sun.tools.javac.code.Symbol.TypeSymbol type)
Returns true if the given type symbol corresponds to a core functional type.
|
boolean |
isFunctionalType(com.sun.tools.javac.code.Symbol.TypeSymbol type)
Returns true if the given type symbol corresponds to a functional type (in
the TypeScript way).
|
boolean |
isIgnored(com.sun.tools.javac.tree.JCTree.JCClassDecl classdecl)
Returns true if this class declaration is not to be output by the transpiler.
|
boolean |
isInterface(com.sun.tools.javac.code.Symbol.TypeSymbol typeSymbol)
Tells if the given type is a Java interface.
|
boolean |
isInvalidOverload(com.sun.tools.javac.code.Symbol.MethodSymbol method)
Tells if that method is part of an invalid overload in its declaring class.
|
boolean |
isMappedType(String sourceTypeName)
Returns true if the given type name is mapped through the
addTypeMapping(String, String) or
addTypeMapping(String, String) function. |
boolean |
isPackageErased(com.sun.tools.javac.code.Symbol.PackageSymbol pkg)
Returns true if the given package is erased (it could be erased because a
parent package is erased).
|
boolean |
isRootPackage(Element element)
Returns true if the given symbol is a root package (annotated with @Root or a
definition package).
|
boolean |
isUsingJavaRuntime()
Tells if the transpiler is using J4TS Java runtime.
|
com.sun.tools.javac.tree.JCTree.JCClassDecl |
lookupDecoratorAnnotation(String fullyQualifiedName)
Registers a decorator annotation in the context.
|
com.sun.tools.javac.tree.JCTree[] |
lookupGlobalMethod(String fullyQualifiedName)
Looks up a registered method from its fully qualified name.
|
void |
registerDecoratorAnnotation(com.sun.tools.javac.tree.JCTree.JCClassDecl annotationDeclaration)
Registers a decorator annotation in the context.
|
void |
registerGlobalMethod(com.sun.tools.javac.tree.JCTree.JCClassDecl owner,
com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
Registers a global method in the context.
|
void |
registerImportedName(String moduleName,
com.sun.tools.javac.code.Symbol sourceElement,
String targetName)
Register a name that is imported by the given package of the transpiled
program.
|
void |
registerUsedModule(String moduleName)
Register a module that is used by the transpiled program.
|
void |
registerWildcard(com.sun.tools.javac.code.Symbol holder,
com.sun.tools.javac.tree.JCTree.JCWildcard wildcard)
Registers a wilcard for a given container (type parameterized element).
|
void |
removeAnnotationManager(AnnotationManager annotationManager)
Removes the given annotation manager from the existing annotation manager
chain.
|
void |
setUsingJavaRuntime(boolean usingJavaRuntime)
Sets the transpiler to use the J4TS Java runtime.
|
protected static org.apache.log4j.Logger logger
public final JSweetOptions options
public Set<com.sun.tools.javac.code.Symbol.ClassSymbol> classesWithWrongConstructorOverload
public com.sun.tools.javac.code.Symtab symtab
public com.sun.tools.javac.util.Names names
public com.sun.tools.javac.code.Types types
public Types modelTypes
public boolean useModules
public boolean useRequireForModules
public SourceFile[] sourceFiles
public com.sun.tools.javac.tree.JCTree.JCCompilationUnit[] compilationUnits
public boolean bundleMode
public Set<com.sun.tools.javac.code.Symbol.VarSymbol> lazyInitializedStatics
public DirectedGraph<com.sun.tools.javac.code.Symbol.PackageSymbol> packageDependencies
public Set<String> topLevelPackageNames
jsweet.lang.Root annotation).public HashSet<com.sun.tools.javac.code.Symbol.PackageSymbol> rootPackages
jsweet.lang.Root annotation, including
null, i.e. default package).public boolean reportedMultipleRootPackages
public Set<String> importedTopPackages
public boolean strictMode
jsweet-core-strict jar is in the classpath.public boolean deprecatedApply
public boolean ignoreWildcardBounds
void f(C extends String> c)will transpile to:
f(c: Cotherwise:)
void f(C extends String> c)will transpile to:
f<__T1 extends string>(c: C<__T1>)
public JSweetContext(JSweetOptions options)
options - the JSweet transpilation optionspublic void addJdkSubclass(String subclassName, TypeMirror extendedJdkClass)
public Map<String,TypeMirror> getJdkSubclasses()
public TypeMirror getJdkSuperclass(String subclassName, Set<String> excludedJdkTypes)
public void registerGlobalMethod(com.sun.tools.javac.tree.JCTree.JCClassDecl owner,
com.sun.tools.javac.tree.JCTree.JCMethodDecl method)
lookupGlobalMethod(String)public com.sun.tools.javac.tree.JCTree[] lookupGlobalMethod(String fullyQualifiedName)
fullyQualifiedName - fully qualified owning type name + "." + method name#registerGlobalMethod(JCMethodDecl)public void registerDecoratorAnnotation(com.sun.tools.javac.tree.JCTree.JCClassDecl annotationDeclaration)
public com.sun.tools.javac.tree.JCTree.JCClassDecl lookupDecoratorAnnotation(String fullyQualifiedName)
public final void addTypeMapping(String sourceTypeName, String targetTypeName)
sourceTypeName - the fully qualified name of the source typetargetTypeName - the fully Qualified name of the type the source type is mapped topublic final void addTypeMappings(Map<String,String> nameMappings)
addTypeMapping(String, String) for each entry of the given map.public final boolean isMappedType(String sourceTypeName)
addTypeMapping(String, String) or
addTypeMapping(String, String) function.public final String getTypeMappingTarget(String sourceTypeName)
addTypeMapping(String, String) or
addTypeMapping(String, String) function.public final void addTypeMapping(BiFunction<ExtendedElement,String,Object> mappingFunction)
mappingFunction - a function that takes the type tree, the type name, and returns a
mapped type (either under the form of a string, or of a string, or
of another type tree).public final List<BiFunction<ExtendedElement,String,Object>> getFunctionalTypeMappings()
public final void addAnnotationManager(AnnotationManager annotationManager)
public final void removeAnnotationManager(AnnotationManager annotationManager)
addAnnotationManager(AnnotationManager)public final void addAnnotation(Class<? extends Annotation> annotationType, String... filters)
Example:
context.addAnnotation(FunctionalInterface.class, "*.MyInterface");
Filters are simplified regular expressions matching on the Java AST. Special characters are the following:
For example, to match:
annotationType - the annotation typefilters - the annotation is activated if one of the filters match and no
negative filter matchespublic final void addAnnotationWithValue(Class<? extends Annotation> annotationType, Object value, String... filters)
addAnnotation(String, String...)public final void addAnnotation(String annotationDescriptor, String... filters)
Example:
context.addAnnotation("@Erased", "*.writeObject(*)");
context.addAnnotation("@Name('newName')", "*.MyDeclarationToBeRenamed");
Filters are simplified regular expressions matching on the Java AST. Special characters are the following:
annotationDescriptor - the annotation type name, optionally preceded with a @, and
optionally defining a value (fully qualified name is not necessary
for JSweet annotations)filters - the annotation is activated if one of the filters match and no
negative filter matchespublic void dumpOverloads(PrintStream out)
OverloadScanner.public Set<OverloadScanner.Overload> getAllOverloads()
public OverloadScanner.Overload getOrCreateOverload(com.sun.tools.javac.code.Symbol.ClassSymbol clazz, com.sun.tools.javac.code.Symbol.MethodSymbol method)
public OverloadScanner.Overload getOverload(com.sun.tools.javac.code.Symbol.ClassSymbol clazz, com.sun.tools.javac.code.Symbol.MethodSymbol method)
public boolean isInvalidOverload(com.sun.tools.javac.code.Symbol.MethodSymbol method)
public void countStaticInitializer(com.sun.tools.javac.code.Symbol.ClassSymbol clazz)
public int getStaticInitializerCount(com.sun.tools.javac.code.Symbol.ClassSymbol clazz)
public void registerUsedModule(String moduleName)
moduleName - the module being usedpublic List<String> getUsedModules()
public void registerImportedName(String moduleName, com.sun.tools.javac.code.Symbol sourceElement, String targetName)
import targetName = require("sourceName");
moduleName - the module that is importing the namesourceElement - the source element if any (null if not applicable)targetName - the target name being importedpublic Set<String> getImportedNames(String moduleName)
public Map<com.sun.tools.javac.code.Symbol,String> getImportedElements(String moduleName)
public void clearImportedNames(String moduleName)
public Map<String,List<com.sun.tools.javac.code.Symbol>> getExportedElements()
public String getExportedElementName(com.sun.tools.javac.code.Symbol exportedElement)
public void addExportedElement(String moduleName, com.sun.tools.javac.code.Symbol exportedElement, com.sun.tools.javac.tree.JCTree.JCCompilationUnit compilationUnit)
public void clearFooterStatements()
public String getFooterStatements()
public void addFooterStatement(String footerStatement)
public void addTopFooterStatement(String footerStatement)
public void clearHeaders()
public String getHeaders()
public void addHeader(String key, String header)
getHeader(String)public String getHeader(String key)
addHeader(String, String)public String getGlobalsMappingString()
public Set<Map.Entry<com.sun.tools.javac.tree.JCTree.JCClassDecl,com.sun.tools.javac.tree.JCTree.JCMethodDecl>> getDefaultMethods(com.sun.tools.javac.code.Symbol.TypeSymbol type)
public void addDefaultMethod(com.sun.tools.javac.tree.JCTree.JCCompilationUnit compilationUnit,
com.sun.tools.javac.tree.JCTree.JCClassDecl type,
com.sun.tools.javac.tree.JCTree.JCMethodDecl defaultMethod)
public com.sun.tools.javac.tree.JCTree.JCCompilationUnit getDefaultMethodCompilationUnit(com.sun.tools.javac.tree.JCTree.JCMethodDecl defaultMethod)
public void addFieldNameMapping(com.sun.tools.javac.code.Symbol.VarSymbol field,
String name)
public String getFieldNameMapping(com.sun.tools.javac.code.Symbol field)
public boolean hasFieldNameMapping(com.sun.tools.javac.code.Symbol field)
#addFieldNameMapping(VarSymbol, String),
getFieldNameMapping(Symbol)public void addClassNameMapping(com.sun.tools.javac.code.Symbol.ClassSymbol clazz,
String name)
public String getClassNameMapping(com.sun.tools.javac.code.Symbol clazz)
public boolean hasClassNameMapping(com.sun.tools.javac.code.Symbol clazz)
#addClassNameMapping(ClassSymbol, String),
getClassNameMapping(Symbol)public void registerWildcard(com.sun.tools.javac.code.Symbol holder,
com.sun.tools.javac.tree.JCTree.JCWildcard wildcard)
public String getWildcardName(com.sun.tools.javac.tree.JCTree.JCWildcard wildcard)
public List<com.sun.tools.javac.tree.JCTree.JCWildcard> getWildcards(com.sun.tools.javac.code.Symbol holder)
public boolean isRootPackage(Element element)
public boolean isInterface(com.sun.tools.javac.code.Symbol.TypeSymbol typeSymbol)
public boolean hasAnnotationType(com.sun.tools.javac.code.Symbol symbol,
String... annotationTypes)
public String getActualName(com.sun.tools.javac.code.Symbol symbol)
jsweet.lang.Name annotation.public com.sun.tools.javac.code.Symbol.PackageSymbol getTopLevelPackage(com.sun.tools.javac.code.Symbol symbol)
jsweet.lang.Root) or the one in the default (unnamed) package.public com.sun.tools.javac.code.Symbol.PackageSymbol getFirstEnclosingRootPackage(com.sun.tools.javac.code.Symbol.PackageSymbol packageSymbol)
public String getRootRelativeName(Map<com.sun.tools.javac.code.Symbol,String> nameMapping, com.sun.tools.javac.code.Symbol symbol, boolean useJavaNames)
jsweet.lang.Root).nameMapping - a map to redirect namessymbol - the symbol to get the name ofuseJavaNames - if true uses plain Java names, if false uses
jsweet.lang.Name annotationspublic String getRootRelativeName(Map<com.sun.tools.javac.code.Symbol,String> nameMapping, com.sun.tools.javac.code.Symbol symbol)
jsweet.lang.Root). This function
takes into account potential jsweet.lang.Name annotations).public String getRootRelativeJavaName(com.sun.tools.javac.code.Symbol symbol)
jsweet.lang.Root). This function
ignores jsweet.lang.Name annotations).public final <T> T getAnnotationValue(com.sun.tools.javac.code.Symbol symbol,
String annotationType,
Class<T> propertyClass,
T defaultValue)
public <T> T getAnnotationValue(com.sun.tools.javac.code.Symbol symbol,
String annotationType,
String propertyName,
Class<T> propertyClass,
T defaultValue)
public void grabSupportedInterfaceNames(Set<String> interfaces, com.sun.tools.javac.code.Symbol.TypeSymbol type)
public void grabSuperClassNames(Set<String> superClasses, Element type)
public void grabMethodsToBeImplemented(List<com.sun.tools.javac.code.Symbol.MethodSymbol> methods, com.sun.tools.javac.code.Symbol.TypeSymbol type)
public boolean isAnonymousClass(com.sun.tools.javac.tree.JCTree.JCNewClass newClass)
public int getFunctionalTypeParameterCount(com.sun.tools.javac.code.Type type)
public boolean isFunctionalType(com.sun.tools.javac.code.Symbol.TypeSymbol type)
public boolean isCoreFunctionalType(com.sun.tools.javac.code.Symbol.TypeSymbol type)
public boolean hasAnonymousFunction(com.sun.tools.javac.code.Symbol.TypeSymbol type)
public boolean isIgnored(com.sun.tools.javac.tree.JCTree.JCClassDecl classdecl)
public boolean isPackageErased(com.sun.tools.javac.code.Symbol.PackageSymbol pkg)
public boolean isUsingJavaRuntime()
public void setUsingJavaRuntime(boolean usingJavaRuntime)
public boolean isAmbientDeclaration(com.sun.tools.javac.code.Symbol symbol)
@Ambient-annotated scope).