diff --git a/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs b/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs
index 03c21a406a..ed0f5f6e38 100644
--- a/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs
+++ b/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs
@@ -289,8 +289,11 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis
{
if (member.EntityType != EntityType.Method || member.ReturnType.Kind != TypeKind.Void)
return false;
- while (member.IsOverride)
+ while (member.IsOverride) {
member = (IParameterizedMember)InheritanceHelper.GetBaseMember(member);
+ if (member == null)
+ return false;
+ }
return IsInactiveConditional(member.Attributes);
}
diff --git a/ICSharpCode.NRefactory.CSharp/Ast/AstNodeCollection.cs b/ICSharpCode.NRefactory.CSharp/Ast/AstNodeCollection.cs
index b727dc2112..9bc2d35642 100644
--- a/ICSharpCode.NRefactory.CSharp/Ast/AstNodeCollection.cs
+++ b/ICSharpCode.NRefactory.CSharp/Ast/AstNodeCollection.cs
@@ -28,7 +28,11 @@ namespace ICSharpCode.NRefactory.CSharp
///
/// Represents the children of an AstNode that have a specific role.
///
- public class AstNodeCollection : ICollection where T : AstNode
+ public class AstNodeCollection : ICollection
+ #if NET_4_5
+ , IReadOnlyCollection
+ #endif
+ where T : AstNode
{
readonly AstNode node;
readonly Role role;