summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-09-18 09:26:31 +0200
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-09-18 09:26:31 +0200
commit8e1efc3549c081b0305df26e6963b49174b1f402 (patch)
treeaa1abcd2f128c54a6d56eeed3da96348e8350f5a /src/compiler
parent2c23a5e70288c4b00c8c06c6ae5b6e65eede6ac0 (diff)
parent17a1abbff6816d0693bb98869cd26c25f695cffa (diff)
downloadscala-8e1efc3549c081b0305df26e6963b49174b1f402.tar.gz
scala-8e1efc3549c081b0305df26e6963b49174b1f402.tar.bz2
scala-8e1efc3549c081b0305df26e6963b49174b1f402.zip
Merge pull request #3989 from retronym/ticket/8852
SI-8852 Support joint compilation of Java interfaces w. statics
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/javac/JavaParsers.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
index 37b00aa9a3..9433ddcf31 100644
--- a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
+++ b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
@@ -488,7 +488,8 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
val vparams = formalParams()
if (!isVoid) rtpt = optArrayBrackets(rtpt)
optThrows()
- val bodyOk = !inInterface || (mods hasFlag Flags.DEFAULTMETHOD)
+ val isStatic = mods hasFlag Flags.STATIC
+ val bodyOk = !inInterface || ((mods hasFlag Flags.DEFAULTMETHOD) || isStatic)
val body =
if (bodyOk && in.token == LBRACE) {
methodBody()
@@ -507,7 +508,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
EmptyTree
}
}
- if (inInterface) mods1 |= Flags.DEFERRED
+ if (inInterface && !isStatic) mods1 |= Flags.DEFERRED
List {
atPos(pos) {
DefDef(mods1, name.toTermName, tparams, List(vparams), rtpt, body)