diff options
author | Hubert Plociniczak <hubert.plociniczak@gmail.com> | 2012-10-30 14:04:43 +0100 |
---|---|---|
committer | Heather Miller <heather.miller@epfl.ch> | 2012-11-02 15:00:20 +0100 |
commit | 554f8bb0389f766c3d0778b1b323fafa3097a2f6 (patch) | |
tree | a9a35424207d7a2b90fb20ee32a8a65031cd0816 | |
parent | 71f02cd041e9c20d309686fcccf830a0f919f641 (diff) | |
download | scala-554f8bb0389f766c3d0778b1b323fafa3097a2f6.tar.gz scala-554f8bb0389f766c3d0778b1b323fafa3097a2f6.tar.bz2 scala-554f8bb0389f766c3d0778b1b323fafa3097a2f6.zip |
Remove implementation details from Position (they are still under reflection.internal). It probably needs more cleanup of the api wrt to ranges etc but let's leave it for later
-rw-r--r-- | src/reflect/scala/reflect/api/Position.scala | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/src/reflect/scala/reflect/api/Position.scala b/src/reflect/scala/reflect/api/Position.scala index 61d643b449..bac191d2b5 100644 --- a/src/reflect/scala/reflect/api/Position.scala +++ b/src/reflect/scala/reflect/api/Position.scala @@ -6,40 +6,13 @@ import scala.reflect.macros.Attachments /** Position tracks the origin of [[Symbols#Symbol symbols]] and [[Trees#Tree tree nodes]]. They are commonly used when * displaying warnings and errors, to indicate the incorrect point in the program. * - * A position indicates the [[source source file]] and an [[point offset]]. A position may be + * A position indicates the [[source source file]] and a [[point offset]]. A position may be * undefined, which means it's pointing to the [[Positions#NoPosition]] element. * * <b>Please note that this trait may be refactored in future versions of the Scala reflection API.</b> * * @see [[http://docs.scala-lang.org/overviews/reflection/names-exprs-scopes-more.html]] * - * The compiler adds more information to positions, such a ranges in the source file and defines different types of - * positions depending on how a symbol or tree node was generated. The guide fully describes compiler-generated positions. - * - * - INV1: A tree with an offset position never contains a child - * with a range position - * - INV2: If the child of a tree with a range position also has a range position, - * then the child's range is contained in the parent's range. - * - INV3: Opaque range positions of children of the same node are non-overlapping - * (this means their overlap is at most a single point). - * - * The following tests are useful on positions: - * `pos.isDefined` true if position is not a NoPosition, - * `pos.isRange` true if position is a range, - * `pos.isOpaqueRange` true if position is an opaque range, - * - * There are also convenience methods, such as - * `pos.startOrPoint`, - * `pos.endOrPoint`, - * `pos.pointOrElse(default)`. - * These are less strict about the kind of position on which they can be applied. - * - * The following conversion methods are often used: - * `pos.focus` converts a range position to an offset position, keeping its point; - * returns all other positions unchanged, - * `pos.makeTransparent` converts an opaque range position into a transparent one. - * returns all other positions unchanged. - * * @groupname Common Commonly used methods */ trait Position extends Attachments { @@ -70,7 +43,7 @@ trait Position extends Attachments { def isTransparent: Boolean /** Is this position a non-transparent range position? */ - def isOpaqueRange: Boolean + def isOpaqueRange: Boolean /** If opaque range, make this position transparent. */ def makeTransparent: Pos |