diff options
-rw-r--r-- | src/dotty/tools/dotc/parsing/JavaParsers.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/typer/FrontEnd.scala | 3 | ||||
-rw-r--r-- | tests/pos/i851.java | 8 |
3 files changed, 11 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/parsing/JavaParsers.scala b/src/dotty/tools/dotc/parsing/JavaParsers.scala index 7b9d29ce3..52bcdb965 100644 --- a/src/dotty/tools/dotc/parsing/JavaParsers.scala +++ b/src/dotty/tools/dotc/parsing/JavaParsers.scala @@ -114,7 +114,7 @@ object JavaParsers { def makeTemplate(parents: List[Tree], stats: List[Tree], tparams: List[TypeDef], needsDummyConstr: Boolean) = { def pullOutFirstConstr(stats: List[Tree]): (Tree, List[Tree]) = stats match { - case (meth: DefDef) :: rest if meth.name.isConstructorName => (meth, rest) + case (meth: DefDef) :: rest if meth.name == CONSTRUCTOR => (meth, rest) case first :: rest => val (constr, tail) = pullOutFirstConstr(rest) (constr, first :: tail) diff --git a/src/dotty/tools/dotc/typer/FrontEnd.scala b/src/dotty/tools/dotc/typer/FrontEnd.scala index f417448bd..26ee81796 100644 --- a/src/dotty/tools/dotc/typer/FrontEnd.scala +++ b/src/dotty/tools/dotc/typer/FrontEnd.scala @@ -28,7 +28,8 @@ class FrontEnd extends Phase { unit.untpdTree = if (unit.isJava) new JavaParser(unit.source).parse() else new Parser(unit.source).parse() - typr.println("parsed:\n" + unit.untpdTree.show) + val printer = if (ctx.settings.Xprint.value.contains("parser")) default else typr + printer.println("parsed:\n" + unit.untpdTree.show) } def enterSyms(implicit ctx: Context) = monitor("indexing") { diff --git a/tests/pos/i851.java b/tests/pos/i851.java new file mode 100644 index 000000000..39e0bf350 --- /dev/null +++ b/tests/pos/i851.java @@ -0,0 +1,8 @@ +interface I<T> {} + +interface J<T> extends I<T> { + default void $init$() { + }; +} + +class C<T> extends J<T> {}
\ No newline at end of file |