We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 05d286b commit 9d6c104Copy full SHA for 9d6c104
src/dotty/tools/dotc/typer/Checking.scala
@@ -168,9 +168,13 @@ object Checking {
168
def forwardRef(tree: Tree) = flag("forward", tree)
169
def selfRef(tree: Tree) = flag("self", tree)
170
val checkTree = new TreeAccumulator[Unit] {
171
+ private var seen = Set[Symbol]()
172
def checkRef(tree: Tree, sym: Symbol) =
- if (sym.maybeOwner == refineCls && tree.pos.start <= sym.pos.end) forwardRef(tree)
173
+ if (sym.maybeOwner == refineCls && !seen(sym)) forwardRef(tree)
174
def apply(x: Unit, tree: Tree) = tree match {
175
+ case tree: MemberDef =>
176
+ foldOver(x, tree)
177
+ seen += tree.symbol
178
case tree @ Select(This(_), _) =>
179
checkRef(tree, tree.symbol)
180
case tree: RefTree =>
0 commit comments