@@ -9,7 +9,10 @@ use alloc::{
99} ;
1010use core:: cell:: RefCell ;
1111
12- use objdiff_core:: { diff, obj:: { self , DiffSide } } ;
12+ use objdiff_core:: {
13+ diff,
14+ obj,
15+ } ;
1316use regex:: { Regex , RegexBuilder } ;
1417use xxhash_rust:: xxh3:: xxh3_64;
1518
@@ -27,6 +30,7 @@ use exports::objdiff::core::{
2730 DiffConfigBorrow , DiffResult , Guest as GuestDiff , GuestDiffConfig , GuestObject ,
2831 GuestObjectDiff , MappingConfig , Object , ObjectBorrow , ObjectDiff , ObjectDiffBorrow ,
2932 SymbolFlags , SymbolInfo , SymbolKind , SymbolRef ,
33+ DiffSide ,
3034 } ,
3135 display:: {
3236 ContextItem , ContextItemCopy , ContextItemNavigate , DiffText , DiffTextColor , DiffTextOpcode ,
@@ -470,8 +474,21 @@ unsafe impl Sync for ObjectCache {}
470474
471475static OBJECT_CACHE : ObjectCache = ObjectCache :: new ( ) ;
472476
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+
473486impl 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 > {
475492 let hash = xxh3_64 ( & data) ;
476493 let mut cached = None ;
477494 OBJECT_CACHE . borrow_mut ( ) . retain ( |c| {
@@ -487,7 +504,8 @@ impl GuestObject for ResourceObject {
487504 return Ok ( Object :: new ( ResourceObject ( obj, hash) ) ) ;
488505 }
489506 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 ( ) ) ?) ;
491509 OBJECT_CACHE . borrow_mut ( ) . push ( CachedObject ( Rc :: downgrade ( & obj) , hash) ) ;
492510 Ok ( Object :: new ( ResourceObject ( obj, hash) ) )
493511 }
0 commit comments