module volt.semantic.templatelifter

Code Map

module volt.semantic.templatelifter;


class TemplateLifter : Lifter
{
public:
	currentTemplateDefinitionName: string;
	currentInstanceType: ir.Type;


public:
	this() { }
	fn lift(old: ir.TopLevelBlock) ir.TopLevelBlock { }
	fn lift(old: ir.Function) ir.Function { }
	fn liftInPlace(old: ir.Function, f: ir.Function) { }
	fn lift(old: ir.FunctionParam) ir.FunctionParam { }
	fn lift(n: ir.Variable) ir.Variable { }
	fn lift(old: ir.Import) ir.Import { }
	fn lift(old: ir.Module) ir.Module { }
	fn lift(old: ir.Aggregate) ir.Aggregate { }
	fn lift(old: ir.Enum) ir.Enum { }
	fn lift(en: ir.Enum, old: ir.EnumDeclaration) ir.EnumDeclaration { }
	fn lift(old: ir.Alias) ir.Alias { }
	fn lift(old: ir.Struct) ir.Struct { }
	fn lift(old: ir.Union) ir.Union { }
	fn lift(old: ir.Class) ir.Class { }
	fn lift(old: ir._Interface) ir._Interface { }
	fn liftedOrPanic(node: ir.Node, msg: string) ir.Node { }
	fn copy(parent: ir.Scope, old: ir.BlockStatement) ir.BlockStatement { }
	fn copy(old: ir.FunctionType) ir.FunctionType { }
	fn copy(old: ir.TypeReference) ir.TypeReference { }
	fn templateLift(_current: ir.Scope, lp: LanguagePass, ti: ir.TemplateInstance) { }
	fn templateLiftFunction(_current: ir.Scope, lp: LanguagePass, ti: ir.TemplateInstance) { }
	fn templateLiftAggregate(_current: ir.Scope, lp: LanguagePass, ti: ir.TemplateInstance) { }
}