Skip to content

Commit 26235e7

Browse files
committed
Mitigate refactor of dotty.tools.dotc.transform.SymUtils
1 parent 640028d commit 26235e7

11 files changed

+33
-16
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package scala.scalanative.nscplugin
2+
3+
object CompilerCompat {
4+
5+
private object SymUtilsCompatDef:
6+
val SymUtils = dotty.tools.dotc.core.Symbols
7+
8+
private object SymUtilsCompatSelect:
9+
import SymUtilsCompatDef._
10+
object Inner {
11+
import dotty.tools.dotc.transform._
12+
val SymUtilsAlias = SymUtils
13+
}
14+
val SymUtilsCompat = SymUtilsCompatSelect.Inner.SymUtilsAlias
15+
}

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/GenNativeExports.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import core.Symbols._
99
import core.Flags._
1010
import core.Annotations.*
1111
import dotty.tools.dotc.report
12-
import dotty.tools.dotc.transform.SymUtils.*
12+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.*
1313

1414
import scala.scalanative.nir
1515
import nir._

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirGenExpr.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import core._
2121
import dotty.tools.FatalError
2222
import dotty.tools.dotc.report
2323
import dotty.tools.dotc.transform
24-
import transform.SymUtils._
2524
import transform.{ValueClasses, Erasure}
2625
import dotty.tools.backend.jvm.DottyBackendInterface.symExtensions
26+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.*
2727

2828
import scala.scalanative.nir
2929
import nir._

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirGenName.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import core.Contexts._
66
import core.Symbols._
77
import core.Flags._
88
import core.StdNames._
9-
import dotty.tools.dotc.transform.SymUtils._
10-
import dotty.tools.backend.jvm.DottyBackendInterface.symExtensions
9+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.*
1110
import scalanative.util.unreachable
1211
import scala.scalanative.nir
1312
import scala.scalanative.nir._
1413
import scala.language.implicitConversions
14+
import dotty.tools.backend.jvm.DottyBackendInterface.symExtensions
1515

1616
trait NirGenName(using Context) {
1717
self: NirCodeGen =>

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirGenStat.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import core.Constants._
1010
import core.StdNames._
1111
import core.Flags._
1212
import core.Phases._
13-
import dotty.tools.dotc.transform.SymUtils._
13+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat._
1414

1515
import scala.collection.mutable
1616
import scala.scalanative.nir
@@ -651,7 +651,7 @@ trait NirGenStat(using Context) {
651651

652652
def isInheritedField(f: Symbol) =
653653
classSym.directlyInheritedTraits.exists {
654-
_.info.decls.exists(_ matches f.getter)
654+
_.info.decls.exists(_.matches(f.getter))
655655
}
656656

657657
for f <- classSym.info.decls

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirGenType.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import core.TypeErasure._
1414
import core.TypeError
1515
import dotty.tools.dotc.report
1616
import dotty.tools.dotc.typer.TyperPhase
17-
import dotty.tools.dotc.transform.SymUtils._
17+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.*
1818

1919
import scala.scalanative.nir
2020
import scala.scalanative.util.unsupported

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirGenUtil.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import scala.scalanative.util.ScopedVar
99
import scalanative.nir.{Fresh, Local, LocalName}
1010
import scala.collection.mutable
1111
import scala.scalanative.nir
12+
import scala.compiletime.uninitialized
1213

1314
trait NirGenUtil(using Context) { self: NirCodeGen =>
1415

@@ -74,8 +75,8 @@ trait NirGenUtil(using Context) { self: NirCodeGen =>
7475

7576
object NirGenUtil {
7677
class ContextCached[T](init: Context ?=> T) {
77-
private var lastContext: Context = _
78-
private var cached: T = _
78+
private var lastContext: Context = uninitialized
79+
private var cached: T = uninitialized
7980

8081
def get(using Context): T = {
8182
if (lastContext != ctx) {

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirPositions.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import dotty.tools.dotc.util.{SourceFile, SourcePosition}
77
import dotty.tools.dotc.util.Spans.Span
88
import GenNIR.URIMap
99
import scalanative.nir
10+
import scala.compiletime.uninitialized
1011

1112
class NirPositions(sourceURIMaps: List[GenNIR.URIMap])(using Context) {
1213
given fromSourcePosition: Conversion[SourcePosition, nir.Position] = {
@@ -33,8 +34,8 @@ class NirPositions(sourceURIMaps: List[GenNIR.URIMap])(using Context) {
3334

3435
private object conversionCache {
3536
import dotty.tools.dotc.util._
36-
private var lastDotcSource: SourceFile = _
37-
private var lastNIRSource: nir.Position.SourceFile = _
37+
private var lastDotcSource: SourceFile = uninitialized
38+
private var lastNIRSource: nir.Position.SourceFile = uninitialized
3839

3940
def toNIRSource(dotcSource: SourceFile): nir.Position.SourceFile = {
4041
if (dotcSource != lastDotcSource) {

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/NirPrimitives.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class NirPrimitives(using ctx: Context) extends DottyPrimitives(ctx) {
143143
val primitives = MutableSymbolMap[Int]()
144144

145145
def addPrimitive(s: Symbol, code: Int) = {
146-
assert(!(primitives contains s), "Duplicate primitive " + s)
146+
assert(!(primitives.contains(s)), "Duplicate primitive " + s)
147147
assert(s.exists, s"Empty symbol with code $code")
148148
primitives(s) = code
149149
}

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/PostInlineNativeInterop.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import dotty.tools.dotc.plugins.PluginPhase
44
import dotty.tools._
55
import dotc._
66
import dotc.ast.tpd._
7-
import dotc.transform.SymUtils.setter
7+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.setter
88
import core.Contexts._
99
import core.Definitions
1010
import core.Names._

nscplugin/src/main/scala-3/scala/scalanative/nscplugin/PrepNativeInterop.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import dotty.tools.dotc.plugins.PluginPhase
44
import dotty.tools._
55
import dotc._
66
import dotc.ast.tpd._
7-
import dotc.transform.SymUtils._
7+
import scala.scalanative.nscplugin.CompilerCompat.SymUtilsCompat.*
88
import core.Contexts._
99
import core.Definitions
1010
import core.Names._
@@ -103,11 +103,11 @@ class PrepNativeInterop extends PluginPhase with NativeInteropUtil {
103103
vd match {
104104
case ValDef(_, tpt, ScalaEnumValue.NoName(optIntParam)) =>
105105
val nrhs = scalaEnumValName(sym.owner.asClass, sym, optIntParam)
106-
cpy.ValDef(vd)(tpt = transformAllDeep(tpt), nrhs)
106+
cpy.ValDef(vd)(tpt = transformAllDeep(tpt), rhs = nrhs)
107107

108108
case ValDef(_, tpt, ScalaEnumValue.NullName(optIntParam)) =>
109109
val nrhs = scalaEnumValName(sym.owner.asClass, sym, optIntParam)
110-
cpy.ValDef(vd)(tpt = transformAllDeep(tpt), nrhs)
110+
cpy.ValDef(vd)(tpt = transformAllDeep(tpt), rhs = nrhs)
111111

112112
case _ =>
113113
// Set `@extern` annotation for top-level extern variables

0 commit comments

Comments
 (0)