diff --git a/CodeCompletion/CodeFormatter.cs b/CodeCompletion/CodeFormatter.cs index 1b7027760..1d9b927f9 100644 --- a/CodeCompletion/CodeFormatter.cs +++ b/CodeCompletion/CodeFormatter.cs @@ -2668,10 +2668,14 @@ namespace CodeFormatters public override void visit(name_assign_expr _name_assign_expr) // SSM 27.06.13 { multiline_stack_push(_name_assign_expr); - visit_node(_name_assign_expr.name); - //sb.Append(" := "); - if (_name_assign_expr.expr != null) + if (_name_assign_expr.name.source_context.Eq(_name_assign_expr.expr.source_context)) { + visit_node(_name_assign_expr.expr); + } + else + { + visit_node(_name_assign_expr.name); + //sb.Append(" := "); add_space_before = true; add_space_after = true; visit_node(_name_assign_expr.expr); diff --git a/SyntaxTree/tree/TreeSubsidiary.cs b/SyntaxTree/tree/TreeSubsidiary.cs index 9c2630ada..0cc49a59f 100644 --- a/SyntaxTree/tree/TreeSubsidiary.cs +++ b/SyntaxTree/tree/TreeSubsidiary.cs @@ -331,6 +331,11 @@ namespace PascalABCCompiler.SyntaxTree return string.Format("[({0},{1})-({2},{3})]", begin_position.line_num,begin_position.column_num,end_position.line_num,end_position.column_num); } + public bool Eq(SourceContext sc) + { + return begin_position.line_num == sc.begin_position.line_num && begin_position.column_num == sc.begin_position.column_num + && end_position.line_num == sc.end_position.line_num && end_position.column_num == sc.end_position.column_num; + } public bool In(SourceContext sc) { //return Position >= sc.Position && (Length + Position <= sc.Length + sc.Position);