diff options
author | Paul Phillips <paulp@improving.org> | 2012-04-25 18:33:05 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-04-25 19:24:38 -0700 |
commit | 8fc543b5dd7e6a8fa1827cc9e9d65e721cae140e (patch) | |
tree | 1de34b2aed1ad9bb30cb38977c9f68da6b7a729c /src/compiler/scala/reflect/internal/Symbols.scala | |
parent | 1297d87d5e5bfa25022568b6e20fbd92f6d6c40a (diff) | |
download | scala-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.scala | 7 |
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 } |