module volt.semantic.languagepass
Code Map
module volt.semantic.languagepass;
enum Mode
{
Normal,
RemoveConditionalsOnly,
MissingDeps,
}
//! Default implementation of LanguagePass, replace this if you wish to any
//! of the semantics of the language.
class VoltLanguagePass : LanguagePass
{
public:
//! Phases fields.
passes1: Pass[];
//! Phases fields.
passes2: Pass[];
//! Phases fields.
passes3: Pass[];
postParseImpl: PostParseImpl;
public:
this(err: ErrorSink, drv: Driver, ver: VersionSet, target: TargetInfo, settings: Settings, frontend: Frontend, mode: Mode, warnings: bool) { }
fn close() { }
//! This functions sets up the pointers to the often used inbuilt classes,
//! such as object.Object and object.TypeInfo. This needs to be called
//! after the Driver is fully setup.
fn setupOneTruePointers() { }
fn addModule(m: ir.Module) { }
fn getModule(name: ir.QualifiedName) ir.Module { }
fn getModules() ir.Module[] { }
fn startResolving(n: ir.Node) DoneDg { }
fn startActualizing(n: ir.Node) DoneDg { }
fn resolve(current: ir.Scope, userAttrs: ir.Attribute[]) { }
fn resolve(current: ir.Scope, eref: ir.ExpReference) { }
fn resolve(current: ir.Scope, a: ir.Attribute) { }
fn resolve(current: ir.Scope, ti: ir.TemplateInstance) { }
fn resolve(current: ir.Scope, ed: ir.EnumDeclaration) { }
fn resolve(s: ir.Store) { }
fn phase1(m: ir.Module) { }
fn phase2(m: ir.Module) { }
fn phase3(m: ir.Module) { }
fn phase1(ms: ir.Module[]) { }
fn phase2(ms: ir.Module[]) { }
fn phase3(ms: ir.Module[]) { }
fn resolve(current: ir.Scope, members: ir.TopLevelBlock) { }
protected:
fn doResolve(current: ir.Scope, v: ir.Variable) { }
fn doResolve(current: ir.Scope, func: ir.Function) { }
fn doResolve(a: ir.Alias) { }
fn doResolve(e: ir.Enum) { }
fn doResolve(s: ir.Struct) { }
fn doResolve(u: ir.Union) { }
fn doResolve(c: ir.Class) { }
fn doResolve(i: ir._Interface) { }
fn doActualize(i: ir._Interface) { }
fn doActualize(s: ir.Struct) { }
fn doActualize(u: ir.Union) { }
fn doActualize(c: ir.Class) { }
}
class VoltLanguagePass : LanguagePass
Default implementation of LanguagePass, replace this if you wish to any of the semantics of the language.
passes1: Pass[]
Phases fields.
passes2: Pass[]
Phases fields.
passes3: Pass[]
Phases fields.
fn setupOneTruePointers()
This functions sets up the pointers to the often used inbuilt classes, such as object.Object and object.TypeInfo. This needs to be called after the Driver is fully setup.