diff --git a/ICSharpCode.NRefactory.Tests/CSharp/Parser/GeneralScope/AttributeSectionTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/Parser/GeneralScope/AttributeSectionTests.cs index cdf8e1cd09..5cced86459 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/Parser/GeneralScope/AttributeSectionTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/Parser/GeneralScope/AttributeSectionTests.cs @@ -205,5 +205,19 @@ public class Form1 { typeof(NamespaceDeclaration) }, cu.Children.Select(c => c.GetType()).ToArray()); } + + [Ignore("Fixme!")] + [Test] + public void AssemblyAttributeBeforeClass() + { + var cu = new CSharpParser().Parse(new StringReader("using System; [assembly: Attr] class X {}"), "code.cs"); + Assert.AreEqual( + new Type[] { + typeof(UsingDeclaration), + typeof(AttributeSection), + typeof(TypeDeclaration) + }, cu.Children.Select(c => c.GetType()).ToArray()); + Assert.That(((TypeDeclaration)cu.LastChild).Attributes, Is.Empty); + } } } diff --git a/ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs b/ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs index e4cf824595..0ff0b25a58 100644 --- a/ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs +++ b/ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs @@ -76,7 +76,7 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation result.Add(member); } return result.ToArray(); - } else if (unresolved.IsStatic || DeclaringTypeDefinition.Kind == TypeKind.Interface) { + } else if (unresolved.IsStatic || DeclaringTypeDefinition == null || DeclaringTypeDefinition.Kind == TypeKind.Interface) { return EmptyList.Instance; } else { // TODO: implement interface member mappings correctly