public ResolveResult Resolve (Expression expression) { ResolveResult result = expression.AcceptVisitor (this, null) as ResolveResult; if (result == null) result = CreateResult (""); return result; }
public ResolveResult Resolve(Expression expression) { ResolveResult rr; if (!cachedResults.TryGetValue(expression, out rr)) { rr = (ResolveResult)expression.AcceptVisitor(this, null); if (rr != null) rr.Freeze(); cachedResults[expression] = rr; } return rr; }
public static Expression Convert(NR.Expression expression, ConverterSettings settings) { if (expression == null) { throw new ArgumentNullException("expression"); } if (settings == null) { throw new ArgumentNullException("settings"); } return((Expression)expression.AcceptVisitor(new ConvertVisitor(settings), null)); }
private object CreateUnaryOperatorStatement(string op, Expression expression) { this.Append(op); expression.AcceptVisitor(this, null); return null; }
private void CreateSwitchCaseCondition(string prefix, Expression switchExpression, CaseLabel label) { this.Append(prefix); switchExpression.AcceptVisitor(this, null); this.Append(" == "); label.Label.AcceptVisitor(this, null); }
void AddEventHandler(Expression eventExpr, Expression handler, object data) { methodReference = true; CodeExpression methodInvoker = (CodeExpression)handler.AcceptVisitor(this, data); methodReference = false; if (!(methodInvoker is CodeObjectCreateExpression)) { // we need to create an event handler here methodInvoker = new CodeObjectCreateExpression(new CodeTypeReference("System.EventHandler"), methodInvoker); } if (eventExpr is IdentifierExpression) { AddStmt(new CodeAttachEventStatement(new CodeEventReferenceExpression(new CodeThisReferenceExpression(), ((IdentifierExpression)eventExpr).Identifier), methodInvoker)); } else { MemberReferenceExpression fr = (MemberReferenceExpression)eventExpr; AddStmt(new CodeAttachEventStatement(new CodeEventReferenceExpression((CodeExpression)fr.TargetObject.AcceptVisitor(this, data), fr.MemberName), methodInvoker)); } }
/// <summary> /// Creates a remove statement (i.e. button.Click -= ButtonClick) /// </summary> object CreateRemoveHandlerStatement(Expression eventExpression, Expression eventHandlerExpression) { CreateEventReferenceExpression(eventExpression); Append(".remove(On"); eventHandlerExpression.AcceptVisitor(this, null); Append(")"); return null; }
public bool Evaluate(Expression condition) { return condition.AcceptVisitor(this, null) == SymbolDefined; }