public static bool IsIsInst(Expression exp, out Type type, out Expression arg, Decoder decoder) { VisitorForIsInst visitor = decoder.visitorForIsInst; bool result = Decode(exp, visitor, decoder); type = visitor.Type; arg = visitor.Argument; return(result); }
public Decoder(IExpressionContext <Local, Parameter, Method, Field, Type, Expression, Variable> context, IDecodeMetaData <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly> decoderForMetaData) { Contract.Requires(context != null); this.context = context; this.decoderForMetaData = decoderForMetaData; visitorForIsUnaryExpression = new VisitorForIsUnaryExpression(); visitorForIsBinaryExpression = new VisitorForIsBinaryExpression(); visitorForVariablesIn = new VisitorForVariablesIn(context); visitorForValueOf = new VisitorForValueOf(); visitorForSizeOf = new VisitorForSizeOf(); visitorForIsNull = new VisitorForIsNull(); visitorForVariable = new VisitorForVariable(); visitorForIsInst = new VisitorForIsInst(); visitorForUnderlyingVariable = new VisitorForUnderlyingVariable(); visitorForDispatch = new VisitorForDispatch(this); }
public bool IsInst(Expression exp, out Expression arg, out Type type) { return(VisitorForIsInst.IsIsInst(exp, out type, out arg, this)); }