Skip to content

Commit 7a9175b

Browse files
committed
Rename rootPosition to Position.ofMacroExpansion
This method should not be imported accidentally by `qctx.reflect._`. It is renamed to give it a descriptive name.
1 parent 2e220d5 commit 7a9175b

File tree

19 files changed

+36
-37
lines changed

19 files changed

+36
-37
lines changed

compiler/src/dotty/tools/dotc/quoted/QuoteContextImpl.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ class QuoteContextImpl private (ctx: Context) extends QuoteContext:
5454

5555
def rootContext: Context = ctx
5656

57-
def rootPosition: dotc.util.SourcePosition =
58-
MacroExpansion.position.getOrElse(dotc.util.SourcePosition(rootContext.source, dotc.util.Spans.NoSpan))
59-
6057
type Context = dotc.core.Contexts.Context
6158

6259
type Tree = tpd.Tree
@@ -2185,7 +2182,7 @@ class QuoteContextImpl private (ctx: Context) extends QuoteContext:
21852182

21862183
object Implicits extends ImplicitsModule:
21872184
def search(tpe: TypeRepr): ImplicitSearchResult =
2188-
ctx.typer.inferImplicitArg(tpe, rootPosition.span)
2185+
ctx.typer.inferImplicitArg(tpe, Position.ofMacroExpansion.span)
21892186
end Implicits
21902187

21912188
type ImplicitSearchResult = Tree
@@ -2544,7 +2541,10 @@ class QuoteContextImpl private (ctx: Context) extends QuoteContext:
25442541

25452542
type Position = dotc.util.SourcePosition
25462543

2547-
object Position extends PositionModule
2544+
object Position extends PositionModule:
2545+
def ofMacroExpansion: dotc.util.SourcePosition =
2546+
MacroExpansion.position.getOrElse(dotc.util.SourcePosition(rootContext.source, dotc.util.Spans.NoSpan))
2547+
end Position
25482548

25492549
object PositionMethodsImpl extends PositionMethods:
25502550
extension (self: Position):
@@ -2616,7 +2616,7 @@ class QuoteContextImpl private (ctx: Context) extends QuoteContext:
26162616
if tree.isEmpty then None else Some(tree)
26172617

26182618
private def withDefaultPos[T <: Tree](fn: Context ?=> T): T =
2619-
fn(using ctx.withSource(rootPosition.source)).withSpan(rootPosition.span)
2619+
fn(using ctx.withSource(Position.ofMacroExpansion.source)).withSpan(Position.ofMacroExpansion.span)
26202620

26212621
def unpickleTerm(pickledQuote: PickledQuote): Term =
26222622
PickledQuotes.unpickleTerm(pickledQuote)

library/src-bootstrapped/scala/quoted/report.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ object report:
44

55
/** Report an error at the position of the macro expansion */
66
def error(msg: => String)(using qctx: QuoteContext): Unit =
7-
qctx.reflect.Reporting.error(msg, qctx.reflect.rootPosition)
7+
qctx.reflect.Reporting.error(msg, qctx.reflect.Position.ofMacroExpansion)
88

99
/** Report an error at the on the position of `expr` */
1010
def error(msg: => String, expr: Expr[Any])(using qctx: QuoteContext): Unit =
@@ -23,7 +23,7 @@ object report:
2323

2424
/** Report a warning */
2525
def warning(msg: => String)(using qctx: QuoteContext): Unit =
26-
qctx.reflect.Reporting.warning(msg, qctx.reflect.rootPosition)
26+
qctx.reflect.Reporting.warning(msg, qctx.reflect.Position.ofMacroExpansion)
2727

2828
/** Report a warning at the on the position of `expr` */
2929
def warning(msg: => String, expr: Expr[_])(using qctx: QuoteContext): Unit =

library/src/scala/tasty/Reflection.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3165,17 +3165,16 @@ trait Reflection { reflection =>
31653165
// POSITIONS //
31663166
///////////////
31673167

3168-
// TODO: Should this be in the QuoteContext?
3169-
// TODO: rename to enclosingPosition (as in scala.reflect)
3170-
/** Root position of this tasty context. For macros it corresponds to the expansion site. */
3171-
def rootPosition: Position
31723168

31733169
/** Position in a source file */
31743170
type Position <: AnyRef
31753171

31763172
val Position: PositionModule
31773173

3178-
trait PositionModule { this: Position.type => }
3174+
trait PositionModule { this: Position.type =>
3175+
/** Position of the expansion site of the macro */
3176+
def ofMacroExpansion: Position
3177+
}
31793178

31803179
given PositionMethods as PositionMethods = PositionMethodsImpl
31813180
protected val PositionMethodsImpl: PositionMethods

tests/neg-macros/delegate-match-1/Macro_1.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ private def fImpl(using qctx: QuoteContext): Expr[Unit] = {
99
case x: ImplicitSearchSuccess =>
1010
'{}
1111
case x: DivergingImplicit => '{}
12-
Reporting.error("DivergingImplicit\n" + x.explanation, rootPosition)
12+
Reporting.error("DivergingImplicit\n" + x.explanation, Position.ofMacroExpansion)
1313
'{}
1414
case x: NoMatchingImplicits =>
15-
Reporting.error("NoMatchingImplicits\n" + x.explanation, rootPosition)
15+
Reporting.error("NoMatchingImplicits\n" + x.explanation, Position.ofMacroExpansion)
1616
'{}
1717
case x: AmbiguousImplicits =>
18-
Reporting.error("AmbiguousImplicits\n" + x.explanation, rootPosition)
18+
Reporting.error("AmbiguousImplicits\n" + x.explanation, Position.ofMacroExpansion)
1919
'{}
2020
}
2121
}

tests/neg-macros/delegate-match-2/Macro_1.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ private def fImpl (using qctx: QuoteContext) : Expr[Unit] = {
99
case x: ImplicitSearchSuccess =>
1010
'{}
1111
case x: DivergingImplicit => '{}
12-
Reporting.error("DivergingImplicit\n" + x.explanation, rootPosition)
12+
Reporting.error("DivergingImplicit\n" + x.explanation, Position.ofMacroExpansion)
1313
'{}
1414
case x: NoMatchingImplicits =>
15-
Reporting.error("NoMatchingImplicits\n" + x.explanation, rootPosition)
15+
Reporting.error("NoMatchingImplicits\n" + x.explanation, Position.ofMacroExpansion)
1616
'{}
1717
case x: AmbiguousImplicits =>
18-
Reporting.error("AmbiguousImplicits\n" + x.explanation, rootPosition)
18+
Reporting.error("AmbiguousImplicits\n" + x.explanation, Position.ofMacroExpansion)
1919
'{}
2020
}
2121
}

0 commit comments

Comments
 (0)