11
11
from crytic_compile .compiler .compiler import CompilerVersion
12
12
from crytic_compile .platform import Type as PlatformType
13
13
from crytic_compile .platform .abstract_platform import AbstractPlatform
14
- from crytic_compile .utils .naming import Filename , convert_filename
14
+ from crytic_compile .utils .naming import Filename
15
15
16
16
# Cycle dependency
17
17
from crytic_compile .utils .natspec import Natspec
@@ -435,15 +435,16 @@ def _load_from_compile_current(crytic_compile: "CryticCompile", loaded_json: Dic
435
435
version = compilation_unit_json ["compiler" ]["version" ],
436
436
optimized = compilation_unit_json ["compiler" ]["optimized" ],
437
437
)
438
- for contracts_data in compilation_unit_json ["contracts" ].values ():
439
- for contract_name , contract in contracts_data .items ():
440
438
441
- filename = Filename (
442
- absolute = contract ["filenames" ]["absolute" ],
443
- relative = contract ["filenames" ]["relative" ],
444
- short = contract ["filenames" ]["short" ],
445
- used = contract ["filenames" ]["used" ],
446
- )
439
+ compilation_unit .filenames = {
440
+ _convert_dict_to_filename (filename ) for filename in compilation_unit_json ["filenames" ]
441
+ }
442
+
443
+ for filename_str , source_unit_data in compilation_unit_json ["source_units" ].items ():
444
+ filename = compilation_unit .filename_lookup (filename_str )
445
+ source_unit = compilation_unit .create_source_unit (filename )
446
+
447
+ for contract_name , contract in source_unit_data ["contracts" ].items ():
447
448
compilation_unit .filename_to_contracts [filename ].add (contract_name )
448
449
449
450
source_unit = compilation_unit .create_source_unit (filename )
@@ -465,15 +466,7 @@ def _load_from_compile_current(crytic_compile: "CryticCompile", loaded_json: Dic
465
466
crytic_compile .dependencies .add (filename .short )
466
467
crytic_compile .dependencies .add (filename .used )
467
468
468
- compilation_unit .filenames = {
469
- _convert_dict_to_filename (filename ) for filename in compilation_unit_json ["filenames" ]
470
- }
471
-
472
- for path , ast in compilation_unit_json ["asts" ].items :
473
- # The following might create lookup issue?
474
- filename = convert_filename (path , lambda x : x , crytic_compile )
475
- source_unit = compilation_unit .create_source_unit (filename )
476
- source_unit .ast = ast
469
+ source_unit .ast = source_unit_data ["ast" ]
477
470
478
471
479
472
def load_from_compile (crytic_compile : "CryticCompile" , loaded_json : Dict ) -> Tuple [int , List [str ]]:
0 commit comments