diff --git a/crates/metaslang/bindings/src/lib.rs b/crates/metaslang/bindings/src/lib.rs index 246e4251e..5b2079d3f 100644 --- a/crates/metaslang/bindings/src/lib.rs +++ b/crates/metaslang/bindings/src/lib.rs @@ -124,7 +124,7 @@ pub struct Handle<'a, KT: KindTypes + 'static> { handle: GraphHandle, } -impl Handle<'_, KT> { +impl<'a, KT: KindTypes + 'static> Handle<'a, KT> { pub fn is_definition(&self) -> bool { self.owner.stack_graph[self.handle].is_definition() } @@ -137,7 +137,7 @@ impl Handle<'_, KT> { self.owner.cursors.get(&self.handle).cloned() } - pub fn get_file(&self) -> Option<&str> { + pub fn get_file(&self) -> Option<&'a str> { self.owner.stack_graph[self.handle] .file() .map(|file| self.owner.stack_graph[file].name()) diff --git a/crates/solidity/outputs/cargo/tests/src/bindings_assertions/runner.rs b/crates/solidity/outputs/cargo/tests/src/bindings_assertions/runner.rs index c2f15136c..2fd9fee86 100644 --- a/crates/solidity/outputs/cargo/tests/src/bindings_assertions/runner.rs +++ b/crates/solidity/outputs/cargo/tests/src/bindings_assertions/runner.rs @@ -1,10 +1,12 @@ use std::fs; +use std::sync::Arc; use anyhow::Result; use infra_utils::cargo::CargoWorkspace; use semver::Version; use slang_solidity::bindings; use slang_solidity::language::Language; +use slang_solidity::resolver::SolidityPathResolver; use super::generated::VERSION_BREAKS; use crate::bindings_assertions::assertions::{ @@ -28,7 +30,8 @@ pub fn run(group_name: &str, test_name: &str) -> Result<()> { fn check_assertions_with_version(version: &Version, contents: &str) -> Result<()> { let language = Language::new(version.clone())?; - let mut bindings = bindings::create(version.clone()); + let mut bindings = + bindings::create_with_resolver(version.clone(), Arc::new(SolidityPathResolver {})); let mut assertions = Assertions::new(); let parts = split_multi_file(contents); diff --git a/crates/solidity/outputs/cargo/tests/src/bindings_output/runner.rs b/crates/solidity/outputs/cargo/tests/src/bindings_output/runner.rs index dbe242bb9..1d7a2cb62 100644 --- a/crates/solidity/outputs/cargo/tests/src/bindings_output/runner.rs +++ b/crates/solidity/outputs/cargo/tests/src/bindings_output/runner.rs @@ -1,10 +1,9 @@ use std::fmt; use std::ops::Range; -use std::path::Path; use std::sync::Arc; use anyhow::Result; -use ariadne::{Color, Config, Label, Report, ReportBuilder, ReportKind, Source}; +use ariadne::{Color, Config, FnCache, Label, Report, ReportBuilder, ReportKind, Source}; use infra_utils::cargo::CargoWorkspace; use infra_utils::codegen::CodegenFileSystem; use infra_utils::github::GitHub; @@ -19,8 +18,10 @@ use slang_solidity::bindings::{self, Handle}; use slang_solidity::cst::KindTypes; use slang_solidity::language::Language; use slang_solidity::parse_output::ParseOutput; +use slang_solidity::resolver::SolidityPathResolver; use super::generated::VERSION_BREAKS; +use crate::multi_part_file::split_multi_file; pub fn run(group_name: &str, test_name: &str) -> Result<()> { let test_dir = CargoWorkspace::locate_source_crate("solidity_testing_snapshots")? @@ -31,21 +32,18 @@ pub fn run(group_name: &str, test_name: &str) -> Result<()> { let mut fs = CodegenFileSystem::new(&test_dir)?; let input_path = test_dir.join("input.sol"); - let source = input_path.read_to_string()?; let mut last_graph_output = None; let mut last_bindings_output = None; for version in &VERSION_BREAKS { - let language = Language::new(version.clone())?; - - let parse_output = language.parse(Language::ROOT_KIND, &source); - if !GitHub::is_running_in_ci() { // Don't run this in CI, since the graph outputs are not committed // to the repository and hence we cannot verify their contents, // which is what `fs.write_file` does in CI. + let language = Language::new(version.clone())?; + let parse_output = language.parse(Language::ROOT_KIND, &source); let graph_output = output_graph(version, &parse_output)?; match last_graph_output { Some(ref last) if last == &graph_output => (), @@ -58,7 +56,7 @@ pub fn run(group_name: &str, test_name: &str) -> Result<()> { }; } - let bindings_output = output_bindings(version, &parse_output, &source, &input_path)?; + let bindings_output = output_bindings(version, &source)?; match last_bindings_output { Some(ref last) if last == &bindings_output => (), _ => { @@ -158,76 +156,114 @@ fn print_graph_as_mermaid(graph: &Graph) -> impl fmt::Display + '_ { DisplayGraph(graph) } -fn output_bindings( - version: &Version, - parse_output: &ParseOutput, - source: &str, - source_path: &Path, -) -> Result { - let mut bindings = bindings::create(version.clone()); - bindings.add_file( - source_path.to_str().unwrap(), - parse_output.create_tree_cursor(), - ); - - let source_id = source_path.strip_repo_root()?.unwrap_str(); - let mut builder: ReportBuilder<'_, (&str, Range)> = Report::build( - ReportKind::Custom("References and definitions", Color::Unset), - source_id, - 0, - ) - .with_config(Config::default().with_color(false)); +struct ParsedPart<'a> { + source_path: &'a str, + source_contents: &'a str, + parse_output: ParseOutput, +} - if !parse_output.is_valid() { - builder = builder.with_note("WARNING: Parsing failed. Results may be incomplete."); +fn output_bindings(version: &Version, contents: &str) -> Result { + let language = Language::new(version.clone())?; + let mut bindings = + bindings::create_with_resolver(version.clone(), Arc::new(SolidityPathResolver {})); + let mut parsed_parts: Vec> = Vec::new(); + + let parts = split_multi_file(contents); + for (part_path, part_source) in &parts { + let parsed_part = language.parse(Language::ROOT_KIND, part_source); + bindings.add_file(part_path, parsed_part.create_tree_cursor()); + parsed_parts.push(ParsedPart { + source_path: part_path, + source_contents: part_source, + parse_output: parsed_part, + }); } - let mut definitions: Vec> = Vec::new(); + let mut buffer = Vec::new(); + let mut definitions: Vec> = Vec::new(); for definition in bindings.all_definitions() { - let Some(cursor) = definition.get_cursor() else { - continue; + if definition.get_cursor().is_some() { + definitions.push(definition); }; + } - let range = { - let range = cursor.text_range(); - let start = source[..range.start.utf8].chars().count(); - let end = source[..range.end.utf8].chars().count(); - start..end - }; + for part in &parsed_parts { + let mut builder: ReportBuilder<'_, (&str, Range)> = Report::build( + ReportKind::Custom("References and definitions", Color::Unset), + part.source_path, + 0, + ) + .with_config(Config::default().with_color(false)); - definitions.push(definition); - let message = format!("def: {}", definitions.len()); - builder = builder.with_label(Label::new((source_id, range)).with_message(message)); - } + if !part.parse_output.is_valid() { + builder = builder.with_note("WARNING: Parsing failed. Results may be incomplete."); + } - for reference in bindings.all_references() { - let Some(cursor) = reference.get_cursor() else { - continue; - }; + for (index, definition) in definitions.iter().enumerate() { + let Some(cursor) = definition.get_cursor() else { + continue; + }; + let def_file = definition + .get_file() + .expect("definition should be in a file"); + if def_file != part.source_path { + continue; + } - let range = { - let range = cursor.text_range(); - let start = source[..range.start.utf8].chars().count(); - let end = source[..range.end.utf8].chars().count(); - start..end - }; + let range = { + let range = cursor.text_range(); + let start = contents[..range.start.utf8].chars().count(); + let end = contents[..range.end.utf8].chars().count(); + start..end + }; + + let message = format!("def: {}", index + 1); + builder = + builder.with_label(Label::new((part.source_path, range)).with_message(message)); + } - let definition = reference.jump_to_definition(); - let message = match definition { - None => "unresolved".to_string(), - Some(definition) => { - let def_id = definitions.iter().position(|d| *d == definition).unwrap(); - format!("ref: {}", def_id + 1) + for reference in bindings.all_references() { + let Some(cursor) = reference.get_cursor() else { + continue; + }; + let ref_file = reference.get_file().expect("reference should be in a file"); + if ref_file != part.source_path { + continue; } - }; - builder = builder.with_label(Label::new((source_id, range)).with_message(message)); - } + let range = { + let range = cursor.text_range(); + let start = contents[..range.start.utf8].chars().count(); + let end = contents[..range.end.utf8].chars().count(); + start..end + }; - let report = builder.finish(); - let mut buffer = Vec::new(); - report.write((source_id, Source::from(source)), &mut buffer)?; + let definition = reference.jump_to_definition(); + let message = match definition { + None => "unresolved".to_string(), + Some(definition) => { + let def_id = definitions.iter().position(|d| *d == definition).unwrap(); + format!("ref: {}", def_id + 1) + } + }; + + builder = + builder.with_label(Label::new((part.source_path, range)).with_message(message)); + } + + let report = builder.finish(); + let file_cache = FnCache::new( + (move |id| Err(Box::new(format!("Failed to fetch source '{id}'")) as _)) as fn(&_) -> _, + ) + .with_sources( + parsed_parts + .iter() + .map(|part| (part.source_path, Source::from(part.source_contents))) + .collect(), + ); + report.write(file_cache, &mut buffer)?; + } let result = String::from_utf8(buffer)?; Ok(result) diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.txt index 591b4f7f8..3d77b899f 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/decls/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.txt index 7dffdb221..fd1df85c1 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/decls/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.txt index 8a58211e4..4d9252085 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/in_params/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.txt index 7f27c6dfb..eb84988a3 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Foo { │ ─┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.txt index 878cc4628..a620f442b 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/sample/input.sol:1:1] + ╭─[input.sol:1:1] │ 4 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.txt b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.txt index 9e2dc9a72..582262d08 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/sample/input.sol:1:1] + ╭─[input.sol:1:1] │ 4 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.txt b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.txt index 0f68051d7..459b6a9b6 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.txt +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/enums/sample/input.sol:1:1] + ╭─[input.sol:1:1] │ 4 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.txt index ad6db8220..b75108e7b 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.txt index 22306cb79..41f62c260 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.txt index f72531bda..aa7a3f9ca 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.txt b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.txt index e3dc6a877..fe84ba22c 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.txt +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Test { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.4.11.txt index 86d57046e..c6fc1d95e 100644 --- a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.4.11.txt @@ -1,11 +1,12 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol:1:1] + ╭─[main.sol:1:1] │ - 1 │ import "./other.sol" as other; + 2 │ import "./other.sol" as other; │ ──┬── │ ╰──── def: 1 │ │ Note: WARNING: Parsing failed. Results may be incomplete. ───╯ +References and definitions: diff --git a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.7.1.txt b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.7.1.txt index 0bcb5f78e..7eeef5b74 100644 --- a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.7.1.txt +++ b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/generated/0.7.1.txt @@ -1,18 +1,25 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol:1:1] + ╭─[main.sol:1:1] │ - 1 │ import "./other.sol" as other; + 2 │ import "./other.sol" as other; │ ──┬── │ ╰──── def: 1 │ - 3 │ function foo() returns (int) { + 4 │ function foo() returns (int) { │ ─┬─ │ ╰─── def: 2 - 4 │ return other.bar(); + 5 │ return other.bar(); │ ──┬── ─┬─ │ ╰──────── ref: 1 │ │ - │ ╰─── unresolved + │ ╰─── ref: 3 +───╯ +References and definitions: + ╭─[other.sol:1:1] + │ + 2 │ function bar() pure returns (int) { + │ ─┬─ + │ ╰─── def: 3 ───╯ diff --git a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol index ff8511d18..14baead00 100644 --- a/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol +++ b/crates/solidity/testing/snapshots/bindings_output/imports/alias_import/input.sol @@ -1,5 +1,11 @@ +// --- path: main.sol import "./other.sol" as other; function foo() returns (int) { return other.bar(); } + +// --- path: other.sol +function bar() pure returns (int) { + return 1; +} diff --git a/crates/solidity/testing/snapshots/bindings_output/imports/default/generated/0.7.1.txt b/crates/solidity/testing/snapshots/bindings_output/imports/default/generated/0.7.1.txt index 3c366442d..09aa2c1d4 100644 --- a/crates/solidity/testing/snapshots/bindings_output/imports/default/generated/0.7.1.txt +++ b/crates/solidity/testing/snapshots/bindings_output/imports/default/generated/0.7.1.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/imports/default/input.sol:1:1] + ╭─[input.sol:1:1] │ 3 │ function foo() returns (int) { │ ─┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.txt index 8b2fb769a..0fa0f5640 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Foo { │ ─┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.txt index 167507107..1711eb86d 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/lexical/params/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Foo { │ ─┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.txt index cbc405749..f8cf28a6e 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract Foo { │ ─┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt index 48096c0d2..ca964ea4d 100644 --- a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/structs/declaration/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ struct TopLevelStruct { │ ───────┬────── diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/nested/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/structs/nested/generated/0.6.0.txt index 833bd826e..5c3224a16 100644 --- a/crates/solidity/testing/snapshots/bindings_output/structs/nested/generated/0.6.0.txt +++ b/crates/solidity/testing/snapshots/bindings_output/structs/nested/generated/0.6.0.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/structs/nested/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ struct Base { │ ──┬─ diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt index 9ff8b5003..c3d20c63e 100644 --- a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/structs/sample/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ struct Funder { │ ───┬── diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt index 48b472997..2e8718312 100644 --- a/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt +++ b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt @@ -1,7 +1,7 @@ # This file is generated automatically by infrastructure scripts. Please don't edit by hand. References and definitions: - ╭─[crates/solidity/testing/snapshots/bindings_output/structs/simple/input.sol:1:1] + ╭─[input.sol:1:1] │ 1 │ contract CrowdFunding { │ ──────┬─────