polyglot.frontend
Interface Pass

All Known Implementing Classes:
AbstractPass, AddMembersPass, Barrier.BarrierPass, CheckFieldConstantsPass, ClassFilePass, ConstantCheckPass, DisambiguateSignaturesPass, EmptyPass, MembersAdded.MembersAddedPass, OutputPass, ParserPass, PrettyPrintPass, ResolveSuperTypesPass, Scheduler.TheEndGoal.EndPass, SignaturesDisambiguated.MyPass, SignaturesResolved.SignaturesResolvedPass, SupertypesDisambiguated.MyPass, SupertypesResolved.SupertypesResolvedPass, TypeExistsPass, VisitorPass

public interface Pass

A Pass represents a compiler pass. A Job runs a series of passes over the AST. A pass is run to attempt to satisfy a goal.


Method Summary
 long exclusiveTime()
          The total accumulated time in ms since the last timer reset that the pass was running, excluding spawned passes.
 Goal goal()
          The goal the pass is trying to satisfy.
 long inclusiveTime()
          The total accumulated time in ms since the last timer reset that the pass was running, including spawned passes.
 java.lang.String name()
          Return a user-readable name for the pass.
 void resetTimers()
          Reset the pass timers to 0.
 boolean run()
          Run the pass.
 void toggleTimers(boolean exclusive_only)
          Start/stop the pass timers.
 

Method Detail

goal

Goal goal()
The goal the pass is trying to satisfy.


name

java.lang.String name()
Return a user-readable name for the pass.


run

boolean run()
Run the pass.


resetTimers

void resetTimers()
Reset the pass timers to 0.


toggleTimers

void toggleTimers(boolean exclusive_only)
Start/stop the pass timers.


inclusiveTime

long inclusiveTime()
The total accumulated time in ms since the last timer reset that the pass was running, including spawned passes.


exclusiveTime

long exclusiveTime()
The total accumulated time in ms since the last timer reset that the pass was running, excluding spawned passes.