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); }