public interface IModule
IModule
abstracts
this concept as a set of paths defining source, class, and output locations, a list of dependencies on
other modules, and the set of ITypeManifold
s managed by the module.
The use of modules for the purposes of the Manifold API is mostly applicable to IDE integration such
as with the IntelliJ plugin.
Otherwise, because compilation is not intermodular and because runtime is flattened, modules consist
of a single "default" module.Modifier and Type | Method and Description |
---|---|
default Set<ITypeManifold> |
findTypeManifoldsFor(IFile file) |
default Set<ITypeManifold> |
findTypeManifoldsFor(IFile file,
Predicate<ITypeManifold> predicate)
Finds the set of type manifolds that handle a given resource file.
|
default Set<ITypeManifold> |
findTypeManifoldsFor(String fqn) |
default Set<ITypeManifold> |
findTypeManifoldsFor(String fqn,
Predicate<ITypeManifold> predicate)
Finds the set of type manifolds that contribute toward the definition of a given type.
|
List<IDirectory> |
getCollectiveJavaClassPath() |
List<IDirectory> |
getCollectiveSourcePath() |
List<Dependency> |
getDependencies() |
IDirectory[] |
getExcludedPath() |
default List<String> |
getExcludedTypeManifolds() |
default IFileSystem |
getFileSystem() |
IManifoldHost |
getHost() |
List<IDirectory> |
getJavaClassPath() |
String |
getName() |
List<IDirectory> |
getOutputPath() |
PathCache |
getPathCache() |
List<IDirectory> |
getSourcePath()
The path[s] having source files that should be exposed to this module.
|
Set<ITypeManifold> |
getTypeManifolds() |
default Comparator<ITypeManifold> |
getTypeManifoldSorter()
Supplemental type manifolds must follow others, this is so that a Supplemental
manifold in response to changes can be sure that side effects stemming from
Primary or Partial manifolds are deterministic and complete beforehand.
|
default void |
loadRegistered(Set<ITypeManifold> tms) |
default SortedSet<ITypeManifold> |
loadTypeManifolds()
Loads, but does not initialize, all type manifolds managed by this module.
|
JavaFileObject |
produceFile(String fqn,
JavaFileManager.Location location,
DiagnosticListener<JavaFileObject> errorHandler) |
IManifoldHost getHost()
String getName()
List<IDirectory> getSourcePath()
List<IDirectory> getJavaClassPath()
List<IDirectory> getOutputPath()
IDirectory[] getExcludedPath()
List<IDirectory> getCollectiveSourcePath()
List<IDirectory> getCollectiveJavaClassPath()
default IFileSystem getFileSystem()
List<Dependency> getDependencies()
PathCache getPathCache()
Set<ITypeManifold> getTypeManifolds()
JavaFileObject produceFile(String fqn, JavaFileManager.Location location, DiagnosticListener<JavaFileObject> errorHandler)
default Set<ITypeManifold> findTypeManifoldsFor(String fqn)
default Set<ITypeManifold> findTypeManifoldsFor(String fqn, Predicate<ITypeManifold> predicate)
fqn
- A fully qualified type namepredicate
- A predicate to filter the set of type manifolds availablefqn
default Set<ITypeManifold> findTypeManifoldsFor(IFile file)
default Set<ITypeManifold> findTypeManifoldsFor(IFile file, Predicate<ITypeManifold> predicate)
file
- A resource filepredicate
- A predicate to filter the set of type manifolds availablefile
default SortedSet<ITypeManifold> loadTypeManifolds()
default Comparator<ITypeManifold> getTypeManifoldSorter()
default void loadRegistered(Set<ITypeManifold> tms)
Copyright © 2024. All rights reserved.