polyglot.ext.jl
Class ExtensionInfo

java.lang.Object
  extended by polyglot.frontend.AbstractExtensionInfo
      extended by polyglot.ext.jl.ExtensionInfo
All Implemented Interfaces:
ExtensionInfo
Direct Known Subclasses:
ExtensionInfo, ExtensionInfo

public class ExtensionInfo
extends AbstractExtensionInfo

This is the default ExtensionInfo for the Java language. Compilation passes and visitors:

  1. parse
  2. build-types (TypeBuilder)

  3. GLOBAL BARRIER

  4. clean-super (AmbiguityRemover)

  5. BARRIER

  6. clean-sigs (AmbiguityRemover)
  7. add-members (AddMemberVisitor)

  8. BARRIER

  9. disambiguate (AmbiguityRemover)

  10. BARRIER

  11. type checking (TypeChecker)
  12. reachable checking (ReachChecker)
  13. exception checking (ExceptionChecker)
  14. exit checking (ExitChecker)
  15. initialization checking (InitChecker)
  16. circular constructor call checking (ConstructorCallChecker)
    PRE_OUTPUT MARKER

  17. serialization (ClassSerializer), optional
  18. translation (Translator)


Field Summary
 
Fields inherited from class polyglot.frontend.AbstractExtensionInfo
compiler, COMPLETED_JOB, currentJob, jobs, nf, source_loader, stats, target_factory, ts, worklist
 
Constructor Summary
ExtensionInfo()
           
 
Method Summary
 java.lang.String compilerName()
          The name of the compiler for usage messages
protected  NodeFactory createNodeFactory()
          Create the node factory for this extension.
protected  TypeSystem createTypeSystem()
          Create the type system for this extension.
 java.lang.String defaultFileExtension()
          The default extension that source files are expected to have.
protected  void initTypeSystem()
           
 JobExt jobExt()
          Get the job extension for this language extension.
 Parser parser(java.io.Reader reader, FileSource source, ErrorQueue eq)
          Get the parser for this language extension.
 java.util.List passes(Job job)
          Get the complete list of passes for the job.
 Version version()
          Report the version of the extension.
 
Methods inherited from class polyglot.frontend.AbstractExtensionInfo
addDependencyToCurrentJob, addJob, addJob, afterPass, afterPass, beforePass, beforePass, compiler, createClassFile, createJob, createOptions, createSourceJob, defaultFileExtensions, enforceInvariants, fileExtensions, getOptions, getStats, initCompiler, nodeFactory, passes, readSource, removePass, replacePass, replacePass, runAllPasses, runPass, runToCompletion, runToPass, runToPass, selectJobFromWorklist, sourceLoader, spawnJob, targetFactory, toString, typeSystem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExtensionInfo

public ExtensionInfo()
Method Detail

initTypeSystem

protected void initTypeSystem()
Specified by:
initTypeSystem in class AbstractExtensionInfo

defaultFileExtension

public java.lang.String defaultFileExtension()
Description copied from interface: ExtensionInfo
The default extension that source files are expected to have.


compilerName

public java.lang.String compilerName()
Description copied from interface: ExtensionInfo
The name of the compiler for usage messages


version

public Version version()
Description copied from interface: ExtensionInfo
Report the version of the extension.


createTypeSystem

protected TypeSystem createTypeSystem()
Create the type system for this extension.

Specified by:
createTypeSystem in class AbstractExtensionInfo

createNodeFactory

protected NodeFactory createNodeFactory()
Create the node factory for this extension.

Specified by:
createNodeFactory in class AbstractExtensionInfo

jobExt

public JobExt jobExt()
Description copied from class: AbstractExtensionInfo
Get the job extension for this language extension. The job extension is used to extend the Job class without subtyping.

Overrides:
jobExt in class AbstractExtensionInfo

parser

public Parser parser(java.io.Reader reader,
                     FileSource source,
                     ErrorQueue eq)
Description copied from class: AbstractExtensionInfo
Get the parser for this language extension.

Specified by:
parser in interface ExtensionInfo
Specified by:
parser in class AbstractExtensionInfo

passes

public java.util.List passes(Job job)
Description copied from class: AbstractExtensionInfo
Get the complete list of passes for the job.

Specified by:
passes in interface ExtensionInfo
Specified by:
passes in class AbstractExtensionInfo