Browse Source

Fixed unit tests.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
1d8918caa6
  1. 17
      ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs
  2. 4
      ICSharpCode.NRefactory.Tests/CSharp/Refactoring/TypeSystemAstBuilderTests.cs

17
ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs

@ -187,18 +187,19 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
AddTypeArguments(shortResult, typeArguments, outerTypeParameterCount, typeDef.TypeParameterCount); AddTypeArguments(shortResult, typeArguments, outerTypeParameterCount, typeDef.TypeParameterCount);
return shortResult; return shortResult;
} }
MemberType result = new MemberType(); MemberType result = new MemberType();
if (typeDef.DeclaringTypeDefinition != null) { if (typeDef.DeclaringTypeDefinition != null) {
// check if the declaring type is a nested type in the nested type hierarchy // check if the declaring type is a nested type in the nested type hierarchy
var declaringType = resolver.CurrentTypeDefinition; if (resolver != null) {
while (declaringType != null) { var declaringType = resolver.CurrentTypeDefinition;
if (typeDef.DeclaringTypeDefinition.Equals (declaringType)) { while (declaringType != null) {
var innerType = new SimpleType(typeDef.Name); if (typeDef.DeclaringTypeDefinition.Equals (declaringType)) {
AddTypeArguments(innerType, typeArguments, outerTypeParameterCount, typeDef.TypeParameterCount); var innerType = new SimpleType(typeDef.Name);
return innerType; AddTypeArguments(innerType, typeArguments, outerTypeParameterCount, typeDef.TypeParameterCount);
return innerType;
}
declaringType = declaringType.DeclaringTypeDefinition;
} }
declaringType = declaringType.DeclaringTypeDefinition;
} }
// Handle nested types // Handle nested types

4
ICSharpCode.NRefactory.Tests/CSharp/Refactoring/TypeSystemAstBuilderTests.cs

@ -160,8 +160,8 @@ namespace OtherNS {
{ {
var type = new ParameterizedType(nestedClass, new[] { compilation.FindType(KnownTypeCode.Char), compilation.FindType(KnownTypeCode.String) }); var type = new ParameterizedType(nestedClass, new[] { compilation.FindType(KnownTypeCode.Char), compilation.FindType(KnownTypeCode.String) });
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type)); Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type));
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, baseClass)); Assert.AreEqual("Nested<string>", TypeToString(type, baseClass));
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, nestedClass)); Assert.AreEqual("Nested<string>", TypeToString(type, nestedClass));
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, derivedClass)); Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, derivedClass));
} }

Loading…
Cancel
Save