bug fix formatting of new class(a,b)

This commit is contained in:
Бондарев Иван 2015-08-14 17:45:34 +02:00
parent 6df62c1c26
commit 5bb5425cfc
2 changed files with 12 additions and 3 deletions

View file

@ -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);

View file

@ -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);