jif
Class JifScheduler

java.lang.Object
  extended by polyglot.frontend.Scheduler
      extended by polyglot.frontend.JLScheduler
          extended by jif.JifScheduler

public class JifScheduler
extends polyglot.frontend.JLScheduler


Nested Class Summary
 
Nested classes/interfaces inherited from class polyglot.frontend.Scheduler
polyglot.frontend.Scheduler.TheEndGoal
 
Field Summary
protected  polyglot.frontend.JLExtensionInfo jlext
           
protected  polyglot.frontend.Job objectJob
          Hack to ensure that we track the job for java.lang.Object specially.
 
Fields inherited from class polyglot.frontend.Scheduler
commandLineJobs, COMPLETED_JOB, currentPass, dumpCounter, extInfo, failed, goals, infiniteLoopGoal, inWorklist, jobs, MAX_RUN_COUNT, runCount, worklist
 
Constructor Summary
JifScheduler(ExtensionInfo extInfo, polyglot.frontend.JLExtensionInfo jlext)
           
 
Method Summary
 polyglot.frontend.Job addJob(polyglot.frontend.Source source)
           
 polyglot.frontend.Job addJob(polyglot.frontend.Source source, polyglot.ast.Node ast)
           
 polyglot.frontend.goals.Goal ExceptionsChecked(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal FieldConstantsChecked(polyglot.types.FieldInstance fi)
           
 FieldLabelInferenceGoal FieldLabelInference(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal InitializationsChecked(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal IntegerBoundsChecker(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal JifToJavaRewritten(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal LabelsChecked(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal NotNullChecker(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal PreciseClassChecker(polyglot.frontend.Job job)
           
 boolean runToCompletion()
           
 polyglot.frontend.goals.Goal Serialized(polyglot.frontend.Job job)
           
 polyglot.frontend.goals.Goal TypeChecked(polyglot.frontend.Job job)
           
 
Methods inherited from class polyglot.frontend.JLScheduler
CodeGenerated, ConstantsChecked, ConstructorCallsChecked, Disambiguated, ExitPathsChecked, ForwardReferencesChecked, ImportTableInitialized, MembersAdded, Parsed, ReachabilityChecked, SignaturesDisambiguated, SignaturesResolved, SupertypesDisambiguated, SupertypesResolved, TypeExists, TypesInitialized, TypesInitializedForCommandLine
 
Methods inherited from class polyglot.frontend.Scheduler
addCorequisiteDependency, addCorequisiteDependencyAndEnqueue, addDependencyAndEnqueue, addGoal, addPrerequisiteDependency, addPrerequisiteDependencyChain, attemptGoal, attemptGoal, commandLineJobs, completeJob, createSourceJob, currentGoal, currentJob, currentPass, dumpDependenceGraph, dumpDependenceGraph, dumpInFlightDependenceGraph, inInfiniteLoop, internGoal, jobs, loadSource, prerequisiteDependsOn, reached, runGoal, runPass, setCommandLineJobs, sourceHasJob, statusString, toString, worklist
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

jlext

protected polyglot.frontend.JLExtensionInfo jlext

objectJob

protected polyglot.frontend.Job objectJob
Hack to ensure that we track the job for java.lang.Object specially. In particular, ensure that it is submitted for re-writing before any other job.

Constructor Detail

JifScheduler

public JifScheduler(ExtensionInfo extInfo,
                    polyglot.frontend.JLExtensionInfo jlext)
Method Detail

LabelsChecked

public polyglot.frontend.goals.Goal LabelsChecked(polyglot.frontend.Job job)

FieldLabelInference

public FieldLabelInferenceGoal FieldLabelInference(polyglot.frontend.Job job)

IntegerBoundsChecker

public polyglot.frontend.goals.Goal IntegerBoundsChecker(polyglot.frontend.Job job)

TypeChecked

public polyglot.frontend.goals.Goal TypeChecked(polyglot.frontend.Job job)
Overrides:
TypeChecked in class polyglot.frontend.JLScheduler

PreciseClassChecker

public polyglot.frontend.goals.Goal PreciseClassChecker(polyglot.frontend.Job job)

NotNullChecker

public polyglot.frontend.goals.Goal NotNullChecker(polyglot.frontend.Job job)

ExceptionsChecked

public polyglot.frontend.goals.Goal ExceptionsChecked(polyglot.frontend.Job job)
Overrides:
ExceptionsChecked in class polyglot.frontend.JLScheduler

JifToJavaRewritten

public polyglot.frontend.goals.Goal JifToJavaRewritten(polyglot.frontend.Job job)

Serialized

public polyglot.frontend.goals.Goal Serialized(polyglot.frontend.Job job)
Overrides:
Serialized in class polyglot.frontend.JLScheduler

FieldConstantsChecked

public polyglot.frontend.goals.Goal FieldConstantsChecked(polyglot.types.FieldInstance fi)
Overrides:
FieldConstantsChecked in class polyglot.frontend.JLScheduler

InitializationsChecked

public polyglot.frontend.goals.Goal InitializationsChecked(polyglot.frontend.Job job)
Overrides:
InitializationsChecked in class polyglot.frontend.JLScheduler

runToCompletion

public boolean runToCompletion()
Overrides:
runToCompletion in class polyglot.frontend.Scheduler

addJob

public polyglot.frontend.Job addJob(polyglot.frontend.Source source,
                                    polyglot.ast.Node ast)
Overrides:
addJob in class polyglot.frontend.Scheduler

addJob

public polyglot.frontend.Job addJob(polyglot.frontend.Source source)
Overrides:
addJob in class polyglot.frontend.Scheduler