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

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

@ -160,8 +160,8 @@ namespace OtherNS { @@ -160,8 +160,8 @@ namespace OtherNS {
{
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, baseClass));
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, nestedClass));
Assert.AreEqual("Nested<string>", TypeToString(type, baseClass));
Assert.AreEqual("Nested<string>", TypeToString(type, nestedClass));
Assert.AreEqual("Base<char>.Nested<string>", TypeToString(type, derivedClass));
}

Loading…
Cancel
Save