Beispiel #1
0
        ResolveResult FallbackResolveMethod(InvocationExpression invocation, MethodGroupResolveResult mgrr, IReturnType[] argumentTypes)
        {
            // method not found, let's try if we can find a method if we violate the
            // accessibility rules
            MemberReferenceExpression mre = invocation.TargetObject as MemberReferenceExpression;

            if (mre != null)
            {
                List <IMethod> methods = mgrr.ContainingType.GetMethods().Where(m => resolver.IsSameName(m.Name, mre.MemberName)).ToList();
                bool           resultIsAcceptable;
                IMethod        result = MemberLookupHelper.FindOverload(
                    methods, argumentTypes, out resultIsAcceptable);
                if (result != null)
                {
                    return(CreateMemberResolveResult(result));
                }
            }

            return(resolver.CreateUnknownMethodResolveResult(invocation));
        }
 public override object VisitUsing(Using @using, object data)
 {
     base.VisitUsing(@using, data);
     if (projectContent != null && projectContent.DefaultImports != null)
     {
         if ([email protected])
         {
             // remove using if it is already part of the project-wide imports
             foreach (string defaultImport in projectContent.DefaultImports.Usings)
             {
                 if (resolver.IsSameName(defaultImport, @using.Name))
                 {
                     RemoveCurrentNode();
                     break;
                 }
             }
         }
     }
     return(null);
 }