revive_solc_json_interface/standard_json/input/settings/selection/file/
flag.rs1use serde::Deserialize;
4use serde::Serialize;
5
6#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
8pub enum Flag {
9 #[serde(rename = "abi")]
11 ABI,
12 #[serde(rename = "metadata")]
14 Metadata,
15 #[serde(rename = "devdoc")]
17 Devdoc,
18 #[serde(rename = "userdoc")]
20 Userdoc,
21 #[serde(rename = "evm.methodIdentifiers")]
23 MethodIdentifiers,
24 #[serde(rename = "storageLayout")]
26 StorageLayout,
27 #[serde(rename = "ast")]
29 AST,
30 #[serde(rename = "irOptimized")]
32 Yul,
33 #[serde(rename = "evm.legacyAssembly")]
35 EVMLA,
36 #[serde(rename = "evm.bytecode")]
37 EVMBC,
38 #[serde(rename = "evm.deployedBytecode")]
39 EVMDBC,
40 #[serde(rename = "evm.assembly")]
42 Assembly,
43 #[serde(rename = "ir")]
45 Ir,
46}
47
48impl std::fmt::Display for Flag {
49 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
50 match self {
51 Self::ABI => write!(f, "abi"),
52 Self::Metadata => write!(f, "metadata"),
53 Self::Devdoc => write!(f, "devdoc"),
54 Self::Userdoc => write!(f, "userdoc"),
55 Self::MethodIdentifiers => write!(f, "evm.methodIdentifiers"),
56 Self::StorageLayout => write!(f, "storageLayout"),
57 Self::AST => write!(f, "ast"),
58 Self::Yul => write!(f, "irOptimized"),
59 Self::EVMLA => write!(f, "evm.legacyAssembly"),
60 Self::EVMBC => write!(f, "evm.bytecode"),
61 Self::EVMDBC => write!(f, "evm.deployedBytecode"),
62 Self::Assembly => write!(f, "evm.assembly"),
63 Self::Ir => write!(f, "ir"),
64 }
65 }
66}