src/Pure/General/position.scala
changeset 38568 f117ba49a59c
parent 38565 32b924a832c4
child 38722 ba31936497c2
equal deleted inserted replaced
38567:b670faa807c9 38568:f117ba49a59c
    21   def get_id(pos: T): Option[Long] = Markup.get_long(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[Text.Range] =
    23   def get_range(pos: T): Option[Text.Range] =
    24     (get_offset(pos), get_end_offset(pos)) match {
    24     (get_offset(pos), get_end_offset(pos)) match {
    25       case (Some(start), Some(stop)) if start <= stop => Some(Text.Range(start, stop))
    25       case (Some(start), Some(stop)) if start <= stop => Some(Text.Range(start, stop))
    26       case (Some(start), None) => Some(Text.Range(start, start))
    26       case (Some(start), None) => Some(Text.Range(start))
    27       case (_, _) => None
    27       case (_, _) => None
    28     }
    28     }
    29 
    29 
    30   object Id { def unapply(pos: T): Option[Long] = get_id(pos) }
    30   object Id { def unapply(pos: T): Option[Long] = get_id(pos) }
    31   object Range { def unapply(pos: T): Option[Text.Range] = get_range(pos) }
    31   object Range { def unapply(pos: T): Option[Text.Range] = get_range(pos) }