diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-11-04 13:49:54 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-11-04 13:49:54 +1000 |
commit | f6ddb8229b7df6b322eca45d0ea0a983f6795b76 (patch) | |
tree | 80c4b95af61c997a22027a0b88a6fb3edc58f6b8 | |
parent | 617df3c1be118902d93b94ffab0d5dcb74f0bc79 (diff) | |
parent | f8d1a9ff38cc0c0ce7279ca9169022eab51d6b60 (diff) | |
download | scala-f6ddb8229b7df6b322eca45d0ea0a983f6795b76.tar.gz scala-f6ddb8229b7df6b322eca45d0ea0a983f6795b76.tar.bz2 scala-f6ddb8229b7df6b322eca45d0ea0a983f6795b76.zip |
Merge pull request #4045 from gourlaysama/wip/t8875-show-code
SI-8875 showCode should print all class constructor modifiers.
-rw-r--r-- | src/reflect/scala/reflect/internal/Printers.scala | 2 | ||||
-rw-r--r-- | test/junit/scala/reflect/internal/PrintersTest.scala | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Printers.scala b/src/reflect/scala/reflect/internal/Printers.scala index 2ce861898f..c4953b2c1f 100644 --- a/src/reflect/scala/reflect/internal/Printers.scala +++ b/src/reflect/scala/reflect/internal/Printers.scala @@ -761,7 +761,7 @@ trait Printers extends api.Printers { self: SymbolTable => val build.SyntacticClassDef(_, _, _, ctorMods, vparamss, earlyDefs, parents, selfType, body) = cl // constructor's modifier - if (ctorMods.hasFlag(AccessFlags)) { + if (ctorMods.hasFlag(AccessFlags) || ctorMods.hasAccessBoundary) { print(" ") printModifiers(ctorMods, primaryCtorParam = false) } diff --git a/test/junit/scala/reflect/internal/PrintersTest.scala b/test/junit/scala/reflect/internal/PrintersTest.scala index ca9b4671b2..7043c26d5e 100644 --- a/test/junit/scala/reflect/internal/PrintersTest.scala +++ b/test/junit/scala/reflect/internal/PrintersTest.scala @@ -354,6 +354,13 @@ trait ClassPrintTests { | def y = "test" |}""") + @Test def testClassConstructorModifiers = assertPrintedCode("class X private (x: scala.Int)") + + @Test def testClassConstructorModifierVisibility = assertPrintedCode(sm""" + |object A { + | class X protected[A] (x: scala.Int) + |}""") + @Test def testClassWithPublicParams = assertPrintedCode("class X(val x: scala.Int, val s: scala.Predef.String)") @Test def testClassWithParams1 = assertPrintedCode("class X(x: scala.Int, s: scala.Predef.String)") |