All Classes and Interfaces

Class
Description
expression (velocity: length/time): 5 mi/hr (bad) (good) รท ?
 
 
 
 
 
 
 
Arguments for the javac plugin.
 
 
 
Loads Manifold runtime services: Integrates manifold into application class loader Initializes the RuntimeManifoldHost
 
 
Utility to get ClassSymbol for a given type name.
 
 
Indicates the involvement of a ITypeManifold toward the completeness of projected source
 
 
 
 
 
Utility class to scan for certain manifest headers through the classpath.
 
 
 
 
 
 
Process inlined type fragments.
 
 
 
 
A service provider interface (SPI) for general purpose Java compiler manipulation.
Used with ICompilerComponent.initOrder(ICompilerComponent) to control when this service initializes relative to others.
 
 
 
This interface facilitates JDK API version independence via dynamically compiled Dark Java implementations
 
 
An abstraction representing a connection between types and files.
A fragment of a file that is to be treated separate from the enclosing file.
 
 
 
 
 
Facilitates incremental compilation and hot swap debugging of Manifold resource files.
 
 
 
 
 
The LetExpr has evolved a little over time regarding the declared type of JCTree.LetExpr.defs and JCTree.LetExpr.expr.
 
Implementors of this interface drive Manifold in a custom way based on the environment employing Manifold's services.
Java projects are typically organized according to a hierarchy of modules where each module defines packages of Java classes and resources and other modules on which it depends.
 
This simple interface provides the core foundation for component architecture.
A preprocessor gets a crack at modifying the Java source code before the Java parser sees it.
Used to specify the preferred order a preprocessor runs wrt others
 
A Manifold host exclusive to the runtime environment.
A self-compiled type manifold provides its own Java bytecode for some or all of its types.
Delegates behavior to ISelfCompiled
 
Indicates the source language a ITypeManifold uses in projected types.
 
 
 
A ITypeManifold is a fundamental component of the Manifold API.
Implementors of this interface can examine and rewrite the Java AST during compilation.
 
 
 
 
 
 
The purpose of this class is to make our ManifoldJavaFileManager a JavacFileManager, which is necessary for straight usage of javac.exe on the command line; other javac usage such as via Maven, Gradle, and more generally via the Java Compiler API do not require our file manager to extend JavacFileManager.
JavacManifoldHost is exclusive to an instance of JavacPlugin.
 
 
The JavacPlugin can't be used directly with Java 16+ because stricter accessibility changes were added to internal modules (JEP 396: Strongly Encapsulate JDK Internals by Default).
 
 
 
 
 
A tool for parsing and compiling Java source.
 
A base class for a Java source producer that is based on a resource file of a specific extension.
 
 
 
 
 
This class facilitates dynamic class loading via Type Manifolds in a Java 9 *modular* configuration.
 
 
 
 
 
 
 
 
 
A mapping of child to parent for every child tree in a CompilationUnitTree.
 
 
 
 
 
 
 
 
 
 
Manifold currently compiles with Java 8, however there are some files that must compile to Java 11, 12, etc.
 
IMPORTANT: define env var:
 
 
A base class for a type manifold that is based on a resource file type, typically discernible by the file extension.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class compiles resource types optionally specified with the command line arguments:
-Aother.source.files=[file-list]
or
-Amanifold.source.
 
 
Faster than String.intern()
 
 
 
 
 
 
 
 
For compilation, supports only create events
 
 
HTTP-backed file.
A base class for non-resource based type manifolds.
 
 
A utility for other compilers hosting Manifold, primarily for exposing class files as JavaFileObjects where APIs require it.