public bool IsVariable(E expr, out object variable) { V var; bool res = VisitorForVariable <V, E> .IsVariable(expr, out var, this); variable = var; return(res); }
public static bool IsVariable(E expr, out V var, FullExpressionDecoder <V, E> decoder) { VisitorForVariable <V, E> visitor = decoder.VariableVisitor; bool res = Decode(expr, visitor, decoder); var = visitor.variable; return(res); }
public FullExpressionDecoder(IMetaDataProvider metaDataProvider, IExpressionContextProvider <E, V> contextProvider) { ContextProvider = contextProvider; this.MetaDataProvider = metaDataProvider; this.VariableVisitor = new VisitorForVariable <V, E> (); this.UnderlyingVariableVisitor = new VisitorForUnderlyingVariable <V, E> (); this.UnaryExpressionVisitor = new VisitorForIsUnaryExpression <V, E> (); this.BinaryExpressionVisitor = new VisitorForIsBinaryExpression <V, E> (); this.VariablesInVisitor = new VisitorForVariablesIn <V, E> (contextProvider); this.ValueOfVisitor = new VisitorForValueOf <V, E> (); this.SizeOfVisitor = new VisitorForSizeOf <V, E> (); this.IsInstVisitor = new VisitorForIsInst <V, E> (); this.IsNullVisitor = new VisitorForIsNull <V, E> (); }