Browse Source

Fixed potential bug in 'NoDefaultConstructorIssue'.

pull/45/merge
Mike Krüger 12 years ago
parent
commit
81c06bd868
  1. 8
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/NoDefaultConstructorIssue.cs

8
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/NoDefaultConstructorIssue.cs

@ -31,11 +31,13 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -31,11 +31,13 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitTypeDeclaration(TypeDeclaration declaration)
{
base.VisitTypeDeclaration(declaration);
var result = ctx.Resolve(declaration) as TypeResolveResult;
if (result == null || result.IsError)
return;
var baseType = result.Type.DirectBaseTypes.FirstOrDefault(t => !t.IsKnownType(KnownTypeCode.Object) && t.Kind != TypeKind.Interface);
if (baseType != null)
{
if (baseType != null) {
var baseConstructor = baseType.GetConstructors(c => c.Parameters.Count == 0).FirstOrDefault();
var memberLookup = new MemberLookup(result.Type.GetDefinition(), ctx.Compilation.MainAssembly, false);
@ -48,8 +50,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -48,8 +50,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
}
}
}
base.VisitTypeDeclaration(declaration);
}
public override void VisitConstructorDeclaration(ConstructorDeclaration declaration)

Loading…
Cancel
Save