aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala6
-rw-r--r--test/dotc/tests.scala1
-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