From 1d825feb8c0998eb29b02f316968be31bb07828d Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 30 Jan 2010 21:01:05 +0000 Subject: [PATCH] fixed InvalidOperationException related to wrong usage of Enumerable.SingleOrDefault() in IsSimpleProperty git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5463 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../TextEditor/Commands/ClassMemberMenuBuilder.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs b/src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs index 4b2eef71da..b4a5875618 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs @@ -319,9 +319,9 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands } } - bool IsSimpleProperty(ITextEditor editor, IProperty property, out Ast.PropertyDeclaration astProoperty, out string fieldName) + bool IsSimpleProperty(ITextEditor editor, IProperty property, out Ast.PropertyDeclaration astProperty, out string fieldName) { - astProoperty = null; + astProperty = null; fieldName = null; if (editor == null) @@ -342,7 +342,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands if (p.HasGetRegion) { getResult = false; - var ret = p.GetRegion.Block.Children.SingleOrDefault() as Ast.ReturnStatement; + var ret = p.GetRegion.Block.Children.FirstOrDefault() as Ast.ReturnStatement; if (ret != null) { getResult = ret.Expression is Ast.IdentifierExpression; @@ -352,9 +352,9 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands if (p.HasSetRegion) { setResult = false; - var ret = p.SetRegion.Block.Children.SingleOrDefault() as Ast.ExpressionStatement; + var ret = p.SetRegion.Block.Children.FirstOrDefault() as Ast.ExpressionStatement; - if (ret != null && ret.Expression is Ast.AssignmentExpression) { + if (ret != null && p.SetRegion.Block.Children.Count == 1 && ret.Expression is Ast.AssignmentExpression) { var assign = ret.Expression as Ast.AssignmentExpression; setResult = assign.Op == Ast.AssignmentOperatorType.Assign && @@ -363,7 +363,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands } } - astProoperty = p; + astProperty = p; fieldName = identifier; return getResult && setResult;