Interface IModuleAwareNameEnvironment
- All Superinterfaces:
INameEnvironment
- All Known Implementing Classes:
CancelableNameEnvironment,FileSystem,JavaSearchNameEnvironment,NameEnvironment,SearchableEnvironment,StatefulNameEnvironment
A module aware name environment
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumStrategies for searching types and packages in classpath locations and modules. -
Method Summary
Modifier and TypeMethodDescriptiondefault voidapplyModuleUpdates(IUpdatableModule module, IUpdatableModule.UpdateKind kind) Ask the name environment to perform any updates (add-exports or add-reads) to the given module.default NameEnvironmentAnswerfindType(char[][] compoundTypeName) Find a type with the given compound name.findType(char[][] compoundName, char[] moduleName) default NameEnvironmentAnswerfindType(char[] typeName, char[][] packageName) Find a type named<typeName>in the package<packageName>.findType(char[] typeName, char[][] packageName, char[] moduleName) Answer a type identified by the given names.char[][]getModule(char[] moduleName) Get the module with the given name, which must denote a named module.char[][]getModulesDeclaringPackage(char[][] packageName, char[] moduleName) default char[][]getUniqueModulesDeclaringPackage(char[][] packageName, char[] moduleName) booleanhasCompilationUnit(char[][] qualifiedPackageName, char[] moduleName, boolean checkCUs) Answer whether the given package (within the given module) contains any compilation unit.default booleanIf this environment focusses on one IJavaProject answer if the given compilation unit is found on the module path, rather than the class path.default booleanisPackage(char[][] parentPackageName, char[] packageName) Answer whether packageName is the name of a known subpackage inside the package parentPackageName.char[][]listPackages(char[] moduleName) Lists all packages in the module identified by the given, real module name (i.e., this method is implemented only forIModuleAwareNameEnvironment.LookupStrategy.Named).Methods inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.INameEnvironment
cleanup
-
Method Details
-
findType
Description copied from interface:INameEnvironmentFind a type with the given compound name. Answer the binary form of the type if it is known to be consistent. Otherwise, answer the compilation unit which defines the type or null if the type does not exist. Types in the default package are specified as {{typeName}}. It is unknown whether the package containing the type actually exists. NOTE: This method can be used to find a member type using its internal name A$B, but the source file for A is answered if the binary file is inconsistent.- Specified by:
findTypein interfaceINameEnvironment
-
findType
Description copied from interface:INameEnvironmentFind a type named<typeName>in the package<packageName>. Answer the binary form of the type if it is known to be consistent. Otherwise, answer the compilation unit which defines the type or null if the type does not exist. The default package is indicated by char[0][]. It is known that the package containing the type exists. NOTE: This method can be used to find a member type using its internal name A$B, but the source file for A is answered if the binary file is inconsistent.- Specified by:
findTypein interfaceINameEnvironment
-
isPackage
default boolean isPackage(char[][] parentPackageName, char[] packageName) Description copied from interface:INameEnvironmentAnswer whether packageName is the name of a known subpackage inside the package parentPackageName. A top level package is found relative to null. The default package is always assumed to exist. For example: isPackage({{java}, {awt}}, {event}); isPackage(null, {java});- Specified by:
isPackagein interfaceINameEnvironment
-
findType
-
findType
Answer a type identified by the given names. moduleName may be one of the special names from ModuleBinding (ANY, ANY_NAMED, UNNAMED). -
getModulesDeclaringPackage
char[][] getModulesDeclaringPackage(char[][] packageName, char[] moduleName) -
getUniqueModulesDeclaringPackage
default char[][] getUniqueModulesDeclaringPackage(char[][] packageName, char[] moduleName) -
hasCompilationUnit
boolean hasCompilationUnit(char[][] qualifiedPackageName, char[] moduleName, boolean checkCUs) Answer whether the given package (within the given module) contains any compilation unit.- Parameters:
checkCUs- - if true, check contained Compilation Units for a matching package declaration- Returns:
- true iff the package contains at least one compilation unit.
-
getModule
Get the module with the given name, which must denote a named module. -
getAllAutomaticModules
char[][] getAllAutomaticModules() -
isOnModulePath
If this environment focusses on one IJavaProject answer if the given compilation unit is found on the module path, rather than the class path.- Parameters:
unit- compilation unit to test- Returns:
- true iff unit is on the module path.
-
applyModuleUpdates
Ask the name environment to perform any updates (add-exports or add-reads) to the given module.- Parameters:
module- the compiler representation of the module to updateskind- selects what kind of updates should be performed
-
listPackages
char[][] listPackages(char[] moduleName) Lists all packages in the module identified by the given, real module name (i.e., this method is implemented only forIModuleAwareNameEnvironment.LookupStrategy.Named).- Returns:
- array of flat, dot-separated package names
-