module volt.visitor.jsonprinter
Code Map
module volt.visitor.jsonprinter;
class JsonPrinter : NullVisitor
{
public:
this(filename: string) { }
fn transform(target: TargetInfo, mods: ir.Module[]) { }
fn enter(m: ir.Module) Status { }
fn enter(s: ir.Struct) Status { }
fn enter(u: ir.Union) Status { }
fn enter(c: ir.Class) Status { }
fn enter(ifc: ir._Interface) Status { }
fn enter(a: ir.Alias) Status { }
fn enter(i: ir.Import) Status { }
fn enter(f: ir.Function) Status { }
fn enter(v: ir.Variable) Status { }
fn enter(e: ir.Enum) Status { }
fn enter(ed: ir.EnumDeclaration) Status { }
fn leave(ir.Module) Status { }
fn leave(ir.Struct) Status { }
fn leave(ir.Union) Status { }
fn leave(ir.Class) Status { }
fn leave(ir.Enum) Status { }
fn leave(ir._Interface) Status { }
protected:
fn writeTargetInfo(target: TargetInfo) { }
fn writeAlignments(alignment: TargetInfo.Alignments) { }
fn writeNamedTyped(kind: string, name: string, doc: string, type: ir.Type) { }
fn startObject() { }
fn startObject(name: string) { }
fn startList(name: string) { }
fn endObject() { }
fn endList() { }
fn endListAndObject() { }
fn tag(tag: scope (SinkArg), value: scope (SinkArg)) { }
fn tag(tag: scope (SinkArg), value: bool) { }
fn tag(tag: scope (SinkArg), n: size_t) { }
//! Add quotes to s and make it a JSON string (w/ escaping etc).
fn wq(s: scope (SinkArg)) { }
fn wMaybeComma() { }
fn w(s: scope (SinkArg)) { }
}