From 0bdc13eed2c3b5a1ea46dd546f45a5b6f74f9ea2 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 7 Jan 2012 02:42:31 +0100 Subject: [PATCH] Fix NullReferenceException when mscorlib reference is missing. --- .../Src/Implementations/ArrayReturnType.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs index 6d611abb47..4ebf944fd2 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/ArrayReturnType.cs @@ -122,13 +122,16 @@ namespace ICSharpCode.SharpDevelop.Dom public override List GetProperties() { List l = base.GetProperties(); - ArrayIndexer property = new ArrayIndexer(elementType, this.BaseType.GetUnderlyingClass()); - IReturnType int32 = pc.SystemTypes.Int32; - for (int i = 0; i < dimensions; ++i) { - property.Parameters.Add(new DefaultParameter("index", int32, DomRegion.Empty)); + IClass systemArray = this.BaseType.GetUnderlyingClass(); + if (systemArray != null) { + ArrayIndexer property = new ArrayIndexer(elementType, systemArray); + IReturnType int32 = pc.SystemTypes.Int32; + for (int i = 0; i < dimensions; ++i) { + property.Parameters.Add(new DefaultParameter("index", int32, DomRegion.Empty)); + } + property.Freeze(); + l.Add(property); } - property.Freeze(); - l.Add(property); return l; }