public void ReplaceName(PascalABCCompiler.SyntaxTree.ident id, string new_name, string[] lines) { PascalABCCompiler.SyntaxTree.SourceContext sc = id.source_context; int type_name_num = sc.begin_position.line_num - 1; int bcol = sc.begin_position.column_num; int ecol = sc.end_position.column_num; string s = lines[type_name_num].Remove(bcol - 1, ecol - bcol + 1); lines[type_name_num] = s.Insert(bcol - 1, new_name); }
public static SourceLocation ConvertSourceContextToSourceLocation(string FileName, PascalABCCompiler.SyntaxTree.SourceContext sc) { if (sc.FileName != null) { FileName = sc.FileName; } return(new SourceLocation(FileName, sc.begin_position.line_num, sc.begin_position.column_num, sc.end_position.line_num, sc.end_position.column_num)); }