mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-14 03:01:04 +00:00
solc-json-interface: do not unconditionally skip serialization of custom keys (#337)
The data structure can be used to build the JSON input for `resolc` too. In that case serializing of provided custom options should not be dismissed. Makes the memory settings struct more modular as a drive-by. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
@@ -229,7 +229,7 @@ pub fn standard_json<T: Compiler>(
|
||||
revive_llvm_context::OptimizerSettings::try_from(&solc_input.settings.optimizer)?;
|
||||
|
||||
let polkavm_settings = solc_input.settings.polkavm.unwrap_or_default();
|
||||
debug_config.emit_debug_info = polkavm_settings.debug_information;
|
||||
debug_config.emit_debug_info = polkavm_settings.debug_information.unwrap_or_default();
|
||||
|
||||
let include_metadata_hash = match solc_input.settings.metadata {
|
||||
Some(ref metadata) => metadata.bytecode_hash != Some(MetadataHash::None),
|
||||
@@ -265,7 +265,9 @@ pub fn standard_json<T: Compiler>(
|
||||
include_metadata_hash,
|
||||
debug_config,
|
||||
llvm_arguments,
|
||||
polkavm_settings.memory_config,
|
||||
polkavm_settings
|
||||
.memory_config
|
||||
.unwrap_or_else(SolcStandardJsonInputSettingsPolkaVMMemory::default),
|
||||
)?;
|
||||
build.write_to_standard_json(&mut solc_output, &solc_version)?;
|
||||
}
|
||||
|
||||
@@ -142,14 +142,10 @@ fn main_inner() -> anyhow::Result<()> {
|
||||
None => true,
|
||||
};
|
||||
|
||||
let mut memory_config =
|
||||
revive_solc_json_interface::SolcStandardJsonInputSettingsPolkaVMMemory::default();
|
||||
if let Some(heap_size) = arguments.heap_size {
|
||||
memory_config.heap_size = heap_size
|
||||
}
|
||||
if let Some(stack_size) = arguments.stack_size {
|
||||
memory_config.stack_size = stack_size
|
||||
}
|
||||
let memory_config = revive_solc_json_interface::SolcStandardJsonInputSettingsPolkaVMMemory::new(
|
||||
arguments.heap_size,
|
||||
arguments.stack_size,
|
||||
);
|
||||
|
||||
let build = if arguments.yul {
|
||||
resolc::yul(
|
||||
|
||||
Reference in New Issue
Block a user