public SourceContext(SourceContext sc) { if (sc == null) { throw new ArgumentNullException(nameof(sc)); } if (sc._begin_position != null) { _begin_position = new file_position(sc._begin_position.line_num, sc._begin_position.column_num); } if (sc._end_position != null) { _end_position = new file_position(sc._end_position.line_num, sc.end_position.column_num); } _begin_symbol_position = sc._begin_symbol_position; _end_symbol_position = sc._end_symbol_position; _file_name = sc._file_name; }
public bool Between(SourceContext sc1, SourceContext sc2) { return ((begin_position.line_num > sc1.begin_position.line_num || (begin_position.line_num == sc1.begin_position.line_num && begin_position.column_num > sc1.begin_position.column_num)) && (end_position.line_num < sc2.begin_position.line_num || (end_position.line_num == sc2.begin_position.line_num && end_position.column_num < sc2.begin_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 SourceContext Merge(SourceContext right) { return(new SourceContext(this, right)); }
public static procedure_definition BuildShortProcDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, statement st, SourceContext headsc) { var ff = new procedure_header(fp, att, name, null, headsc); return(BuildShortProcFuncDefinition(ff, st)); }
public static procedure_definition BuildShortFuncDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, type_definition result, expression ex, SourceContext headsc) { var ff = new function_header(fp, att, name, null, result, headsc); procedure_definition pd = BuildShortProcFuncDefinition(ff, new assign("Result", ex, ex.source_context)); return(pd); }