File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
compiler/src/dotty/tools/backend/jvm
tests/generic-java-signatures Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -397,6 +397,9 @@ trait BCodeHelpers extends BCodeIdiomatic {
397397 atPhase(erasurePhase) {
398398 val memberTpe =
399399 if (sym.is(Method )) sym.denot.info
400+ else if sym.denot.validFor.phaseId > erasurePhase.id && sym.isField && sym.getter.exists then
401+ // Memoization field of getter entered after erasure, see run/i17069 for an example
402+ sym.getter.denot.info.resultType
400403 else owner.denot.thisType.memberInfo(sym)
401404 getGenericSignatureHelper(sym, owner, memberTpe).orNull
402405 }
Original file line number Diff line number Diff line change 1+
2+ class Foo :
3+ val generic : List [String ] = ???
4+
5+ @ main def Test =
6+ val tpe = classOf [Foo ].getDeclaredField(" generic" ).getGenericType()
7+ assert(tpe.getTypeName == " scala.collection.immutable.List<java.lang.String>" )
8+
9+ val tpe2 = classOf [Foo ].getDeclaredMethod(" generic" ).getGenericReturnType()
10+ assert(tpe2.getTypeName == " scala.collection.immutable.List<java.lang.String>" )
You can’t perform that action at this time.
0 commit comments