Skip to content

Commit

Permalink
Merge pull request #9748 from dengziming/ISSUE-12393
Browse files Browse the repository at this point in the history
Allow concrete private interface methods in Java sources
  • Loading branch information
lrytz committed Sep 8, 2021
2 parents 90ca82a + 3b4daff commit d2275f8
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/compiler/scala/tools/nsc/javac/JavaParsers.scala
Expand Up @@ -613,7 +613,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
val vparams = formalParams()
if (!isVoid) rtpt = optArrayBrackets(rtpt)
optThrows()
val isConcreteInterfaceMethod = !inInterface || (mods hasFlag Flags.JAVA_DEFAULTMETHOD) || (mods hasFlag Flags.STATIC)
val isConcreteInterfaceMethod = !inInterface || (mods hasFlag Flags.JAVA_DEFAULTMETHOD) || (mods hasFlag Flags.STATIC) || (mods hasFlag Flags.PRIVATE)
val bodyOk = !(mods1 hasFlag Flags.DEFERRED) && isConcreteInterfaceMethod
val body =
if (bodyOk && in.token == LBRACE) {
Expand Down
7 changes: 7 additions & 0 deletions test/files/pos/t12393/R1.java
@@ -0,0 +1,7 @@
// javaVersion: 9+
public interface R1 {

private void foo() {
return;
}
}

0 comments on commit d2275f8

Please sign in to comment.