Skip to content

Commit 03a2c6e

Browse files
committed
Merge pull request #345 from olhotak/fix-javamethodtype
Fix JavaMethodType creation and parameter matching of JavaMethodTypes
2 parents 92013ab + 4316f94 commit 03a2c6e

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

src/dotty/tools/dotc/typer/Namer.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,10 +654,14 @@ class Namer { typer: Typer =>
654654
else restpe
655655
val monotpe =
656656
(paramSymss :\ restpe1) { (params, restpe) =>
657+
val isJava = ddef.mods is JavaDefined
657658
val make =
658659
if (params.nonEmpty && (params.head is Implicit)) ImplicitMethodType
659-
else if (ddef.mods.is(JavaDefined)) JavaMethodType
660+
else if(isJava) JavaMethodType
660661
else MethodType
662+
if(isJava) params.foreach { symbol =>
663+
if(symbol.info.isDirectRef(defn.ObjectClass)) symbol.info = defn.AnyType
664+
}
661665
make.fromSymbols(params, restpe)
662666
}
663667
if (typeParams.nonEmpty) PolyType.fromSymbols(typeParams, monotpe)

test/dotc/tests.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class tests extends CompilerTest {
5757
@Test def pos_packageobject() = compileFile(posDir, "packageobject")
5858
@Test def pos_overloaded() = compileFile(posDir, "overloaded")
5959
@Test def pos_overrides() = compileFile(posDir, "overrides")
60+
@Test def pos_javaOverride() = compileDir(posDir + "java-override")
6061
@Test def pos_templateParents() = compileFile(posDir, "templateParents")
6162
@Test def pos_structural() = compileFile(posDir, "structural")
6263
@Test def pos_overloadedAccess = compileFile(posDir, "overloadedAccess")

0 commit comments

Comments
 (0)