Skip to content

Commit 9f7eae8

Browse files
committed
Use ownersIterator instead of outersIterator in checkOwner message
1 parent 99ecefd commit 9f7eae8

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

compiler/src/dotty/tools/dotc/transform/TreeChecker.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,8 @@ object TreeChecker {
572572
ctxOwner.isWeakOwner && ownerMatches(symOwner, ctxOwner.owner)
573573
assert(ownerMatches(tree.symbol.owner, ctx.owner),
574574
i"bad owner; ${tree.symbol} has owner ${tree.symbol.owner}, expected was ${ctx.owner}\n" +
575-
i"owner chain = ${tree.symbol.ownersIterator.toList}%, %, ctxOwners = ${ctx.outersIterator.map(_.owner).toList}%, %")
575+
i"owner chain = ${tree.symbol.ownersIterator.toList}%, %\n" +
576+
i"ctx owners = ${ctx.owner.ownersIterator.toList}%, %")
576577
}
577578

578579
private def checkParents(tree: untpd.TypeDef)(using Context): Unit = {
@@ -888,4 +889,4 @@ object TreeChecker {
888889
case _ =>
889890
Nil
890891
}
891-
}
892+
}

tests/neg-macros/wrong-owner.check

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
|
1717
|Error:
1818
|assertion failed: bad owner; method toString has owner class String, expected was class Foo
19-
|owner chain = method toString, class String, package java.lang, package java, package <root>, ctxOwners = class Foo, class Foo, package <empty>, package <empty>, package <empty>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, <none>, <none>, <none>, <none>, <none>
19+
|owner chain = method toString, class String, package java.lang, package java, package <root>
20+
|ctx owners = class Foo, package <empty>, package <root>
2021
|
2122
|stacktrace available when compiling with `-Ydebug`

0 commit comments

Comments
 (0)