File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -503,15 +503,16 @@ class Typer extends Namer
503503 // Convert a reference `f` to an extension method select `p.f`, where
504504 // `p` is the closest enclosing extension parameter, or else convert to `this.f`.
505505 val xmethod = ctx.owner.enclosingExtensionMethod
506- val qualifier =
507- if xmethod.exists then untpd.ref(xmethod.extensionParam.termRef)
508- else untpd.This (untpd.EmptyTypeIdent )
509- val selection = untpd.cpy.Select (tree)(qualifier, name)
510- val result = tryEither(typed(selection, pt))((_, _) => fail)
511- def canAccessUnqualified (sym : Symbol ) =
512- sym.is(ExtensionMethod ) && (sym.extensionParam.span == xmethod.extensionParam.span)
513- if ! xmethod.exists || result.tpe.isError || canAccessUnqualified(result.symbol) then
514- result
506+ if xmethod.exists then
507+ val qualifier = untpd.ref(xmethod.extensionParam.termRef)
508+ val selection = untpd.cpy.Select (tree)(qualifier, name)
509+ val result = tryEither(typed(selection, pt))((_, _) => fail)
510+ def canAccessUnqualified (sym : Symbol ) =
511+ sym.is(ExtensionMethod ) && (sym.extensionParam.span == xmethod.extensionParam.span)
512+ if result.tpe.isError || canAccessUnqualified(result.symbol) then
513+ result
514+ else
515+ fail
515516 else
516517 fail
517518 else
You can’t perform that action at this time.
0 commit comments