diff options
-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$. +} |