From bca2c4afd320358c6b8c5b1e8d92dcf40d258923 Mon Sep 17 00:00:00 2001 From: mio Date: Fri, 23 May 2025 19:00:38 +0800 Subject: [PATCH 1/3] scope is optional for stopAfter: parsing --- crates/artifacts/solc/src/ast/mod.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/artifacts/solc/src/ast/mod.rs b/crates/artifacts/solc/src/ast/mod.rs index 92e995934..c2304d21b 100644 --- a/crates/artifacts/solc/src/ast/mod.rs +++ b/crates/artifacts/solc/src/ast/mod.rs @@ -178,7 +178,7 @@ ast_node!( fully_implemented: bool, linearized_base_contracts: Vec, nodes: Vec, - scope: usize, + scope: Option, #[serde(default, deserialize_with = "serde_helpers::default_for_null")] used_errors: Vec, #[serde(default, deserialize_with = "serde_helpers::default_for_null")] @@ -536,7 +536,7 @@ ast_node!( #[serde(default)] mutability: Option, overrides: Option, - scope: usize, + scope: Option, storage_location: StorageLocation, type_descriptions: TypeDescriptions, type_name: Option, @@ -713,7 +713,7 @@ ast_node!( overrides: Option, parameters: ParameterList, return_parameters: ParameterList, - scope: usize, + scope: Option, visibility: Visibility, /// The kind of function this node defines. Only valid for Solidity versions 0.5.x and /// above. @@ -1028,7 +1028,7 @@ ast_node!( name_location: Option, canonical_name: String, members: Vec, - scope: usize, + scope: Option, visibility: Visibility, } ); @@ -1082,7 +1082,7 @@ ast_node!( file: String, #[serde(default, with = "serde_helpers::display_from_str_opt")] name_location: Option, - scope: usize, + scope: Option, source_unit: usize, symbol_aliases: Vec, unit_alias: String, From 7ec8f5bdb4e2ce5ebe3adebb2da24cedf0888490 Mon Sep 17 00:00:00 2001 From: mio Date: Fri, 23 May 2025 19:04:48 +0800 Subject: [PATCH 2/3] also mark fully_implemented --- crates/artifacts/solc/src/ast/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/artifacts/solc/src/ast/mod.rs b/crates/artifacts/solc/src/ast/mod.rs index c2304d21b..7164629d9 100644 --- a/crates/artifacts/solc/src/ast/mod.rs +++ b/crates/artifacts/solc/src/ast/mod.rs @@ -175,9 +175,11 @@ ast_node!( #[serde(rename = "contractKind")] kind: ContractKind, documentation: Option, - fully_implemented: bool, + // Not available when "stopAfter": "parsing" is specified. + fully_implemented: Option, linearized_base_contracts: Vec, nodes: Vec, + // Not available when "stopAfter": "parsing" is specified. scope: Option, #[serde(default, deserialize_with = "serde_helpers::default_for_null")] used_errors: Vec, @@ -536,6 +538,7 @@ ast_node!( #[serde(default)] mutability: Option, overrides: Option, + // Not available when "stopAfter": "parsing" is specified. scope: Option, storage_location: StorageLocation, type_descriptions: TypeDescriptions, @@ -713,6 +716,7 @@ ast_node!( overrides: Option, parameters: ParameterList, return_parameters: ParameterList, + // Not available when "stopAfter": "parsing" is specified. scope: Option, visibility: Visibility, /// The kind of function this node defines. Only valid for Solidity versions 0.5.x and @@ -1028,6 +1032,7 @@ ast_node!( name_location: Option, canonical_name: String, members: Vec, + // Not available when "stopAfter": "parsing" is specified. scope: Option, visibility: Visibility, } @@ -1082,6 +1087,7 @@ ast_node!( file: String, #[serde(default, with = "serde_helpers::display_from_str_opt")] name_location: Option, + // Not available when "stopAfter": "parsing" is specified. scope: Option, source_unit: usize, symbol_aliases: Vec, From fc2465023bbf316628e1d4740426d12f3beb6659 Mon Sep 17 00:00:00 2001 From: mio Date: Fri, 23 May 2025 19:07:37 +0800 Subject: [PATCH 3/3] also mark linearized_base_contracts --- crates/artifacts/solc/src/ast/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/artifacts/solc/src/ast/mod.rs b/crates/artifacts/solc/src/ast/mod.rs index 7164629d9..90cf1e65e 100644 --- a/crates/artifacts/solc/src/ast/mod.rs +++ b/crates/artifacts/solc/src/ast/mod.rs @@ -177,6 +177,8 @@ ast_node!( documentation: Option, // Not available when "stopAfter": "parsing" is specified. fully_implemented: Option, + // Not available when "stopAfter": "parsing" is specified. + #[serde(default)] linearized_base_contracts: Vec, nodes: Vec, // Not available when "stopAfter": "parsing" is specified.