aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Blanvillain <olivier.blanvillain@gmail.com>2016-10-20 14:07:32 +0200
committerGitHub <noreply@github.com>2016-10-20 14:07:32 +0200
commit3e76f3c26891e3df6afc6ff1ef086d9f876ffc07 (patch)
tree1a83a73fa9696e62353f8d0f723ff05ccdec0c31
parentcd235600dac18ccb75ea1f1c8158ad9bd5307cdf (diff)
parentf2530992f730b1d5662b6fad62e47a1e19a68c8b (diff)
downloaddotty-3e76f3c26891e3df6afc6ff1ef086d9f876ffc07.tar.gz
dotty-3e76f3c26891e3df6afc6ff1ef086d9f876ffc07.tar.bz2
dotty-3e76f3c26891e3df6afc6ff1ef086d9f876ffc07.zip
Merge pull request #1594 from dotty-staging/fix-#1576
Fix #1576: Parameters of Java annotations should be public
-rw-r--r--src/dotty/tools/dotc/parsing/JavaParsers.scala2
-rw-r--r--tests/pos/java-interop/1576/TagAnnotation.java3
-rw-r--r--tests/pos/java-interop/1576/Test.scala5
3 files changed, 9 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/parsing/JavaParsers.scala b/src/dotty/tools/dotc/parsing/JavaParsers.scala
index ed7cf9e3f..0be4226ed 100644
--- a/src/dotty/tools/dotc/parsing/JavaParsers.scala
+++ b/src/dotty/tools/dotc/parsing/JavaParsers.scala
@@ -131,7 +131,7 @@ object JavaParsers {
def makeSyntheticParam(count: Int, tpt: Tree): ValDef =
makeParam(nme.syntheticParamName(count), tpt)
def makeParam(name: TermName, tpt: Tree): ValDef =
- ValDef(name, tpt, EmptyTree).withMods(Modifiers(Flags.JavaDefined | Flags.PrivateLocalParamAccessor))
+ ValDef(name, tpt, EmptyTree).withMods(Modifiers(Flags.JavaDefined | Flags.ParamAccessor))
def makeConstructor(formals: List[Tree], tparams: List[TypeDef], flags: FlagSet = Flags.JavaDefined) = {
val vparams = mapWithIndex(formals)((p, i) => makeSyntheticParam(i + 1, p))
diff --git a/tests/pos/java-interop/1576/TagAnnotation.java b/tests/pos/java-interop/1576/TagAnnotation.java
new file mode 100644
index 000000000..3034a1a2d
--- /dev/null
+++ b/tests/pos/java-interop/1576/TagAnnotation.java
@@ -0,0 +1,3 @@
+public @interface TagAnnotation {
+ public String value();
+} \ No newline at end of file
diff --git a/tests/pos/java-interop/1576/Test.scala b/tests/pos/java-interop/1576/Test.scala
new file mode 100644
index 000000000..ea3d06a83
--- /dev/null
+++ b/tests/pos/java-interop/1576/Test.scala
@@ -0,0 +1,5 @@
+object Test {
+ val v: TagAnnotation = null
+ println(v.value) // error: value value in class TagAnnotation cannot be accessed as a
+ // member of TagAnnotation(Test.v) from module class Test$.
+}