aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeErasure.scala
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2015-05-01 21:46:06 +0200
committerGuillaume Martres <smarter@ubuntu.com>2015-05-04 15:50:09 +0200
commitc3a7f461cd8e9a2f6c69ff85745da7892d0aa124 (patch)
tree3ed19638b00b3142534deae6e8d6f135c28c3fed /src/dotty/tools/dotc/core/TypeErasure.scala
parent73f74cb2d40bc6a8ff3a0944a1706de91fe7f535 (diff)
downloaddotty-c3a7f461cd8e9a2f6c69ff85745da7892d0aa124.tar.gz
dotty-c3a7f461cd8e9a2f6c69ff85745da7892d0aa124.tar.bz2
dotty-c3a7f461cd8e9a2f6c69ff85745da7892d0aa124.zip
add an isCompanionMethod convenience method
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeErasure.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeErasure.scala8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/TypeErasure.scala b/src/dotty/tools/dotc/core/TypeErasure.scala
index e695e6721..9d5436d9f 100644
--- a/src/dotty/tools/dotc/core/TypeErasure.scala
+++ b/src/dotty/tools/dotc/core/TypeErasure.scala
@@ -142,14 +142,14 @@ object TypeErasure {
* - For $asInstanceOf : [T]T
* - For $isInstanceOf : [T]Boolean
* - For all abstract types : = ?
- * - For COMPANION_CLASS_METHOD : the erasure of their type with semiEraseVCs = false,
- * this is needed to keep [[SymDenotation#companionClass]]
- * working after erasure for value classes.
+ * - For companion methods : the erasure of their type with semiEraseVCs = false.
+ * The signature of these methods are used to keep a
+ * link between companions and should not be semi-erased.
* - For all other symbols : the semi-erasure of their types, with
* isJava, isConstructor set according to symbol.
*/
def transformInfo(sym: Symbol, tp: Type)(implicit ctx: Context): Type = {
- val semiEraseVCs = sym.name ne nme.COMPANION_CLASS_METHOD
+ val semiEraseVCs = !sym.isCompanionMethod
val erase = erasureFn(sym is JavaDefined, semiEraseVCs, sym.isConstructor, wildcardOK = false)
def eraseParamBounds(tp: PolyType): Type =