src/Pure/General/position.scala
changeset 38355 8cb265fb12fe
parent 36683 41a1210519fd
child 38479 e628da370072
equal deleted inserted replaced
38354:fed4e71a8c0f 38355:8cb265fb12fe
    16   def get_offset(pos: T): Option[Int] = Markup.get_int(Markup.OFFSET, pos)
    16   def get_offset(pos: T): Option[Int] = Markup.get_int(Markup.OFFSET, pos)
    17   def get_end_line(pos: T): Option[Int] = Markup.get_int(Markup.END_LINE, pos)
    17   def get_end_line(pos: T): Option[Int] = Markup.get_int(Markup.END_LINE, pos)
    18   def get_end_column(pos: T): Option[Int] = Markup.get_int(Markup.END_COLUMN, pos)
    18   def get_end_column(pos: T): Option[Int] = Markup.get_int(Markup.END_COLUMN, pos)
    19   def get_end_offset(pos: T): Option[Int] = Markup.get_int(Markup.END_OFFSET, pos)
    19   def get_end_offset(pos: T): Option[Int] = Markup.get_int(Markup.END_OFFSET, pos)
    20   def get_file(pos: T): Option[String] = Markup.get_string(Markup.FILE, pos)
    20   def get_file(pos: T): Option[String] = Markup.get_string(Markup.FILE, pos)
    21   def get_id(pos: T): Option[String] = Markup.get_string(Markup.ID, pos)
    21   def get_id(pos: T): Option[Long] = Markup.get_long(Markup.ID, pos)
    22 
    22 
    23   def get_range(pos: T): Option[(Int, Int)] =
    23   def get_range(pos: T): Option[(Int, Int)] =
    24     (get_offset(pos), get_end_offset(pos)) match {
    24     (get_offset(pos), get_end_offset(pos)) match {
    25       case (Some(begin), Some(end)) => Some(begin, end)
    25       case (Some(begin), Some(end)) => Some(begin, end)
    26       case (Some(begin), None) => Some(begin, begin + 1)
    26       case (Some(begin), None) => Some(begin, begin + 1)
    27       case (None, _) => None
    27       case (None, _) => None
    28     }
    28     }
    29 
    29 
    30   object Id { def unapply(pos: T): Option[String] = get_id(pos) }
    30   object Id { def unapply(pos: T): Option[Long] = get_id(pos) }
    31   object Range { def unapply(pos: T): Option[(Int, Int)] = get_range(pos) }
    31   object Range { def unapply(pos: T): Option[(Int, Int)] = get_range(pos) }
    32 }
    32 }