@@ -9,7 +9,10 @@ use alloc::{
9
9
} ;
10
10
use core:: cell:: RefCell ;
11
11
12
- use objdiff_core:: { diff, obj:: { self , DiffSide } } ;
12
+ use objdiff_core:: {
13
+ diff,
14
+ obj,
15
+ } ;
13
16
use regex:: { Regex , RegexBuilder } ;
14
17
use xxhash_rust:: xxh3:: xxh3_64;
15
18
@@ -27,6 +30,7 @@ use exports::objdiff::core::{
27
30
DiffConfigBorrow , DiffResult , Guest as GuestDiff , GuestDiffConfig , GuestObject ,
28
31
GuestObjectDiff , MappingConfig , Object , ObjectBorrow , ObjectDiff , ObjectDiffBorrow ,
29
32
SymbolFlags , SymbolInfo , SymbolKind , SymbolRef ,
33
+ DiffSide ,
30
34
} ,
31
35
display:: {
32
36
ContextItem , ContextItemCopy , ContextItemNavigate , DiffText , DiffTextColor , DiffTextOpcode ,
@@ -470,8 +474,21 @@ unsafe impl Sync for ObjectCache {}
470
474
471
475
static OBJECT_CACHE : ObjectCache = ObjectCache :: new ( ) ;
472
476
477
+ impl From < DiffSide > for objdiff_core:: obj:: DiffSide {
478
+ fn from ( value : DiffSide ) -> Self {
479
+ match value {
480
+ DiffSide :: Target => Self :: Target ,
481
+ DiffSide :: Base => Self :: Base ,
482
+ }
483
+ }
484
+ }
485
+
473
486
impl GuestObject for ResourceObject {
474
- fn parse ( data : Vec < u8 > , diff_config : DiffConfigBorrow , diff_side : DiffSide ) -> Result < Object , String > {
487
+ fn parse (
488
+ data : Vec < u8 > ,
489
+ diff_config : DiffConfigBorrow ,
490
+ diff_side : DiffSide ,
491
+ ) -> Result < Object , String > {
475
492
let hash = xxh3_64 ( & data) ;
476
493
let mut cached = None ;
477
494
OBJECT_CACHE . borrow_mut ( ) . retain ( |c| {
@@ -487,7 +504,8 @@ impl GuestObject for ResourceObject {
487
504
return Ok ( Object :: new ( ResourceObject ( obj, hash) ) ) ;
488
505
}
489
506
let diff_config = diff_config. get :: < ResourceDiffConfig > ( ) . 0 . borrow ( ) ;
490
- let obj = Rc :: new ( obj:: read:: parse ( & data, & diff_config, diff_side) . map_err ( |e| e. to_string ( ) ) ?) ;
507
+ let obj =
508
+ Rc :: new ( obj:: read:: parse ( & data, & diff_config, diff_side. into ( ) ) . map_err ( |e| e. to_string ( ) ) ?) ;
491
509
OBJECT_CACHE . borrow_mut ( ) . push ( CachedObject ( Rc :: downgrade ( & obj) , hash) ) ;
492
510
Ok ( Object :: new ( ResourceObject ( obj, hash) ) )
493
511
}
0 commit comments