// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; namespace PascalABCCompiler.TreeRealization { /// /// Класс для представления позиций частей кода в дереве. /// [Serializable] public class location : SemanticTree.ILocation { /// /// Номер строки начала фрагмента кода (нумерация начинается с 1). /// private int _begin_line_num; /// /// Номер колонки начала фрагмента кода (нумерация начинается с 1). /// private int _begin_column_num; /// /// Номер строки конца фрагмента кода (нумерация начинается с 1). /// private int _end_line_num; /// /// Номер колонки конца фрагмента кода (нумерация начинается с 1). /// private int _end_column_num; /// /// Документ, в котором расположен этот фрагмент кода. /// private document _doc; /// /// Конструктор класса. /// /// Номер строки начала фрагмента кода (нумерация начинается с 1). /// Номер колонки начала фрагмента кода (нумерация начинается с 1). /// Номер строки конца фрагмента кода (нумерация начинается с 1). /// Номер колонки конца фрагмента кода (нумерация начинается с 1) /// Документ, в котором расположен этот фрагмент кода. public location(int begin_line_num, int begin_column_num,int end_line_num,int end_column_num,document doc) { _begin_line_num=begin_line_num; _begin_column_num=begin_column_num; _end_line_num=end_line_num; _end_column_num=end_column_num; _doc=doc; } /// /// Номер строки начала фрагмента кода (нумерация начинается с 1). /// public int begin_line_num { get { return _begin_line_num; } set { _begin_line_num = value; } } /// /// Номер колонки начала фрагмента кода (нумерация начинается с 1). /// public int begin_column_num { get { return _begin_column_num; } set { _begin_column_num = value; } } /// /// Номер строки конца фрагмента кода (нумерация начинается с 1). /// public int end_line_num { get { return _end_line_num; } set { _end_line_num = value; } } /// /// Номер колонки конца фрагмента кода (нумерация начинается с 1). /// public int end_column_num { get { return _end_column_num; } set { _end_column_num = value; } } /// /// Документ, в котором расположен этот фрагмент кода. /// public document doc { get { return _doc; } set { _doc = value; } } /// /// Документ, в котором расположен этот фрагмент кода. /// public SemanticTree.IDocument document { get { return _doc; } } public override string ToString() { string res="File: "+doc.ToString(); res+=" line: "+begin_line_num.ToString(); res+=" column: "+begin_column_num.ToString(); return res; } } }