summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-11-04 13:49:54 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-11-04 13:49:54 +1000
commitf6ddb8229b7df6b322eca45d0ea0a983f6795b76 (patch)
tree80c4b95af61c997a22027a0b88a6fb3edc58f6b8
parent617df3c1be118902d93b94ffab0d5dcb74f0bc79 (diff)
parentf8d1a9ff38cc0c0ce7279ca9169022eab51d6b60 (diff)
downloadscala-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.scala2
-rw-r--r--test/junit/scala/reflect/internal/PrintersTest.scala7
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)")