@@ -279,12 +279,12 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
279
279
}
280
280
}
281
281
282
- fn elim_context ( & self ) -> semantics:: ElimContext < ' arena , ' env > {
283
- semantics:: ElimContext :: new ( self . item_exprs , self . flexible_exprs )
282
+ fn elim_env ( & self ) -> semantics:: ElimEnv < ' arena , ' env > {
283
+ semantics:: ElimEnv :: new ( self . item_exprs , self . flexible_exprs )
284
284
}
285
285
286
- fn conversion_context ( & self ) -> semantics:: ConversionContext < ' arena , ' env > {
287
- semantics:: ConversionContext :: new ( self . item_exprs , EnvLen :: new ( ) , self . flexible_exprs )
286
+ fn conversion_env ( & self ) -> semantics:: ConversionEnv < ' arena , ' env > {
287
+ semantics:: ConversionEnv :: new ( self . item_exprs , EnvLen :: new ( ) , self . flexible_exprs )
288
288
}
289
289
290
290
pub fn read_entrypoint (
@@ -307,7 +307,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
307
307
reader : & mut BufferReader < ' data > ,
308
308
format : & ArcValue < ' arena > ,
309
309
) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
310
- let val = self . elim_context ( ) . force ( format) ;
310
+ let val = self . elim_env ( ) . force ( format) ;
311
311
let format_span = val. span ( ) ;
312
312
match val. as_ref ( ) {
313
313
Value :: Stuck ( Head :: Prim ( prim) , slice) => {
@@ -317,9 +317,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
317
317
let mut formats = formats. clone ( ) ;
318
318
let mut exprs = Vec :: with_capacity ( formats. len ( ) ) ;
319
319
320
- while let Some ( ( format, next_formats) ) =
321
- self . elim_context ( ) . split_telescope ( formats)
322
- {
320
+ while let Some ( ( format, next_formats) ) = self . elim_env ( ) . split_telescope ( formats) {
323
321
let expr = self . read_format ( reader, & format) ?;
324
322
exprs. push ( expr. clone ( ) ) ;
325
323
formats = next_formats ( expr) ;
@@ -332,7 +330,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
332
330
}
333
331
Value :: FormatCond ( _label, format, cond) => {
334
332
let value = self . read_format ( reader, & format) ?;
335
- let cond_res = self . elim_context ( ) . apply_closure ( cond, value. clone ( ) ) ;
333
+ let cond_res = self . elim_env ( ) . apply_closure ( cond, value. clone ( ) ) ;
336
334
337
335
match cond_res. as_ref ( ) {
338
336
Value :: ConstLit ( Const :: Bool ( true ) ) => Ok ( value) ,
@@ -351,9 +349,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
351
349
let mut formats = formats. clone ( ) ;
352
350
let mut exprs = Vec :: with_capacity ( formats. len ( ) ) ;
353
351
354
- while let Some ( ( format, next_formats) ) =
355
- self . elim_context ( ) . split_telescope ( formats)
356
- {
352
+ while let Some ( ( format, next_formats) ) = self . elim_env ( ) . split_telescope ( formats) {
357
353
let mut reader = reader. clone ( ) ;
358
354
359
355
let expr = self . read_format ( & mut reader, & format) ?;
@@ -445,7 +441,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
445
441
len : & ArcValue < ' arena > ,
446
442
elem_format : & ArcValue < ' arena > ,
447
443
) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
448
- let len = match self . elim_context ( ) . force ( len) . as_ref ( ) {
444
+ let len = match self . elim_env ( ) . force ( len) . as_ref ( ) {
449
445
Value :: ConstLit ( Const :: U8 ( len, _) ) => u64:: from ( * len) ,
450
446
Value :: ConstLit ( Const :: U16 ( len, _) ) => u64:: from ( * len) ,
451
447
Value :: ConstLit ( Const :: U32 ( len, _) ) => u64:: from ( * len) ,
@@ -495,7 +491,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
495
491
elem_format : & ArcValue < ' arena > ,
496
492
) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
497
493
let len_span = len. span ( ) ;
498
- let len = match self . elim_context ( ) . force ( len) . as_ref ( ) {
494
+ let len = match self . elim_env ( ) . force ( len) . as_ref ( ) {
499
495
Value :: ConstLit ( Const :: U8 ( len, _) ) => Some ( usize:: from ( * len) ) ,
500
496
Value :: ConstLit ( Const :: U16 ( len, _) ) => Some ( usize:: from ( * len) ) ,
501
497
Value :: ConstLit ( Const :: U32 ( len, _) ) => usize:: try_from ( * len) . ok ( ) ,
@@ -518,7 +514,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
518
514
pos_value : & ArcValue < ' arena > ,
519
515
elem_format : & ArcValue < ' arena > ,
520
516
) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
521
- let pos = match self . elim_context ( ) . force ( pos_value) . as_ref ( ) {
517
+ let pos = match self . elim_env ( ) . force ( pos_value) . as_ref ( ) {
522
518
Value :: ConstLit ( Const :: Pos ( pos) ) => * pos,
523
519
_ => return Err ( ReadError :: InvalidValue ( pos_value. span ( ) ) ) ,
524
520
} ;
@@ -536,7 +532,7 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
536
532
format : & ArcValue < ' arena > ,
537
533
r#ref : & ArcValue < ' arena > ,
538
534
) -> Result < ArcValue < ' arena > , ReadError < ' arena > > {
539
- let pos = match self . elim_context ( ) . force ( r#ref) . as_ref ( ) {
535
+ let pos = match self . elim_env ( ) . force ( r#ref) . as_ref ( ) {
540
536
Value :: ConstLit ( Const :: Ref ( pos) ) => * pos,
541
537
_ => return Err ( ReadError :: InvalidValue ( r#ref. span ( ) ) ) ,
542
538
} ;
@@ -549,14 +545,14 @@ impl<'arena, 'env, 'data> Context<'arena, 'env, 'data> {
549
545
pos : usize ,
550
546
format : & ArcValue < ' _ > ,
551
547
) -> Option < & ' context ParsedRef < ' arena > > {
552
- // NOTE: The number of calls to `semantics::ConversionContext ::is_equal`
548
+ // NOTE: The number of calls to `semantics::ConversionEnv ::is_equal`
553
549
// when looking up cached references is a bit of a pain. If this ever
554
550
// becomes a problem we could improve performance by pre-allocating a
555
551
// `ParsedRef` in the cache during `read_link`, and storing the index of
556
552
// that parsed reference alongside the position in `Const::Ref`.
557
553
558
554
( self . cached_refs . get ( & pos) ?. iter ( ) )
559
- . find ( |r| self . conversion_context ( ) . is_equal ( & r. format , & format) )
555
+ . find ( |r| self . conversion_env ( ) . is_equal ( & r. format , & format) )
560
556
}
561
557
562
558
fn lookup_or_read_ref (
0 commit comments