Skip to content

Commit debe978

Browse files
authored
Merge pull request #7725 from dotty-staging/alpha-modules
fix #7721 fix #7723 append moduleName suffix on erasedName of object classes
2 parents 6261ed2 + 8676d45 commit debe978

File tree

7 files changed

+42
-1
lines changed

7 files changed

+42
-1
lines changed

compiler/src/dotty/tools/dotc/core/SymDenotations.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,13 @@ object SymDenotations {
523523
case Some(ann) =>
524524
ann.arguments match {
525525
case Literal(Constant(str: String)) :: Nil =>
526-
if (isType) str.toTypeName else str.toTermName
526+
if (isType)
527+
if (is(ModuleClass))
528+
str.toTypeName.moduleClassName
529+
else
530+
str.toTypeName
531+
else
532+
str.toTermName
527533
case _ => name
528534
}
529535
case _ => name
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package alpha
2+
3+
@scala.annotation.alpha("A") object B {
4+
def foo = 23
5+
}

tests/run/alpha-modules-1/Test_2.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package alpha;
2+
3+
public class Test_2 {
4+
5+
public static void main(String[] args) {
6+
assert A.foo() == 23;
7+
assert A$.MODULE$.foo() == 23;
8+
}
9+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
object Test {
2+
def main(args: Array[String]): Unit =
3+
alpha.Test_2.main(args)
4+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package alpha
2+
3+
@scala.annotation.alpha("A") class B(val i: Int = 1)

tests/run/alpha-modules-2/Test_2.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package alpha;
2+
3+
public class Test_2 {
4+
5+
public static void main(String[] args) {
6+
assert new A(101).i() == 101;
7+
assert new A(A.$lessinit$greater$default$1()).i() == 101;
8+
assert new A(A$.MODULE$.$lessinit$greater$default$1()).i() == 101;
9+
}
10+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
object Test {
2+
def main(args: Array[String]): Unit =
3+
alpha.Test_2.main(args)
4+
}

0 commit comments

Comments
 (0)