diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs index 0b91c0aea3..ed7e14caa0 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs @@ -800,6 +800,14 @@ namespace ICSharpCode.PythonBinding return null; } + public override object TrackedVisitMemberInitializerExpression(MemberInitializerExpression memberInitializerExpression, object data) + { + Append(memberInitializerExpression.Name); + Append(" = "); + memberInitializerExpression.Expression.AcceptVisitor(this, data); + return null; + } + /// /// Adds a CodeMemberMethod to the current class being visited. /// @@ -1421,7 +1429,7 @@ namespace ICSharpCode.PythonBinding } } } - + void IOutputFormatter.PrintPreprocessingDirective(PreprocessingDirective directive, bool forceWriteInPreviousBlock) { } @@ -1927,7 +1935,7 @@ namespace ICSharpCode.PythonBinding codeBuilder.AppendIndentedLine("#" + comment.CommentText); } else { codeBuilder.AppendToPreviousLine(" #" + comment.CommentText); - } + } } void AppendDocstring(List xmlDocComments) @@ -1952,7 +1960,7 @@ namespace ICSharpCode.PythonBinding } /// - /// Returns true if the node is a type declaration or a method since these can have + /// Returns true if the node is a type declaration or a method since these can have /// python docstrings. /// bool SupportsDocstring(INode node) @@ -1965,7 +1973,7 @@ namespace ICSharpCode.PythonBinding string propertyName = propertyDeclaration.Name; AppendIndented(propertyName); Append(" = property("); - + bool addedParameter = false; if (propertyDeclaration.HasGetRegion) { Append("fget=get_" + propertyName); 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 4938fae6aa..282c52b83a 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryResolver.cs @@ -815,13 +815,13 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver List results = new List(); if (collectionInitializer != null) { ObjectCreateExpression oce = collectionInitializer.Parent as ObjectCreateExpression; - NamedArgumentExpression nae = collectionInitializer.Parent as NamedArgumentExpression; + MemberInitializerExpression mie = collectionInitializer.Parent as MemberInitializerExpression; if (oce != null && !oce.IsAnonymousType) { IReturnType resolvedType = TypeVisitor.CreateReturnType(oce.CreateType, this); ObjectInitializerCtrlSpaceInternal(results, resolvedType, out isCollectionInitializer); } - else if (nae != null) { - IMember member = ResolveNamedArgumentExpressionInObjectInitializer(nae); + else if (mie != null) { + IMember member = ResolveMemberInitializerExpressionInObjectInitializer(mie); if (member != null) { ObjectInitializerCtrlSpaceInternal(results, member.ReturnType, out isCollectionInitializer); } @@ -830,11 +830,11 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return results; } - IMember ResolveNamedArgumentExpressionInObjectInitializer(NamedArgumentExpression nae) + IMember ResolveMemberInitializerExpressionInObjectInitializer(MemberInitializerExpression mie) { - CollectionInitializerExpression parentCI = nae.Parent as CollectionInitializerExpression; + CollectionInitializerExpression parentCI = mie.Parent as CollectionInitializerExpression; bool tmp; - return ObjectInitializerCtrlSpace(parentCI, out tmp).Find(m => IsSameName(m.Name, nae.Name)); + return ObjectInitializerCtrlSpace(parentCI, out tmp).Find(m => IsSameName(m.Name, mie.Name)); } void ObjectInitializerCtrlSpaceInternal(List results, IReturnType resolvedType, out bool isCollectionInitializer) @@ -1402,8 +1402,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver ResolveResult rr = ResolveInternal((expr.Parent as AssignmentExpression).Left, ExpressionContext.Default); if (rr != null) return rr.ResolvedType; - } else if (expr.Parent is NamedArgumentExpression) { - IMember m = ResolveNamedArgumentExpressionInObjectInitializer((NamedArgumentExpression)expr.Parent); + } else if (expr.Parent is MemberInitializerExpression) { + IMember m = ResolveMemberInitializerExpressionInObjectInitializer((MemberInitializerExpression)expr.Parent); if (m != null) return m.ReturnType; } else if (expr.Parent is CollectionInitializerExpression) {