diff options
author | Olivier Blanvillain <olivier.blanvillain@gmail.com> | 2016-10-20 14:07:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-20 14:07:32 +0200 |
commit | 3e76f3c26891e3df6afc6ff1ef086d9f876ffc07 (patch) | |
tree | 1a83a73fa9696e62353f8d0f723ff05ccdec0c31 | |
parent | cd235600dac18ccb75ea1f1c8158ad9bd5307cdf (diff) | |
parent | f2530992f730b1d5662b6fad62e47a1e19a68c8b (diff) | |
download | dotty-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.scala | 2 | ||||
-rw-r--r-- | tests/pos/java-interop/1576/TagAnnotation.java | 3 | ||||
-rw-r--r-- | tests/pos/java-interop/1576/Test.scala | 5 |
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$. +} |