feat(solc): add is_empty fn for structs of Options (#2195)
This commit is contained in:
parent
936fbcd287
commit
f1a8a216a5
|
@ -683,6 +683,23 @@ pub struct OptimizerDetails {
|
||||||
pub yul_details: Option<YulDetails>,
|
pub yul_details: Option<YulDetails>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// === impl OptimizerDetails ===
|
||||||
|
|
||||||
|
impl OptimizerDetails {
|
||||||
|
/// Returns true if no settings are set.
|
||||||
|
pub fn is_empty(&self) -> bool {
|
||||||
|
self.peephole.is_none() &&
|
||||||
|
self.inliner.is_none() &&
|
||||||
|
self.jumpdest_remover.is_none() &&
|
||||||
|
self.order_literals.is_none() &&
|
||||||
|
self.deduplicate.is_none() &&
|
||||||
|
self.cse.is_none() &&
|
||||||
|
self.constant_optimizer.is_none() &&
|
||||||
|
self.yul.is_none() &&
|
||||||
|
self.yul_details.as_ref().map(|yul| yul.is_empty()).unwrap_or(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Default)]
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct YulDetails {
|
pub struct YulDetails {
|
||||||
|
@ -696,6 +713,15 @@ pub struct YulDetails {
|
||||||
pub optimizer_steps: Option<String>,
|
pub optimizer_steps: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// === impl YulDetails ===
|
||||||
|
|
||||||
|
impl YulDetails {
|
||||||
|
/// Returns true if no settings are set.
|
||||||
|
pub fn is_empty(&self) -> bool {
|
||||||
|
self.stack_allocation.is_none() && self.optimizer_steps.is_none()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
|
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
|
||||||
pub enum EvmVersion {
|
pub enum EvmVersion {
|
||||||
Homestead,
|
Homestead,
|
||||||
|
|
Loading…
Reference in New Issue