public ICodeNode VisitMethodInvocationExpression(MethodInvocationExpression node) { if (!node.IsTypeOfExpression(out V_0)) { return(null); } return(new TypeOfExpression(V_0, node.get_UnderlyingSameMethodInstructions())); }
public override ICodeNode VisitMethodInvocationExpression(MethodInvocationExpression node) { V_0 = node.get_MethodExpression(); if (V_0.get_Target() != null) { if (V_0.get_Target().get_CodeNodeType() == 26 && this.asyncData.get_AwaiterVariables().Contains((V_0.get_Target() as VariableReferenceExpression).get_Variable())) { V_1 = (V_0.get_Target() as VariableReferenceExpression).get_Variable(); if ((object)this.currentAwaiterVariable == (object)V_1) { if (!String.op_Equality(V_0.get_Method().get_Name(), "get_IsCompleted")) { if (String.op_Equality(V_0.get_Method().get_Name(), "GetResult") && this.matcherState & 2 == 2) { this.matcherState = this.matcherState ^ 2; return(new AwaitExpression((Expression)this.Visit(this.awaitedExpression), V_0.get_Method().get_ReturnType(), node.get_UnderlyingSameMethodInstructions())); } } else { if (this.matcherState == 1) { this.matcherState = 6; return(null); } } } this.matcherState = 8; return(node); } if (V_0.get_Target().get_CodeNodeType() == 30 && (object)(V_0.get_Target() as FieldReferenceExpression).get_Field().Resolve() == (object)this.builderField && String.op_Equality(V_0.get_Method().get_Name(), "SetResult")) { if (node.get_Arguments().get_Count() > 0) { stackVariable34 = node.get_Arguments().get_Item(0); } else { stackVariable34 = null; } return(new ReturnExpression(stackVariable34, V_0.get_UnderlyingSameMethodInstructions())); } } return(this.VisitMethodInvocationExpression(node)); }