diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs index 726d7fd66f..731635c7b3 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver IClass callingClass; IMember callingMember; ICSharpCode.NRefactory.Visitors.LookupTableVisitor lookupTableVisitor; - IProjectContent projectContent = null; + IProjectContent projectContent; NR.SupportedLanguage language; @@ -40,6 +40,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return projectContent; } set { + if (value == null) + throw new ArgumentNullException("value"); projectContent = value; } } @@ -981,6 +983,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver IClass GetPrimitiveClass(string systemType, string newName) { IClass c = projectContent.GetClass(systemType); + if (c == null) + return null; DefaultClass c2 = new DefaultClass(c.CompilationUnit, newName); c2.ClassType = c.ClassType; c2.Modifiers = c.Modifiers; @@ -999,14 +1003,16 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver if (language == NR.SupportedLanguage.VBNet) { foreach (KeyValuePair pair in TypeReference.PrimitiveTypesVB) { if ("System." + pair.Key != pair.Value) { - result.Add(GetPrimitiveClass(pair.Value, pair.Key)); + IClass c = GetPrimitiveClass(pair.Value, pair.Key); + if (c != null) result.Add(c); } } result.Add("Global"); result.Add("New"); } else { foreach (KeyValuePair pair in TypeReference.PrimitiveTypesCSharp) { - result.Add(GetPrimitiveClass(pair.Value, pair.Key)); + IClass c = GetPrimitiveClass(pair.Value, pair.Key); + if (c != null) result.Add(c); } } ParseInformation parseInfo = HostCallback.GetParseInformation(fileName);