summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-11-25 13:32:44 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-11-25 13:32:44 -0800
commitd2feaeb679106b03ad6137de04a36f0b0c6ddfd9 (patch)
tree81282b6bd14d6a5fd882709294bf33c54b57ff34
parentb8f06f33a420cf07f980cab61b2a11df6a0f5dca (diff)
parent7f1ba06f1313383fe60ce9bc6566afc78b3dae75 (diff)
downloadscala-d2feaeb679106b03ad6137de04a36f0b0c6ddfd9.tar.gz
scala-d2feaeb679106b03ad6137de04a36f0b0c6ddfd9.tar.bz2
scala-d2feaeb679106b03ad6137de04a36f0b0c6ddfd9.zip
Merge pull request #1665 from paulp/issue/6687
Fix for SI-6687, wrong isVar logic.
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala2
-rw-r--r--test/files/run/t6687.scala10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index c42cc1cea8..a27afe9dfd 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -79,7 +79,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
def isImplementationArtifact: Boolean = (this hasFlag BRIDGE) || (this hasFlag VBRIDGE) || (this hasFlag ARTIFACT)
def isJava: Boolean = isJavaDefined
def isVal: Boolean = isTerm && !isModule && !isMethod && !isMutable
- def isVar: Boolean = isTerm && !isModule && !isMethod && isMutable
+ def isVar: Boolean = isTerm && !isModule && !isMethod && !isLazy && isMutable
def newNestedSymbol(name: Name, pos: Position, newFlags: Long, isClass: Boolean): Symbol = name match {
case n: TermName => newTermSymbol(n, pos, newFlags)
diff --git a/test/files/run/t6687.scala b/test/files/run/t6687.scala
new file mode 100644
index 0000000000..ee44e5f0d2
--- /dev/null
+++ b/test/files/run/t6687.scala
@@ -0,0 +1,10 @@
+import scala.reflect.runtime.universe._
+
+class A { lazy val x = 1 }
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ val vars = typeOf[A].members.toList filter (x => x.isTerm && x.asTerm.isVar)
+ assert(vars.isEmpty, vars)
+ }
+}