diff --git a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs index ce6aa2ae49..7d20461f39 100644 --- a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs +++ b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs @@ -1741,10 +1741,13 @@ namespace ICSharpCode.NRefactory.CSharp { if (typeArguments == null) return; - for (int i = 0; i < typeArguments.Args.Count; i++) { + for (int i = 0; i < typeArguments.Count; i++) { if (location != null && i > 0 && i - 1 < location.Count) parent.AddChild (new CSharpTokenNode (Convert (location[i - 1]), 1), InvocationExpression.Roles.Comma); - parent.AddChild ((DomNode)typeArguments.Args[i].Accept (this), InvocationExpression.Roles.TypeParameter); + DomNode arg = (DomNode)typeArguments.Args[i]; + if (arg == null) + continue; + parent.AddChild (arg.Accept (this), InvocationExpression.Roles.TypeParameter); } }