11package dev .vale .finalast
22
3- import dev .vale .{FileCoordinate , PackageCoordinate , vassert , vfail }
4- import dev .vale .vimpl
3+ import dev .vale .{FileCoordinate , Interner , PackageCoordinate , vassert , vfail , vimpl }
54
65// Represents a reference type.
76// A reference contains these things:
@@ -93,30 +92,30 @@ case class ReferenceH[+T <: KindH](
9392
9493// A value, a thing that can be pointed at. See ReferenceH for more information.
9594sealed trait KindH {
96- def packageCoord : PackageCoordinate
95+ def packageCoord ( interner : Interner ) : PackageCoordinate
9796}
9897object IntH {
9998 val i32 = IntH (32 )
10099}
101100case class IntH (bits : Int ) extends KindH {
102101 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
103- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
102+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
104103}
105104case class VoidH () extends KindH {
106105 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
107- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
106+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
108107}
109108case class BoolH () extends KindH {
110109 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
111- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
110+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
112111}
113112case class StrH () extends KindH {
114113 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
115- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
114+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
116115}
117116case class FloatH () extends KindH {
118117 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
119- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
118+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
120119}
121120// A primitive which can never be instantiated. If something returns this, it
122121// means that it will never actually return. For example, the return type of
@@ -126,23 +125,23 @@ case class FloatH() extends KindH {
126125// where None is never, Some(None) is Void, and Some(Some(_)) is a normal thing.
127126case class NeverH (fromBreak : Boolean ) extends KindH {
128127 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
129- override def packageCoord : PackageCoordinate = PackageCoordinate .BUILTIN
128+ override def packageCoord ( interner : Interner ) : PackageCoordinate = PackageCoordinate .BUILTIN (interner)
130129}
131130
132131case class InterfaceRefH (
133132 // Unique identifier for the interface.
134133 fullName : FullNameH
135134) extends KindH {
136135 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
137- override def packageCoord : PackageCoordinate = fullName.packageCoordinate
136+ override def packageCoord ( interner : Interner ) : PackageCoordinate = fullName.packageCoordinate
138137}
139138
140139case class StructRefH (
141140 // Unique identifier for the interface.
142141 fullName : FullNameH
143142) extends KindH {
144143 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
145- override def packageCoord : PackageCoordinate = fullName.packageCoordinate
144+ override def packageCoord ( interner : Interner ) : PackageCoordinate = fullName.packageCoordinate
146145}
147146
148147// An array whose size is known at compile time, and therefore doesn't need to
@@ -152,7 +151,7 @@ case class StaticSizedArrayHT(
152151 name : FullNameH ,
153152) extends KindH {
154153 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
155- override def packageCoord : PackageCoordinate = name.packageCoordinate
154+ override def packageCoord ( interner : Interner ) : PackageCoordinate = name.packageCoordinate
156155}
157156
158157// An array whose size is known at compile time, and therefore doesn't need to
@@ -175,7 +174,7 @@ case class RuntimeSizedArrayHT(
175174 name : FullNameH ,
176175) extends KindH {
177176 val hash = runtime.ScalaRunTime ._hashCode(this ); override def hashCode (): Int = hash;
178- override def packageCoord : PackageCoordinate = name.packageCoordinate
177+ override def packageCoord ( interner : Interner ) : PackageCoordinate = name.packageCoordinate
179178}
180179
181180case class RuntimeSizedArrayDefinitionHT (
0 commit comments