module volta.postparse.scopereplacer
Post Parsing Passes

Module containing the ScopeReplacer class.

Code Map

//! Module containing the ScopeReplacer class.
module volta.postparse.scopereplacer;


//! Module containing the ScopeReplacer class.
class ScopeReplacer : NullVisitor, Pass
{
public:
	errSink: ErrorSink;


public:
	this(errSink: ErrorSink) { }
	fn transform(m: ir.Module) { }
	fn transform(m: ir.Module, func: ir.Function, bs: ir.BlockStatement) { }
	fn close() { }
	fn enter(ss: ir.ScopeStatement) Status { }
	fn leave(ss: ir.ScopeStatement) Status { }
	fn enter(rs: ir.ReturnStatement) Status { }
	fn enter(func: ir.Function) Status { }
	fn leave(func: ir.Function) Status { }
	fn leave(bs: ir.BlockStatement) Status { }
	fn visit(td: ir.TemplateDefinition) Status { }


protected:
	mFuncStack: FunctionSink;
	mInScopeStatement: bool;


protected:
	fn funcTop() ir.Function { }
	fn funcPush(func: ir.Function) { }
	fn funcPop(func: ir.Function) { }
	fn handleTry(t: ir.TryStatement) ir.Node { }
	fn handleScope(ss: ir.ScopeStatement) ir.Function { }
	fn convertToFunction(kind: ir.ScopeKind, block: ir.BlockStatement, parent: ir.Function) ir.Function { }
}
class ScopeReplacer : NullVisitor, Pass

Module containing the ScopeReplacer class.