void OnObject(ref Expression e) { if (e == null || IsNonNullExpression(e)) { return; } switch (e.ExpressionType) { case ExpressionType.LoadLocal: { var s = e as LoadLocal; ValidPointers.Add(s.Variable); break; } case ExpressionType.LoadArgument: { var s = e as LoadArgument; ValidPointers.Add(s.Parameter); break; } } switch (e.ExpressionType) { case ExpressionType.AddressOf: { var s = (AddressOf)e; OnObject(ref s.Operand); break; } default: { e = new LoadPtr(e); break; } } }
public virtual void WriteLoadPtr(LoadPtr s, ExpressionUsage u) { UnsupportedExpression(s); }