summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/Symbols.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-09-23 16:21:16 +0000
committerMartin Odersky <odersky@gmail.com>2011-09-23 16:21:16 +0000
commit2b699c3fdb8586051fa20cc1e37d4d40a7418605 (patch)
tree31b1605a95eb096586256089b7bdd1cfcf5b55c3 /src/compiler/scala/reflect/internal/Symbols.scala
parent7bfdac0b73c28109b5d3130783feaca4a7c06100 (diff)
downloadscala-2b699c3fdb8586051fa20cc1e37d4d40a7418605.tar.gz
scala-2b699c3fdb8586051fa20cc1e37d4d40a7418605.tar.bz2
scala-2b699c3fdb8586051fa20cc1e37d4d40a7418605.zip
Handling Freevars in Importers and discovering ...
Handling Freevars in Importers and discovering whole new classes of errors in Liftcode.
Diffstat (limited to 'src/compiler/scala/reflect/internal/Symbols.scala')
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index b459c64978..fcf70e5825 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -2348,6 +2348,17 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
override def sourceModule_=(module: Symbol) { this.module = module }
}
+ class FreeVar(name: TermName, tpe: Type, val value: Any) extends TermSymbol(definitions.RootClass, NoPosition, name) {
+ setInfo(tpe)
+
+ override def hashCode = value.hashCode
+
+ override def equals(other: Any): Boolean = other match {
+ case that: FreeVar => this.value.asInstanceOf[AnyRef] eq that.value.asInstanceOf[AnyRef]
+ case _ => false
+ }
+ }
+
/** An object representing a missing symbol */
object NoSymbol extends Symbol(null, NoPosition, nme.NO_NAME) {
setInfo(NoType)