module volta.visitor.setExpLocationVisitor

Code Map

module volta.visitor.setExpLocationVisitor;


//! Set the loc field for expressions.
class SetExpLocationVisitor : visitor.NullVisitor
{
public:
	newLocation: location.Location;


public:
	this() { }
	fn enter(exp: ir.Exp, postfix: ir.Postfix) Status { }
	fn enter(exp: ir.Exp, unary: ir.Unary) Status { }
	fn enter(exp: ir.Exp, binop: ir.BinOp) Status { }
	fn enter(exp: ir.Exp, ternary: ir.Ternary) Status { }
	fn enter(exp: ir.Exp, literal: ir.ArrayLiteral) Status { }
	fn enter(exp: ir.Exp, aa: ir.AssocArray) Status { }
	fn enter(exp: ir.Exp, _assert: ir.Assert) Status { }
	fn enter(exp: ir.Exp, simport: ir.StringImport) Status { }
	fn enter(exp: ir.Exp, tid: ir.Typeid) Status { }
	fn enter(exp: ir.Exp, iexp: ir.IsExp) Status { }
	fn enter(exp: ir.Exp, fliteral: ir.FunctionLiteral) Status { }
	fn enter(exp: ir.Exp, sliteral: ir.StructLiteral) Status { }
	fn enter(exp: ir.Exp, uliteral: ir.UnionLiteral) Status { }
	fn enter(exp: ir.Exp, cliteral: ir.ClassLiteral) Status { }
	fn enter(exp: ir.Exp, _constant: ir.Constant) Status { }
	fn enter(exp: ir.Exp, texp: ir.TypeExp) Status { }
	fn enter(exp: ir.Exp, sexp: ir.StatementExp) Status { }
	fn enter(exp: ir.Exp, vexp: ir.VaArgExp) Status { }
	fn enter(exp: ir.Exp, pexp: ir.PropertyExp) Status { }
	fn enter(exp: ir.Exp, bexp: ir.BuiltinExp) Status { }
	fn enter(exp: ir.Exp, aexp: ir.AccessExp) Status { }
	fn enter(exp: ir.Exp, rexp: ir.RunExp) Status { }
	fn enter(exp: ir.Exp, cstring: ir.ComposableString) Status { }
	fn visit(exp: ir.Exp, iexp: ir.IdentifierExp) Status { }
	fn visit(exp: ir.Exp, eref: ir.ExpReference) Status { }
	fn visit(exp: ir.Exp, texp: ir.TokenExp) Status { }
	fn visit(exp: ir.Exp, storeExp: ir.StoreExp) Status { }
}
class SetExpLocationVisitor : visitor.NullVisitor

Set the loc field for expressions.

Set newLocation, and call acceptExp on the expression.