blob: 94b619de90dc9d0f24c523baa8c58a00ce5328ff (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package scala.tools.nsc
package symtab
import scala.tools.nsc.util.{ SourceFile, Position, OffsetPosition, NoPosition }
trait Positions extends scala.reflect.internal.Positions {
self: scala.tools.nsc.symtab.SymbolTable =>
def rangePos(source: SourceFile, start: Int, point: Int, end: Int) =
new OffsetPosition(source, point)
def validatePositions(tree: Tree) {}
type Position = scala.tools.nsc.util.Position
val NoPosition = scala.tools.nsc.util.NoPosition
type TreeAnnotation = scala.tools.nsc.util.TreeAnnotation
def NoTreeAnnotation: TreeAnnotation = NoPosition
def positionToAnnotation(pos: Position): TreeAnnotation = pos
def annotationToPosition(annot: TreeAnnotation): Position = annot.pos
override def _checkSetAnnotation(tree: Tree, annot: TreeAnnotation): Unit = {
if (tree.pos != NoPosition && tree.pos != annot.pos) debugwarn("Overwriting annotation "+ tree.annotation +" of tree "+ tree +" with annotation "+ annot)
// if ((tree.annotation.isInstanceOf[scala.tools.nsc.util.Position] || !annot.isInstanceOf[scala.tools.nsc.util.Position]) && tree.isInstanceOf[Block])
// println("Updating block from "+ tree.annotation +" to "+ annot)
}
def focusPos(pos: Position): Position = pos.focus
def isRangePos(pos: Position): Boolean = pos.isRange
def showPos(pos: Position): String = pos.show
}
|