summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/Symbols.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-04-25 18:33:05 -0700
committerPaul Phillips <paulp@improving.org>2012-04-25 19:24:38 -0700
commit8fc543b5dd7e6a8fa1827cc9e9d65e721cae140e (patch)
tree1de34b2aed1ad9bb30cb38977c9f68da6b7a729c /src/compiler/scala/reflect/internal/Symbols.scala
parent1297d87d5e5bfa25022568b6e20fbd92f6d6c40a (diff)
downloadscala-8fc543b5dd7e6a8fa1827cc9e9d65e721cae140e.tar.gz
scala-8fc543b5dd7e6a8fa1827cc9e9d65e721cae140e.tar.bz2
scala-8fc543b5dd7e6a8fa1827cc9e9d65e721cae140e.zip
Trying to set an example in the land of macros.
Hopefully there are useful examples to be had in here. Please note that you should never be testing "x.size != 0", use isEmpty or nonEmpty. Even if these happen to be small collections, it's not a habit you want to form: size is O(n) on a number of collections. (Most pointedly, Lists.)
Diffstat (limited to 'src/compiler/scala/reflect/internal/Symbols.scala')
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index 380ceb4bc7..31f068494c 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -2971,12 +2971,15 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
)
}
- class FreeTerm(name0: TermName, value0: => Any, val origin: String) extends TermSymbol(NoSymbol, NoPosition, name0) {
+ trait FreeSymbol extends Symbol {
+ def origin: String
+ }
+ class FreeTerm(name0: TermName, value0: => Any, val origin: String) extends TermSymbol(NoSymbol, NoPosition, name0) with FreeSymbol {
def value = value0
override def isFreeTerm = true
}
- class FreeType(name0: TypeName, value0: => Any, val origin: String) extends TypeSkolem(NoSymbol, NoPosition, name0, NoSymbol) {
+ class FreeType(name0: TypeName, value0: => Any, val origin: String) extends TypeSkolem(NoSymbol, NoPosition, name0, NoSymbol) with FreeSymbol {
def value = value0
override def isFreeType = true
}