aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/parsing/JavaParsers.scala2
-rw-r--r--src/dotty/tools/dotc/typer/FrontEnd.scala3
-rw-r--r--tests/pos/i851.java8
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