void ITreeWalker.Visit(DeleteExpression expression) { expression.Validate(this); var member = expression.Payload as MemberExpression; if (member != null) { var variable = member.Member as IdentifierExpression; member.Validate(this); if (variable != null) { variable.Validate(this); InsertDelMember(() => member.Object.Accept(this), variable.Name); } } else { var variable = expression.Payload as VariableExpression; if (variable != null) { variable.Validate(this); InsertDelVariable(variable.Name); } } }
void ITreeWalker.Visit(DeleteExpression expression) { expression.Validate(this); var member = expression.Payload as MemberExpression; if (member != null) { var variable = member.Member as IdentifierExpression; member.Validate(this); if (variable != null) { member.Object.Accept(this); variable.Validate(this); var op = new DelKeyOperation(variable.Name); _operations.Add(op); } } else { var variable = expression.Payload as VariableExpression; if (variable != null) { variable.Validate(this); var op = new DelVarOperation(variable.Name); _operations.Add(op); } } }
void ITreeWalker.Visit(DeleteExpression expression) { expression.Validate(this); expression.Payload.Accept(this); }