module volt.lowerer.newreplacer

Code Map

module volt.lowerer.newreplacer;


class NewReplacer : ScopeManager, Pass
{
public:
	lp: LanguagePass;
	thisModule: ir.Module;


public:
	this(lp: LanguagePass) { }
	fn transform(m: ir.Module) { }
	fn close() { }
	fn enter(exp: ir.Exp, unary: ir.Unary) Status { }


protected:
	fn handleArrayNew(exp: ir.Exp, unary: ir.Unary, array: ir.ArrayType) Status { }
	fn handleArrayCopy(exp: ir.Exp, unary: ir.Unary, array: ir.ArrayType) Status { }
	fn handleClass(exp: ir.Exp, unary: ir.Unary, clazz: ir.Class) Status { }
	fn handleOther(exp: ir.Exp, unary: ir.Unary) Status { }
}

fn createArrayAlloc(loc: const(Location), lp: LanguagePass, baseScope: ir.Scope, atype: ir.ArrayType, sizeArg: ir.Exp) ir.Exp { }
fn buildClassConstructionWrapper(loc: const(Location), lp: LanguagePass, current: ir.Scope, _class: ir.Class, constructor: ir.Function, exps: ir.Exp[]) ir.StatementExp { }