diff options
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 6 | ||||
-rw-r--r-- | test/dotc/tests.scala | 1 | ||||
-rw-r--r-- | tests/pos/java-override/A.java (renamed from tests/pending/pos/java-override/A.java) | 0 | ||||
-rw-r--r-- | tests/pos/java-override/B.scala (renamed from tests/pending/pos/java-override/B.scala) | 0 |
4 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index 854af688a..c522a5998 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -654,10 +654,14 @@ class Namer { typer: Typer => else restpe val monotpe = (paramSymss :\ restpe1) { (params, restpe) => + val isJava = ddef.mods is JavaDefined val make = if (params.nonEmpty && (params.head is Implicit)) ImplicitMethodType - else if (ddef.mods.is(JavaDefined)) JavaMethodType + else if(isJava) JavaMethodType else MethodType + if(isJava) params.foreach { symbol => + if(symbol.info.isDirectRef(defn.ObjectClass)) symbol.info = defn.AnyType + } make.fromSymbols(params, restpe) } if (typeParams.nonEmpty) PolyType.fromSymbols(typeParams, monotpe) diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala index 21fdd555b..524f3ce12 100644 --- a/test/dotc/tests.scala +++ b/test/dotc/tests.scala @@ -57,6 +57,7 @@ class tests extends CompilerTest { @Test def pos_packageobject() = compileFile(posDir, "packageobject") @Test def pos_overloaded() = compileFile(posDir, "overloaded") @Test def pos_overrides() = compileFile(posDir, "overrides") + @Test def pos_javaOverride() = compileDir(posDir + "java-override") @Test def pos_templateParents() = compileFile(posDir, "templateParents") @Test def pos_structural() = compileFile(posDir, "structural") @Test def pos_overloadedAccess = compileFile(posDir, "overloadedAccess") diff --git a/tests/pending/pos/java-override/A.java b/tests/pos/java-override/A.java index 0d7f453e8..0d7f453e8 100644 --- a/tests/pending/pos/java-override/A.java +++ b/tests/pos/java-override/A.java diff --git a/tests/pending/pos/java-override/B.scala b/tests/pos/java-override/B.scala index cb4addbcc..cb4addbcc 100644 --- a/tests/pending/pos/java-override/B.scala +++ b/tests/pos/java-override/B.scala |