public AbstractType Visit(PostfixExpression_MethodCall call)
        {
            List <ISemantic> callArgs;
            ISymbolValue     delegValue;

            AbstractType[]             baseExpression;
            TemplateInstanceExpression tix;

            GetRawCallOverloads(ctxt, call.PostfixForeExpression, out baseExpression, out tix);

            return(Evaluation.EvalMethodCall(baseExpression, null, tix, ctxt, call, out callArgs, out delegValue, !ctxt.Options.HasFlag(ResolutionOptions.ReturnMethodReferencesOnly)));
        }
Example #2
0
        public AbstractType Visit(PostfixExpression_MethodCall call)
        {
            List <ISemantic> callArgs;
            ISymbolValue     delegValue;

            AbstractType[]             baseExpression;
            TemplateInstanceExpression tix;

            GetRawCallOverloads(ctxt, call, out baseExpression, out tix);

            var argTypeFilteredOverloads = Evaluation.EvalMethodCall(baseExpression, null, tix, ctxt, call, out callArgs, out delegValue, !ctxt.Options.HasFlag(ResolutionOptions.ReturnMethodReferencesOnly));

            // Check if one overload remains and return that one.
            ctxt.CheckForSingleResult(argTypeFilteredOverloads, call);
            return(argTypeFilteredOverloads != null && argTypeFilteredOverloads.Count != 0 ? argTypeFilteredOverloads[0] : null);
        }