module volt.lowerer.manglewriter
Code Map
module volt.lowerer.manglewriter;
//! Apply mangle symbols to Types and Functions.
class MangleWriter : NullVisitor, Pass
{
public:
parentNames: StringStack;
functionDepth: i32;
aggregateDepth: i32;
public:
this() { }
fn transform(m: ir.Module) { }
fn close() { }
fn push(name: string) { }
fn pop(name: string) { }
fn enter(s: ir.Struct) Status { }
fn leave(s: ir.Struct) Status { }
fn enter(u: ir.Union) Status { }
fn leave(u: ir.Union) Status { }
fn enter(c: ir.Class) Status { }
fn leave(c: ir.Class) Status { }
fn visit(pt: ir.PrimitiveType) Status { }
fn enter(at: ir.ArrayType) Status { }
fn enter(sat: ir.StaticArrayType) Status { }
fn enter(pt: ir.PointerType) Status { }
fn enter(e: ir.Enum) Status { }
fn enter(i: ir._Interface) Status { }
fn enter(ft: ir.FunctionType) Status { }
fn enter(dt: ir.DelegateType) Status { }
fn visit(tr: ir.TypeReference) Status { }
fn enter(aat: ir.AAType) Status { }
fn visit(nt: ir.NullType) Status { }
fn enter(array: ir.AmbiguousArrayType) Status { }
fn enter(attr: ir.Attribute) Status { }
fn enter(typeOf: ir.TypeOf) Status { }
fn enter(ed: ir.EnumDeclaration) Status { }
fn visit(at: ir.AutoType) Status { }
fn visit(at: ir.NoType) Status { }
fn enter(func: ir.Function) Status { }
fn enter(fp: ir.FunctionParam) Status { }
fn leave(func: ir.Function) Status { }
fn enter(a: ir.Alias) Status { }
fn enter(v: ir.Variable) Status { }
fn mangleType(n: ir.Node) { }
}
class MangleWriter : NullVisitor, Pass
Apply mangle symbols to Types and Functions.