File tree 2 files changed +14
-4
lines changed
compiler/src/dotty/tools/dotc
2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import dotty.tools.dotc.util.SourcePosition;
11
11
12
12
import java .io .OutputStreamWriter
13
13
import java .nio .charset .StandardCharsets .UTF_8
14
+ import dotty .tools .dotc .reporting .CodeAction
14
15
15
16
/** Handles rewriting of Scala2 files to Dotty */
16
17
object Rewrites {
@@ -99,6 +100,14 @@ object Rewrites {
99
100
report.echo(s " [patched file ${source.file.path}] " )
100
101
rewrites.patched(source).writeBack()
101
102
}
103
+
104
+ /** Given a CodeAction take the patches and apply them.
105
+ *
106
+ * @param action The CodeAction containing the patches
107
+ */
108
+ def applyAction (action : CodeAction )(using Context ): Unit =
109
+ action.patches.foreach: actionPatch =>
110
+ patch(actionPatch.srcPos.span, actionPatch.replacement)
102
111
}
103
112
104
113
/** A completely encapsulated class representing rewrite state, used
Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ import cc.CheckCaptures
54
54
import config .Config
55
55
56
56
import scala .annotation .constructorOnly
57
+ import dotty .tools .dotc .rewrites .Rewrites
57
58
58
59
object Typer {
59
60
@@ -2882,8 +2883,8 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
2882
2883
if (migrateTo3) {
2883
2884
// Under -rewrite, patch `x _` to `(() => x)`
2884
2885
msg.actions
2885
- .flatMap(_.patches)
2886
- .map(actionPatch => patch(actionPatch.srcPos.span, actionPatch.replacement) )
2886
+ .headOption
2887
+ .foreach( Rewrites .applyAction )
2887
2888
return typed(untpd.Function (Nil , qual), pt)
2888
2889
}
2889
2890
}
@@ -3887,8 +3888,8 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
3887
3888
|| Feature .warnOnMigration(msg, tree.srcPos, version = `3.0`)
3888
3889
&& {
3889
3890
msg.actions
3890
- .flatMap(_.patches)
3891
- .map(actionPatch => patch(actionPatch.srcPos.span, actionPatch.replacement) )
3891
+ .headOption
3892
+ .foreach( Rewrites .applyAction )
3892
3893
true
3893
3894
}
3894
3895
You can’t perform that action at this time.
0 commit comments