public NRefactoryParameterDataProvider (TextEditorData editor, NRefactoryResolver resolver, ThisResolveResult resolveResult) { HashSet<string> alreadyAdded = new HashSet<string> (); if (resolveResult.CallingType != null) { bool includeProtected = true; foreach (IMethod method in resolveResult.CallingType.Methods) { if (!method.IsConstructor) continue; string str = ambience.GetString (method, OutputFlags.IncludeParameters); if (alreadyAdded.Contains (str)) continue; alreadyAdded.Add (str); if (method.IsAccessibleFrom (resolver.Dom, resolver.CallingType, resolver.CallingMember, includeProtected)) methods.Add (method); } } }
public override object VisitThisReferenceExpression (ThisReferenceExpression thisReferenceExpression, object data) { if (resolver.CallingType == null) return CreateResult (DomReturnType.Void); ThisResolveResult result = new ThisResolveResult (); result.CallingType = resolver.CallingType; result.CallingMember = resolver.CallingMember; result.UnresolvedType = result.ResolvedType = DomReturnType.GetSharedReturnType (new DomReturnType (resolver.CallingType)); return result; }