diff options
author | Martin Odersky <odersky@gmail.com> | 2015-11-07 14:06:59 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-11-09 15:45:38 +0100 |
commit | 3254690408400e7625a9efdc5600aabae3423611 (patch) | |
tree | 672fc8ec636440f77c50e8f1cc61a16e3ef1af40 /src | |
parent | 0db1043fe7a473a1065a85664b3596f9257480a4 (diff) | |
download | dotty-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')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 4 |
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 |