@@ -125,9 +125,9 @@ object root:
125125 /** The type of fresh references */
126126 type Fresh = AnnotatedType
127127
128+ /** Constructor and extractor methods for "fresh" capabilities */
128129 object Fresh :
129- /** Constructor and extractor methods for "fresh" capabilities */
130- private def make (owner : Symbol )(using Context ): CaptureRef =
130+ def apply (using Context )(owner : Symbol = ctx.owner): CaptureRef =
131131 if ccConfig.useSepChecks then
132132 val hiddenSet = CaptureSet .HiddenSet (owner)
133133 val res = AnnotatedType (cap, Annot (Kind .Fresh (hiddenSet)))
@@ -137,9 +137,6 @@ object root:
137137 else
138138 cap
139139
140- def withOwner (owner : Symbol )(using Context ): CaptureRef = make(owner)
141- def apply ()(using Context ): CaptureRef = make(NoSymbol )
142-
143140 def unapply (tp : AnnotatedType ): Option [CaptureSet .HiddenSet ] = tp.annot match
144141 case Annot (Kind .Fresh (hidden)) => Some (hidden)
145142 case _ => None
@@ -168,14 +165,14 @@ object root:
168165 /** Map each occurrence of cap to a different Fresh instance
169166 * Exception: CapSet^ stays as it is.
170167 */
171- class CapToFresh (owner : Symbol )(using Context ) extends BiTypeMap , FollowAliasesMap :
168+ class CapToFresh ()(using Context ) extends BiTypeMap , FollowAliasesMap :
172169 thisMap =>
173170
174171 override def apply (t : Type ) =
175172 if variance <= 0 then t
176173 else t match
177174 case t : CaptureRef if t.isCap =>
178- Fresh .withOwner(owner )
175+ Fresh ( )
179176 case t @ CapturingType (parent : TypeRef , _) if parent.symbol == defn.Caps_CapSet =>
180177 t
181178 case t @ CapturingType (_, _) =>
@@ -213,12 +210,12 @@ object root:
213210 end CapToFresh
214211
215212 /** Maps cap to fresh */
216- def capToFresh (tp : Type , owner : Symbol = NoSymbol )(using Context ): Type =
217- if ccConfig.useSepChecks then CapToFresh (owner )(tp) else tp
213+ def capToFresh (tp : Type )(using Context ): Type =
214+ if ccConfig.useSepChecks then CapToFresh ()(tp) else tp
218215
219216 /** Maps fresh to cap */
220217 def freshToCap (tp : Type )(using Context ): Type =
221- if ccConfig.useSepChecks then CapToFresh (NoSymbol ).inverse(tp) else tp
218+ if ccConfig.useSepChecks then CapToFresh ().inverse(tp) else tp
222219
223220 /** Map top-level free existential variables one-to-one to Fresh instances */
224221 def resultToFresh (tp : Type )(using Context ): Type =
0 commit comments