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 class
Strategies for searching types & packages in classpath locations & modules. -
Method Summary
Modifier and TypeMethodDescriptiondefault void
applyModuleUpdates(IUpdatableModule module, IUpdatableModule.UpdateKind kind)
Ask the name environment to perform any updates (add-exports or add-reads) to the given module.default NameEnvironmentAnswer
findType(char[][] compoundTypeName)
Find a type with the given compound name.findType(char[][] compoundName, char[] moduleName)
default NameEnvironmentAnswer
findType(char[] typeName, char[][] packageName)
Find a type namedin the package . findType(char[] typeName, char[][] packageName, char[] moduleName)
Answer a type identified by the given names. moduleName may be one of the special names from ModuleBinding (ANY, ANY_NAMED, UNNAMED).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)
boolean
hasCompilationUnit(char[][] qualifiedPackageName, char[] moduleName, boolean checkCUs)
Answer whether the given package (within the given module) contains any compilation unit.default boolean
isPackage(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:INameEnvironment
Find 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:
findType
in interfaceINameEnvironment
-
findType
Description copied from interface:INameEnvironment
Find a type namedin the package . 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:
findType
in interfaceINameEnvironment
-
isPackage
default boolean isPackage(char[][] parentPackageName, char[] packageName)Description copied from interface:INameEnvironment
Answer 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:
isPackage
in 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:
qualifiedPackageName
-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() -
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
).- Parameters:
moduleName
-- Returns:
- array of flat, dot-separated package names
-