1
1
package io .bazel .rules_scala .dottyijar .tasty
2
2
3
- import com .softwaremill .tagging .*
4
3
import dotty .tools .dotc .util .Spans .Span
5
4
import dotty .tools .tasty .TastyFormat as DottyTastyFormat
6
5
import io .bazel .rules_scala .dottyijar .tasty .format .*
6
+ import io .bazel .rules_scala .dottyijar .tasty .numeric .{SignedInt , SignedLong , UnsignedInt }
7
7
import java .util .UUID
8
8
import scala .annotation .nowarn
9
9
import scala .util .control .NonFatal
@@ -887,18 +887,18 @@ object TastyParameterSignature {
887
887
888
888
given TastyFormat [TastyParameterSignature ] = TastyFormat (
889
889
reader => {
890
- val value = reader.readSignedInt()
890
+ val value = reader.readSignedInt().value
891
891
892
892
if (value < 0 ) {
893
893
TypeParameterSectionLength (- value)
894
894
} else {
895
- TermParameter (TastyNameReference (value.taggedWith[ Unsigned ] ))
895
+ TermParameter (TastyNameReference (UnsignedInt ( value) ))
896
896
}
897
897
},
898
898
(writer, value) =>
899
899
value match {
900
- case TypeParameterSectionLength (length, _) => writer.writeSignedInt((- length).taggedWith[ Signed ] )
901
- case TermParameter (name, _) => writer.writeSignedInt(name.i.taggedWith[ Signed ] )
900
+ case TypeParameterSectionLength (length, _) => writer.writeSignedInt(SignedInt (- length))
901
+ case TermParameter (name, _) => writer.writeSignedInt(SignedInt ( name.i.value) )
902
902
},
903
903
)
904
904
}
@@ -1004,7 +1004,7 @@ case class TastyNameTable(names: Vector[TastyName]) {
1004
1004
| ${names.zipWithIndex.map { case (name, i) => s " $i: $name" }.mkString(" \n " )}
1005
1005
|) """ .stripMargin
1006
1006
1007
- def apply (reference : TastyNameReference ): TastyName = names(reference.i)
1007
+ def apply (reference : TastyNameReference ): TastyName = names(reference.i.value )
1008
1008
}
1009
1009
1010
1010
object TastyNameTable {
@@ -1019,7 +1019,7 @@ object TastySection {
1019
1019
reader => {
1020
1020
val nameReference = summon[TastyFormat [TastyNameReference ]].read(reader)
1021
1021
val name = nameTable(nameReference)
1022
- val payload = reader.readWithLength(reader.readUnsignedInt()) { reader =>
1022
+ val payload = reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1023
1023
name match {
1024
1024
case TastyName .Simple (" ASTs" , _) => summon[TastyFormat [TastySectionPayload .Asts ]].read(reader)
1025
1025
case TastyName .Simple (" Positions" , _) => summon[TastyFormat [TastySectionPayload .Positions ]].read(reader)
@@ -1076,12 +1076,12 @@ object TastySectionPayload {
1076
1076
object LineSizes {
1077
1077
given TastyFormat [LineSizes ] = TastyFormat (
1078
1078
reader => {
1079
- val length = reader.readUnsignedInt()
1079
+ val length = reader.readUnsignedInt().value
1080
1080
1081
1081
LineSizes (Range (0 , length).map(_ => reader.readUnsignedInt()).toList)
1082
1082
},
1083
1083
(writer, lineSizes) => {
1084
- writer.writeUnsignedInt(lineSizes.sizes.length.taggedWith[ Unsigned ] )
1084
+ writer.writeUnsignedInt(UnsignedInt ( lineSizes.sizes.length) )
1085
1085
1086
1086
lineSizes.sizes.foreach(writer.writeUnsignedInt)
1087
1087
},
@@ -1093,7 +1093,7 @@ object TastySectionPayload {
1093
1093
object Delta {
1094
1094
given TastyFormat [Delta ] = TastyFormat (
1095
1095
reader => {
1096
- val header = reader.readUnsignedInt()
1096
+ val header = reader.readUnsignedInt().value
1097
1097
val addressDelta = header >> 3
1098
1098
val start = Option .when(((header >>> 2 ) & 0x1 ) == 1 )(reader.readSignedInt())
1099
1099
val end = Option .when(((header >>> 1 ) & 0x1 ) == 1 )(reader.readSignedInt())
@@ -1102,12 +1102,12 @@ object TastySectionPayload {
1102
1102
Delta (addressDelta, start, end, point)
1103
1103
},
1104
1104
(writer, delta) => {
1105
- val header = (
1105
+ val header = UnsignedInt (
1106
1106
(delta.addressDelta << 3 ) |
1107
1107
((if (delta.start.isDefined) 1 else 0 ) << 2 ) |
1108
1108
((if (delta.end.isDefined) 1 else 0 ) << 1 ) |
1109
1109
(if (delta.point.isDefined) 1 else 0 )
1110
- ).taggedWith[ Unsigned ]
1110
+ )
1111
1111
1112
1112
writer.writeUnsignedInt(header)
1113
1113
@@ -1126,7 +1126,7 @@ object TastySectionPayload {
1126
1126
1127
1127
private given TastyFormat [Delta | Source ] = TastyFormat (
1128
1128
reader =>
1129
- if (reader.peek(_.readUnsignedInt()) == DottyTastyFormat .SOURCE ) {
1129
+ if (reader.peek(_.readUnsignedInt().value ) == DottyTastyFormat .SOURCE ) {
1130
1130
reader.readUnsignedInt()
1131
1131
1132
1132
summon[TastyFormat [Source ]].read(reader)
@@ -1137,7 +1137,7 @@ object TastySectionPayload {
1137
1137
value match {
1138
1138
case delta : Delta => summon[TastyFormat [Delta ]].write(writer, delta)
1139
1139
case source : Source =>
1140
- writer.writeUnsignedInt(DottyTastyFormat .SOURCE .taggedWith[ Unsigned ] )
1140
+ writer.writeUnsignedInt(UnsignedInt ( DottyTastyFormat .SOURCE ) )
1141
1141
1142
1142
summon[TastyFormat [Source ]].write(writer, source)
1143
1143
},
@@ -1377,7 +1377,7 @@ case class TastyTemplate(
1377
1377
object TastyTemplate {
1378
1378
private val underlyingTastyFormat = TastyFormat (
1379
1379
reader =>
1380
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1380
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1381
1381
val typeParameters = reader.readWhile(
1382
1382
! reader.isAtEnd && summon[TastySumType [TastyTypeParameter ]].peekIsVariant(reader),
1383
1383
)(summon[TastyFormat [TastyTypeParameter ]].read(reader))
@@ -1600,7 +1600,7 @@ object TastyTerm {
1600
1600
object Inlined {
1601
1601
given TastyFormat [Inlined ] = TastyFormat (
1602
1602
reader =>
1603
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1603
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1604
1604
val expression = summon[TastyFormat [TastyTerm ]].read(reader)
1605
1605
val call = Option .when(! reader.isAtEnd && summon[TastySumType [TastyTypeTree ]].peekIsVariant(reader))(
1606
1606
summon[TastyFormat [TastyTypeTree ]].read(reader),
@@ -1681,7 +1681,7 @@ object TastyTerm {
1681
1681
object Match {
1682
1682
given TastyFormat [Match ] = TastyFormat (
1683
1683
reader =>
1684
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1684
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1685
1685
val implicitTag = DottyTastyFormat .IMPLICIT .toByte
1686
1686
val inlineTag = DottyTastyFormat .INLINE .toByte
1687
1687
val (inline , scrutinee) = reader.peek(_.readByte()) match {
@@ -1788,7 +1788,7 @@ object TastyTerm {
1788
1788
object Unapply {
1789
1789
given TastyFormat [Unapply ] = TastyFormat (
1790
1790
reader =>
1791
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1791
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1792
1792
val function = summon[TastyFormat [TastyTerm ]].read(reader)
1793
1793
val implicitArguments = reader.readWhile(
1794
1794
! reader.isAtEnd && summon[TastySumType [TastyImplicitArgument ]].peekIsVariant(reader),
@@ -1864,7 +1864,7 @@ object TastyTerm {
1864
1864
object Try {
1865
1865
given TastyFormat [Try ] = TastyFormat (
1866
1866
reader =>
1867
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1867
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1868
1868
val expression = summon[TastyFormat [TastyTerm ]].read(reader)
1869
1869
val cases = reader.readWhile(
1870
1870
! reader.isAtEnd && summon[TastySumType [TastyCaseDefinition ]].peekIsVariant(reader),
@@ -1964,7 +1964,7 @@ object TastyTerm {
1964
1964
object SplicedPattern {
1965
1965
given TastyFormat [SplicedPattern ] = TastyFormat (
1966
1966
reader =>
1967
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
1967
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
1968
1968
val pattern = summon[TastyFormat [TastyTerm ]].read(reader)
1969
1969
val patternType = summon[TastyFormat [TastyType ]].read(reader)
1970
1970
val typeArguments = reader.readWhile(
@@ -2166,7 +2166,7 @@ object TastyType {
2166
2166
object TypeBounds {
2167
2167
given TastyFormat [TypeBounds ] = TastyFormat (
2168
2168
reader =>
2169
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2169
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2170
2170
val low = summon[TastyFormat [TastyType ]].read(reader)
2171
2171
val high = Option .when(! reader.isAtEnd && summon[TastySumType [TastyType ]].peekIsVariant(reader))(
2172
2172
summon[TastyFormat [TastyType ]].read(reader),
@@ -2340,7 +2340,7 @@ object TastyType {
2340
2340
object Method {
2341
2341
given TastyFormat [Method ] = TastyFormat (
2342
2342
reader =>
2343
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2343
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2344
2344
val result = summon[TastyFormat [TastyType ]].read(reader)
2345
2345
val parameters = reader.readWhile(
2346
2346
! reader.isAtEnd && ! summon[TastySumType [TastyModifier ]].peekIsVariant(reader),
@@ -2540,7 +2540,7 @@ object TastyTypeTree {
2540
2540
object Lambda {
2541
2541
given TastyFormat [Lambda ] = TastyFormat (
2542
2542
reader =>
2543
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2543
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2544
2544
val typeParameters = reader.readWhile(
2545
2545
! reader.isAtEnd && summon[TastySumType [TastyTypeParameter ]].peekIsVariant(reader),
2546
2546
)(summon[TastyFormat [TastyTypeParameter ]].read(reader))
@@ -2573,7 +2573,7 @@ object TastyTypeTree {
2573
2573
object TypeBounds {
2574
2574
given TastyFormat [TypeBounds ] = TastyFormat (
2575
2575
reader =>
2576
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2576
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2577
2577
val low = summon[TastyFormat [TastyTypeTree ]].read(reader)
2578
2578
val high = Option .unless(reader.isAtEnd)(summon[TastyFormat [TastyTypeTree ]].read(reader))
2579
2579
val alias = Option .unless(reader.isAtEnd)(summon[TastyFormat [TastyTypeTree ]].read(reader))
@@ -2610,7 +2610,7 @@ object TastyTypeTree {
2610
2610
object Match {
2611
2611
given TastyFormat [Match ] = TastyFormat (
2612
2612
reader =>
2613
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2613
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2614
2614
val boundOrScrutinee = summon[TastyFormat [TastyTypeTree ]].read(reader)
2615
2615
val (bound, scrutinee) = if (! reader.isAtEnd && summon[TastySumType [TastyTypeTree ]].peekIsVariant(reader)) {
2616
2616
(Some (boundOrScrutinee), summon[TastyFormat [TastyTypeTree ]].read(reader))
@@ -2689,7 +2689,7 @@ object TastyValOrDefDefinition {
2689
2689
object Val {
2690
2690
given TastyFormat [Val ] = TastyFormat (
2691
2691
reader =>
2692
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2692
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2693
2693
val name = summon[TastyFormat [TastyNameReference ]].read(reader)
2694
2694
val `type` = summon[TastyFormat [TastyTypeTree ]].read(reader)
2695
2695
val value = Option .when(! reader.isAtEnd && summon[TastySumType [TastyTerm ]].peekIsVariant(reader))(
@@ -2723,7 +2723,7 @@ object TastyValOrDefDefinition {
2723
2723
object Def {
2724
2724
private val underlyingTastyFormat : TastyFormat [Def ] = TastyFormat (
2725
2725
reader =>
2726
- reader.readWithLength(reader.readUnsignedInt()) { reader =>
2726
+ reader.readWithLength(reader.readUnsignedInt().value ) { reader =>
2727
2727
val name = summon[TastyFormat [TastyNameReference ]].read(reader)
2728
2728
val parameters = reader.readWhile(summon[TastySumType [TastyParameter ]].peekIsVariant(reader))(
2729
2729
summon[TastyFormat [TastyParameter ]].read(reader),
0 commit comments