File tree Expand file tree Collapse file tree 9 files changed +104
-2
lines changed
compiler/src/dotty/tools/dotc/core
sbt-dotty/sbt-test/scala2-compat/longnames Expand file tree Collapse file tree 9 files changed +104
-2
lines changed Original file line number Diff line number Diff line change @@ -480,7 +480,8 @@ object SymDenotations {
480480 // duplicate scalac's behavior: don't write a double '$$' for module class members.
481481 prefix = prefix.exclude(ModuleClassName )
482482 def qualify (n : SimpleName ) =
483- kind(prefix.toTermName, if (filler.isEmpty) n else termName(filler + n))
483+ val qn = kind(prefix.toTermName, if (filler.isEmpty) n else termName(filler + n))
484+ if kind == FlatName && ! encl.is(JavaDefined ) then qn.compactified else qn
484485 val fn = name replace {
485486 case name : SimpleName => qualify(name)
486487 case name @ AnyQualifiedName (_, _) => qualify(name.mangled.toSimpleName)
Original file line number Diff line number Diff line change 1+ val scala3Version = sys.props(" plugin.scalaVersion" )
2+ val scala2Version = " 2.13.4"
3+
4+ lazy val lib = (project in file (" lib" ))
5+ .settings(scalaVersion := scala2Version)
6+
7+ lazy val test = (project in file (" main" ))
8+ .dependsOn(lib)
9+ .settings(scalaVersion := scala3Version)
Original file line number Diff line number Diff line change 1+ class reallongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongname {
2+ object obj0
3+ object obj01
4+ object obj012
5+ object obj0123
6+ object obj01234
7+ object obj012345
8+ object obj0123456
9+ object obj01234567
10+ object obj012345678
11+ object obj0123456789
12+ object obj01234567890
13+ class cls0
14+ class cls01
15+ class cls012
16+ class cls0123
17+ class cls01234
18+ class cls012345
19+ class cls0123456
20+ class cls01234567
21+ class cls012345678
22+ class cls0123456789
23+ class cls01234567890
24+ trait trt0
25+ trait trt01
26+ trait trt012
27+ trait trt0123
28+ trait trt01234
29+ trait trt012345
30+ trait trt0123456
31+ trait trt01234567
32+ trait trt012345678
33+ trait trt0123456789
34+ trait trt01234567890
35+ }
Original file line number Diff line number Diff line change 1+ object Test extends App {
2+ val c = new reallongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongnamereallylongname
3+
4+ import c ._
5+
6+ val o0 = obj0
7+ val o1 = obj01
8+ val o2 = obj012
9+ val o3 = obj0123
10+ val o4 = obj01234
11+ val o5 = obj012345
12+ val o6 = obj0123456
13+ val o7 = obj01234567
14+ val o8 = obj012345678
15+ val o9 = obj0123456789
16+ val o10 = obj01234567890
17+
18+ val c0 = new cls0
19+ val c1 = new cls01
20+ val c2 = new cls012
21+ val c3 = new cls0123
22+ val c4 = new cls01234
23+ val c5 = new cls012345
24+ val c6 = new cls0123456
25+ val c7 = new cls01234567
26+ val c8 = new cls012345678
27+ val c9 = new cls0123456789
28+ val c10 = new cls01234567890
29+
30+ val t0 = new trt0 {}
31+ val t1 = new trt01 {}
32+ val t2 = new trt012 {}
33+ val t3 = new trt0123 {}
34+ val t4 = new trt01234 {}
35+ val t5 = new trt012345 {}
36+ val t6 = new trt0123456 {}
37+ val t7 = new trt01234567 {}
38+ val t8 = new trt012345678 {}
39+ val t9 = new trt0123456789 {}
40+ val t10 = new trt01234567890 {}
41+ }
Original file line number Diff line number Diff line change 1+ addSbtPlugin(" ch.epfl.lamp" % " sbt-dotty" % sys.props(" plugin.version" ))
Original file line number Diff line number Diff line change 1+ > test/run
Original file line number Diff line number Diff line change 1+ package p ;
2+
3+ public class Long_1 {
4+ public static class ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ_1 {
5+ }
6+ }
Original file line number Diff line number Diff line change 1+ import p ._
2+
3+ object Test extends App {
4+ println(
5+ new Long_1 .ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ_1 ()
6+ .getClass
7+ .getName
8+ )
9+ }
Original file line number Diff line number Diff line change @@ -44,7 +44,6 @@ object Test extends App {
4444 }
4545 def checkCallerImplClassName (): Unit = {
4646 val name = Thread .currentThread.getStackTrace.apply(2 ).getClassName
47- assert(name.contains(" $class" ))
4847 Test .checkClassName(name)
4948 }
5049
You can’t perform that action at this time.
0 commit comments