From dfacaa870686ab2143eb8c1338992f3c5a2139e2 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 9 Oct 2010 17:05:59 +0200 Subject: [PATCH] Fixed crash when performing "Introduce Method" context action on an inner class. --- src/AddIns/Misc/SharpRefactoring/Project/Src/GenerateCode.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Misc/SharpRefactoring/Project/Src/GenerateCode.cs b/src/AddIns/Misc/SharpRefactoring/Project/Src/GenerateCode.cs index 0284057163..d0b042a51d 100644 --- a/src/AddIns/Misc/SharpRefactoring/Project/Src/GenerateCode.cs +++ b/src/AddIns/Misc/SharpRefactoring/Project/Src/GenerateCode.cs @@ -195,7 +195,10 @@ namespace SharpRefactoring if (isNew) targetClass = info.CompilationUnit.Classes.FirstOrDefault(c => c.DotNetName == c.Namespace + "." + (result as string)); else - targetClass = info.CompilationUnit.Classes.FirstOrDefault(c => c.DotNetName == targetClass.DotNetName); + targetClass = info.CompilationUnit.Classes.Flatten(c => c.InnerClasses).FirstOrDefault(c => c.DotNetName == targetClass.DotNetName); + + if (targetClass == null) + return; if (IsEqualClass(rr.CallingClass, targetClass)) { newMember = targetClass.GetInnermostMember(editor.Caret.Line, editor.Caret.Column);