|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ExtensionInfo
ExtensionInfo
is the main interface for defining language
extensions. The frontend will load the ExtensionInfo
specified on the command-line. It defines the type system, AST node
factory, parser, and other parameters of a language extension.
Method Summary | |
---|---|
Compiler |
compiler()
|
java.lang.String |
compilerName()
The name of the compiler for usage messages |
ClassFile |
createClassFile(java.io.File classFileSource,
byte[] code)
Create class file |
FileSource |
createFileSource(java.io.File sourceFile,
boolean userSpecified)
Create file source for a file. |
java.lang.String |
defaultFileExtension()
The default extension that source files are expected to have. |
java.lang.String[] |
defaultFileExtensions()
The default extensions that source files are expected to have. |
java.lang.String[] |
fileExtensions()
The extensions that source files are expected to have. |
Goal |
getCompileGoal(Job job)
Return the goal for compiling a particular compilation unit. |
Options |
getOptions()
Return an Options object, which will be given the command line to parse. |
Stats |
getStats()
Return a Stats object to accumulate and report statistics. |
void |
initCompiler(Compiler compiler)
Initialize the extension with a particular compiler. |
JobExt |
jobExt()
Get the job extension for this language extension. |
NodeFactory |
nodeFactory()
Produce a node factory for this language extension. |
Parser |
parser(java.io.Reader reader,
FileSource source,
ErrorQueue eq)
Get a parser for this language extension. |
Scheduler |
scheduler()
Returns the pass scheduler. |
SourceLoader |
sourceLoader()
Produce a source factory for this language extension. |
TargetFactory |
targetFactory()
Produce a target factory for this language extension. |
TypeSystem |
typeSystem()
Produce a type system for this language extension. |
Version |
version()
Report the version of the extension. |
Method Detail |
---|
java.lang.String compilerName()
Version version()
Scheduler scheduler()
Goal getCompileGoal(Job job)
Options getOptions()
Stats getStats()
void initCompiler(Compiler compiler)
Compiler compiler()
java.lang.String[] fileExtensions()
java.lang.String[] defaultFileExtensions()
java.lang.String defaultFileExtension()
TypeSystem typeSystem()
NodeFactory nodeFactory()
SourceLoader sourceLoader()
JobExt jobExt()
Job
class
without subtyping.
TargetFactory targetFactory()
Parser parser(java.io.Reader reader, FileSource source, ErrorQueue eq)
ClassFile createClassFile(java.io.File classFileSource, byte[] code)
FileSource createFileSource(java.io.File sourceFile, boolean userSpecified) throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |