Dotty Documentation


abstract class Periods
extends Object

Periods are the central "clock" of the compiler. A period consists of a run id and a phase id. run ids represent compiler runs phase ids represent compiler phases

[-] Constructors

Periods ( )

[-] Members

[+] def atPeriod ( pd: Period ) ( op: Context => T ) : T

Execute op at given period

[+] def atPhase ( pid: PhaseId ) ( op: Context => T ) : T

Execute op at given phase id

[+] def hasSameBaseTypesAs ( p: Period ) : Boolean

Are all base types in the current period guaranteed to be the same as in period p?

[+] def phaseId : Int

The current phase identifier

[+] def runId : Int

The current run identifier

[+] def stablePeriod : Period

The period containing the current period where denotations do not change. We compute this by taking as first phase the first phase less or equal to the current phase that has the same "nextTransformerId". As last phase we take the next transformer id following the current phase.