aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-11-07 14:06:59 +0100
committerMartin Odersky <odersky@gmail.com>2015-11-09 15:45:38 +0100
commit3254690408400e7625a9efdc5600aabae3423611 (patch)
tree672fc8ec636440f77c50e8f1cc61a16e3ef1af40 /src/dotty/tools/dotc/core/Definitions.scala
parent0db1043fe7a473a1065a85664b3596f9257480a4 (diff)
downloaddotty-3254690408400e7625a9efdc5600aabae3423611.tar.gz
dotty-3254690408400e7625a9efdc5600aabae3423611.tar.bz2
dotty-3254690408400e7625a9efdc5600aabae3423611.zip
Make isPolymorphicAfterErasure a method
Can't be a lazy val, because one of the symbols it tests (`newRefArray`) can be recomputed.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index bee7be6a7..f3aa78557 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -588,8 +588,8 @@ class Definitions {
lazy val PhantomClasses = Set[Symbol](AnyClass, AnyValClass, NullClass, NothingClass)
- lazy val isPolymorphicAfterErasure = // ### Can't be a lazy val, because of newRefArrayMethod!
- Set[Symbol](Any_isInstanceOf, Any_asInstanceOf, newRefArrayMethod)
+ def isPolymorphicAfterErasure(sym: Symbol) =
+ (sym eq Any_isInstanceOf) || (sym eq Any_asInstanceOf) || (sym eq newRefArrayMethod)
def isTupleType(tp: Type)(implicit ctx: Context) = {
val arity = tp.dealias.argInfos.length