module volt.visitor.debugprinter
Code Map
module volt.visitor.debugprinter;
class DebugMarker : Pass
{
public:
this(text: string) { }
fn transform(m: ir.Module) { }
fn close() { }
protected:
mText: string;
}
class DebugPrinter : Visitor, Pass
{
public:
this(indentText: string, sink: void delegate(scope (const(scope (char)[]))) { }
fn visitingError(n: ir.Node, msg: string) Status { }
fn close() { }
fn transform(m: ir.Module) { }
fn transformExp(exp: ir.Exp) { }
fn transformNode(n: ir.Node) { }
fn leave(n: ir.Module) Status { }
fn enter(n: ir.TopLevelBlock) Status { }
fn leave(n: ir.TopLevelBlock) Status { }
fn enter(n: ir.Import) Status { }
fn leave(n: ir.Import) Status { }
fn enter(n: ir.Unittest) Status { }
fn leave(n: ir.Unittest) Status { }
fn enter(n: ir.Class) Status { }
fn leave(n: ir.Class) Status { }
fn enter(n: ir._Interface) Status { }
fn leave(n: ir._Interface) Status { }
fn enter(n: ir.Struct) Status { }
fn leave(n: ir.Struct) Status { }
fn enter(n: ir.Union) Status { }
fn leave(n: ir.Union) Status { }
fn enter(n: ir.Variable) Status { }
fn leave(n: ir.Variable) Status { }
fn enter(n: ir.FunctionParam) Status { }
fn leave(n: ir.FunctionParam) Status { }
fn enter(n: ir.Enum) Status { }
fn leave(n: ir.Enum) Status { }
fn enter(n: ir.Condition) Status { }
fn leave(n: ir.Condition) Status { }
fn enter(n: ir.ConditionTopLevel) Status { }
fn leave(n: ir.ConditionTopLevel) Status { }
fn leave(n: ir.MixinFunction) Status { }
fn leave(n: ir.MixinTemplate) Status { }
fn visit(n: ir.QualifiedName) Status { }
fn enter(n: ir.Module) Status { }
fn enter(n: ir.MixinFunction) Status { }
fn enter(n: ir.MixinTemplate) Status { }
fn visit(n: ir.Identifier) Status { }
fn enter(n: ir.ExpStatement) Status { }
fn leave(n: ir.ExpStatement) Status { }
fn enter(n: ir.ReturnStatement) Status { }
fn leave(n: ir.ReturnStatement) Status { }
fn enter(n: ir.BlockStatement) Status { }
fn leave(n: ir.BlockStatement) Status { }
fn enter(n: ir.AsmStatement) Status { }
fn leave(n: ir.AsmStatement) Status { }
fn enter(n: ir.IfStatement) Status { }
fn leave(n: ir.IfStatement) Status { }
fn enter(n: ir.WhileStatement) Status { }
fn leave(n: ir.WhileStatement) Status { }
fn enter(n: ir.DoStatement) Status { }
fn leave(n: ir.DoStatement) Status { }
fn enter(n: ir.ForStatement) Status { }
fn leave(n: ir.ForStatement) Status { }
fn enter(n: ir.ForeachStatement) Status { }
fn leave(n: ir.ForeachStatement) Status { }
fn enter(n: ir.LabelStatement) Status { }
fn leave(n: ir.LabelStatement) Status { }
fn enter(n: ir.SwitchStatement) Status { }
fn leave(n: ir.SwitchStatement) Status { }
fn enter(n: ir.SwitchCase) Status { }
fn leave(n: ir.SwitchCase) Status { }
fn enter(n: ir.GotoStatement) Status { }
fn leave(n: ir.GotoStatement) Status { }
fn enter(n: ir.WithStatement) Status { }
fn leave(n: ir.WithStatement) Status { }
fn enter(n: ir.SynchronizedStatement) Status { }
fn leave(n: ir.SynchronizedStatement) Status { }
fn enter(n: ir.TryStatement) Status { }
fn leave(n: ir.TryStatement) Status { }
fn enter(n: ir.ThrowStatement) Status { }
fn leave(n: ir.ThrowStatement) Status { }
fn enter(n: ir.ScopeStatement) Status { }
fn leave(n: ir.ScopeStatement) Status { }
fn enter(n: ir.PragmaStatement) Status { }
fn leave(n: ir.PragmaStatement) Status { }
fn enter(n: ir.ConditionStatement) Status { }
fn leave(n: ir.ConditionStatement) Status { }
fn enter(n: ir.MixinStatement) Status { }
fn leave(n: ir.MixinStatement) Status { }
fn enter(n: ir.AssertStatement) Status { }
fn leave(n: ir.AssertStatement) Status { }
fn visit(n: ir.ContinueStatement) Status { }
fn visit(n: ir.BreakStatement) Status { }
fn enter(n: ir.PointerType) Status { }
fn leave(n: ir.PointerType) Status { }
fn enter(n: ir.ArrayType) Status { }
fn leave(n: ir.ArrayType) Status { }
fn enter(n: ir.StaticArrayType) Status { }
fn leave(n: ir.StaticArrayType) Status { }
fn enter(n: ir.AmbiguousArrayType) Status { }
fn leave(n: ir.AmbiguousArrayType) Status { }
fn enter(n: ir.AAType) Status { }
fn leave(n: ir.AAType) Status { }
fn enter(n: ir.FunctionType) Status { }
fn leave(n: ir.FunctionType) Status { }
fn enter(n: ir.DelegateType) Status { }
fn leave(n: ir.DelegateType) Status { }
fn enter(n: ir.Function) Status { }
fn leave(n: ir.Function) Status { }
fn enter(n: ir.StorageType) Status { }
fn leave(n: ir.StorageType) Status { }
fn enter(n: ir.Attribute) Status { }
fn leave(n: ir.Attribute) Status { }
fn enter(n: ir.Alias) Status { }
fn leave(n: ir.Alias) Status { }
fn enter(n: ir.TypeOf) Status { }
fn leave(n: ir.TypeOf) Status { }
fn enter(n: ir.EnumDeclaration) Status { }
fn leave(n: ir.EnumDeclaration) Status { }
fn enter(n: ir.AliasStaticIf) Status { }
fn leave(n: ir.AliasStaticIf) Status { }
fn enter(n: ir.TemplateInstance) Status { }
fn leave(n: ir.TemplateInstance) Status { }
fn visit(n: ir.TemplateDefinition) Status { }
fn visit(n: ir.NullType) Status { }
fn visit(n: ir.PrimitiveType) Status { }
fn visit(n: ir.TypeReference) Status { }
fn visit(n: ir.AutoType) Status { }
fn visit(n: ir.NoType) Status { }
fn enter(ir.Exp, n: ir.Postfix) Status { }
fn leave(ir.Exp, n: ir.Postfix) Status { }
fn enter(ir.Exp, n: ir.Unary) Status { }
fn leave(ir.Exp, n: ir.Unary) Status { }
fn enter(ir.Exp, n: ir.BinOp) Status { }
fn leave(ir.Exp, n: ir.BinOp) Status { }
fn enter(ir.Exp, n: ir.Ternary) Status { }
fn leave(ir.Exp, n: ir.Ternary) Status { }
fn enter(ir.Exp, n: ir.ArrayLiteral) Status { }
fn leave(ir.Exp, n: ir.ArrayLiteral) Status { }
fn enter(ir.Exp, n: ir.AssocArray) Status { }
fn leave(ir.Exp, n: ir.AssocArray) Status { }
fn enter(ir.Exp, n: ir.Assert) Status { }
fn leave(ir.Exp, n: ir.Assert) Status { }
fn enter(ir.Exp, n: ir.StringImport) Status { }
fn leave(ir.Exp, n: ir.StringImport) Status { }
fn enter(ir.Exp, n: ir.Typeid) Status { }
fn leave(ir.Exp, n: ir.Typeid) Status { }
fn enter(ir.Exp, n: ir.IsExp) Status { }
fn leave(ir.Exp, n: ir.IsExp) Status { }
fn enter(ir.Exp, n: ir.FunctionLiteral) Status { }
fn leave(ir.Exp, n: ir.FunctionLiteral) Status { }
fn enter(ir.Exp, n: ir.StructLiteral) Status { }
fn leave(ir.Exp, n: ir.StructLiteral) Status { }
fn enter(ir.Exp, n: ir.UnionLiteral) Status { }
fn leave(ir.Exp, n: ir.UnionLiteral) Status { }
fn enter(ir.Exp, n: ir.ClassLiteral) Status { }
fn leave(ir.Exp, n: ir.ClassLiteral) Status { }
fn enter(ir.Exp, n: ir.Constant) Status { }
fn leave(ir.Exp, n: ir.Constant) Status { }
fn enter(ir.Exp, n: ir.TypeExp) Status { }
fn leave(ir.Exp, n: ir.TypeExp) Status { }
fn enter(ir.Exp, n: ir.StatementExp) Status { }
fn leave(ir.Exp, n: ir.StatementExp) Status { }
fn enter(ir.Exp, n: ir.VaArgExp) Status { }
fn leave(ir.Exp, n: ir.VaArgExp) Status { }
fn enter(ir.Exp, n: ir.PropertyExp) Status { }
fn leave(ir.Exp, n: ir.PropertyExp) Status { }
fn enter(ir.Exp, n: ir.BuiltinExp) Status { }
fn leave(ir.Exp, n: ir.BuiltinExp) Status { }
fn enter(ir.Exp, n: ir.AccessExp) Status { }
fn leave(ir.Exp, n: ir.AccessExp) Status { }
fn enter(ir.Exp, n: ir.RunExp) Status { }
fn leave(ir.Exp, n: ir.RunExp) Status { }
fn enter(ir.Exp, n: ir.ComposableString) Status { }
fn leave(ir.Exp, n: ir.ComposableString) Status { }
fn visit(ir.Exp, n: ir.ExpReference) Status { }
fn visit(ir.Exp, n: ir.TokenExp) Status { }
fn visit(ir.Exp, n: ir.StoreExp) Status { }
fn visit(ir.Exp, n: ir.IdentifierExp) Status { }
protected:
mFilename: string;
mStream: OutputStream;
mSink: void delegate(scope (const(scope (char)[]));
mIndent: i32;
mLastIndent: i32;
mIndentText: string;
protected:
fn enterNode(node: ir.Node) { }
fn enterNode(node: ir.Node, extra: string) { }
fn printTypeFields(node: ir.Node) { }
fn leaveNode(node: ir.Node) { }
fn visitRef(node: ir.Node, r: ir.Node) { }
fn visitNamed(n: ir.Node) { }
fn visitNames(name: string, mangledName: string) { }
fn visitName(name: string) { }
fn visitNode(node: ir.Node) { }
fn twf(strings: scope (scope (string)[])) { }
fn twfln(strings: scope (scope (string)[])) { }
fn wf(strings: scope (scope (string)[])) { }
fn wf(i: size_t) { }
fn wfln(str: string) { }
fn ln() { }
}
fn debugPrinter(m: ir.Module) { }
fn debugPrintNode(n: ir.Node) { }