Browse Source

ResolvedType on contructor calls now includes type arguments.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@651 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
f4706a496d
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs
  2. 10
      src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs

@ -320,6 +320,8 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -320,6 +320,8 @@ namespace Grunwald.BooBinding.CodeCompletion
methods.Add(ICSharpCode.SharpDevelop.Dom.Constructor.CreateDefault(trr.ResolvedClass));
}
ResolveInvocation(methods, node.Arguments);
if (resolveResult != null)
resolveResult.ResolvedType = trr.ResolvedType;
} else {
ClearResult();
}

10
src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs

@ -325,8 +325,14 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -325,8 +325,14 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return CreateMemberResolveResult(Constructor.CreateDefault(c));
}
}
IReturnType[] typeParameters = null; // TODO: get constructor type parameters
return CreateMemberResolveResult(typeVisitor.FindOverload(constructors, typeParameters, ((ObjectCreateExpression)expr).Parameters, null));
IReturnType[] typeParameters = null;
if (type.TypeArguments != null) {
typeParameters = new IReturnType[type.TypeArguments.Count];
type.TypeArguments.CopyTo(typeParameters, 0);
}
ResolveResult rr = CreateMemberResolveResult(typeVisitor.FindOverload(constructors, typeParameters, ((ObjectCreateExpression)expr).Parameters, null));
rr.ResolvedType = type;
return rr;
}
return new ResolveResult(callingClass, callingMember, type);
}

Loading…
Cancel
Save