Browse Source

Merge remote-tracking branch 'upstream/master' into mansheng

newNRvisualizers
Mansheng Yang 14 years ago
parent
commit
f9aa82cf49
  1. 11
      ICSharpCode.NRefactory.CSharp/Ast/Expressions/PointerReferenceExpression.cs
  2. 2
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
  3. 4
      ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs
  4. 2
      ICSharpCode.NRefactory.CSharp/Resolver/CSharpResolver.cs
  5. 2
      ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs
  6. 5
      ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs

11
ICSharpCode.NRefactory.CSharp/Ast/Expressions/PointerReferenceExpression.cs

@ -49,7 +49,16 @@ namespace ICSharpCode.NRefactory.CSharp
return GetChildByRole (Roles.Identifier).Name; return GetChildByRole (Roles.Identifier).Name;
} }
set { set {
SetChildByRole(Roles.Identifier, Identifier.Create (value)); SetChildByRole(Roles.Identifier, Identifier.Create (value));
}
}
public Identifier MemberNameToken {
get {
return GetChildByRole (Roles.Identifier);
}
set {
SetChildByRole (Roles.Identifier, value);
} }
} }

2
ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs

@ -2324,7 +2324,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
result.AddMember(field); result.AddMember(field);
} }
foreach (var m in type.GetMethods ()) { foreach (var m in type.GetMethods ()) {
if (m.Name == "TryParse") { if (m.IsStatic && m.IsPublic) {
result.AddMember(m); result.AddMember(m);
} }
} }

4
ICSharpCode.NRefactory.CSharp/Completion/CompletionDataWrapper.cs

@ -80,6 +80,8 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
{ {
if (type == null || string.IsNullOrEmpty(shortType) || usedTypes.Contains(shortType)) if (type == null || string.IsNullOrEmpty(shortType) || usedTypes.Contains(shortType))
return null; return null;
if (type.Name == "Void" && type.Namespace == "System")
return null;
usedTypes.Add(shortType); usedTypes.Add(shortType);
var iCompletionData = Factory.CreateTypeCompletionData(type, shortType); var iCompletionData = Factory.CreateTypeCompletionData(type, shortType);
result.Add(iCompletionData); result.Add(iCompletionData);
@ -90,6 +92,8 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
{ {
if (type == null || string.IsNullOrEmpty(shortType) || usedTypes.Contains(shortType)) if (type == null || string.IsNullOrEmpty(shortType) || usedTypes.Contains(shortType))
return null; return null;
if (type.Name == "Void" && type.Namespace == "System")
return null;
usedTypes.Add(shortType); usedTypes.Add(shortType);
var iCompletionData = Factory.CreateTypeCompletionData(type, shortType); var iCompletionData = Factory.CreateTypeCompletionData(type, shortType);
result.Add(iCompletionData); result.Add(iCompletionData);

2
ICSharpCode.NRefactory.CSharp/Resolver/CSharpResolver.cs

@ -1618,7 +1618,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
throw new NotSupportedException("Invalid value for NameLookupMode"); throw new NotSupportedException("Invalid value for NameLookupMode");
} }
if (result is UnknownMemberResolveResult) { if (result is UnknownMemberResolveResult) {
var extensionMethods = GetExtensionMethods(identifier, typeArguments); var extensionMethods = GetExtensionMethods(target.Type, identifier, typeArguments, true);
if (extensionMethods.Count > 0) { if (extensionMethods.Count > 0) {
return new MethodGroupResolveResult(target, identifier, EmptyList<MethodListWithDeclaringType>.Instance, typeArguments) { return new MethodGroupResolveResult(target, identifier, EmptyList<MethodListWithDeclaringType>.Instance, typeArguments) {
extensionMethods = extensionMethods extensionMethods = extensionMethods

2
ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs

@ -592,7 +592,7 @@ class TestClass
} }
}"); }");
Assert.IsNotNull (provider, "provider was not created."); Assert.IsNotNull (provider, "provider was not created.");
Assert.AreEqual (6, provider.Count); Assert.IsTrue (provider.Count > 0);
} }
[Test()] [Test()]

5
ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs

@ -1175,7 +1175,8 @@ namespace ICSharpCode.NRefactory.TypeSystem
public KeyValuePair<IMember, ResolveResult> ReadNamedArg(IType attributeType) public KeyValuePair<IMember, ResolveResult> ReadNamedArg(IType attributeType)
{ {
EntityType memberType; EntityType memberType;
switch (ReadByte()) { var b = ReadByte();
switch (b) {
case 0x53: case 0x53:
memberType = EntityType.Field; memberType = EntityType.Field;
break; break;
@ -1183,7 +1184,7 @@ namespace ICSharpCode.NRefactory.TypeSystem
memberType = EntityType.Property; memberType = EntityType.Property;
break; break;
default: default:
throw new NotSupportedException(); throw new NotSupportedException(string.Format("Custom member type 0x{0:x} is not supported.", b));
} }
IType type = ReadCustomAttributeFieldOrPropType(); IType type = ReadCustomAttributeFieldOrPropType();
string name = ReadSerString(); string name = ReadSerString();

Loading…
Cancel
Save