Struct foundry_compilers::sources::VersionedSourceFiles
source · pub struct VersionedSourceFiles(pub BTreeMap<PathBuf, Vec<VersionedSourceFile>>);
Expand description
(source_file path -> SourceFile
+ solc version)
Tuple Fields§
§0: BTreeMap<PathBuf, Vec<VersionedSourceFile>>
Implementations§
source§impl VersionedSourceFiles
impl VersionedSourceFiles
sourcepub fn slash_paths(&mut self)
pub fn slash_paths(&mut self)
Converts all \\
separators in all paths to /
pub fn is_empty(&self) -> bool
pub fn len(&self) -> usize
sourcepub fn into_ids(self) -> impl Iterator<Item = (u32, PathBuf)>
pub fn into_ids(self) -> impl Iterator<Item = (u32, PathBuf)>
Returns an iterator over the source files’ IDs and path.
sourcepub fn into_paths(self) -> impl Iterator<Item = (PathBuf, u32)>
pub fn into_paths(self) -> impl Iterator<Item = (PathBuf, u32)>
Returns an iterator over the source files’ paths and IDs.
sourcepub fn into_ids_with_version(
self,
) -> impl Iterator<Item = (u32, PathBuf, Version)>
pub fn into_ids_with_version( self, ) -> impl Iterator<Item = (u32, PathBuf, Version)>
Returns an iterator over the source files’ IDs and path.
sourcepub fn find_file(&self, source_file: impl AsRef<Path>) -> Option<&SourceFile>
pub fn find_file(&self, source_file: impl AsRef<Path>) -> Option<&SourceFile>
Finds the first source file with the given path.
§Examples
use foundry_compilers::{artifacts::*, Project};
let project = Project::builder().build()?;
let output = project.compile()?.into_output();
let source_file = output.sources.find_file("src/Greeter.sol").unwrap();
sourcepub fn find_file_and_version(
&self,
path: &Path,
version: &Version,
) -> Option<&SourceFile>
pub fn find_file_and_version( &self, path: &Path, version: &Version, ) -> Option<&SourceFile>
Same as Self::find_file but also checks for version
sourcepub fn find_id(&self, id: u32) -> Option<&SourceFile>
pub fn find_id(&self, id: u32) -> Option<&SourceFile>
Finds the first source file with the given id
§Examples
use foundry_compilers::{artifacts::*, Project};
let project = Project::builder().build()?;
let output = project.compile()?.into_output();
let source_file = output.sources.find_id(0).unwrap();
sourcepub fn find_id_and_version(
&self,
id: u32,
version: &Version,
) -> Option<&SourceFile>
pub fn find_id_and_version( &self, id: u32, version: &Version, ) -> Option<&SourceFile>
Same as Self::find_id but also checks for version
sourcepub fn remove_by_path(
&mut self,
source_file: impl AsRef<Path>,
) -> Option<SourceFile>
pub fn remove_by_path( &mut self, source_file: impl AsRef<Path>, ) -> Option<SourceFile>
Removes the first source_file with the given path from the set
§Examples
use foundry_compilers::{artifacts::*, Project};
let project = Project::builder().build()?;
let (mut sources, _) = project.compile()?.into_output().split();
let source_file = sources.remove_by_path("src/Greeter.sol").unwrap();
sourcepub fn remove_by_id(&mut self, id: u32) -> Option<SourceFile>
pub fn remove_by_id(&mut self, id: u32) -> Option<SourceFile>
Removes the first source_file with the given id from the set
§Examples
use foundry_compilers::{artifacts::*, Project};
let project = Project::builder().build()?;
let (mut sources, _) = project.compile()?.into_output().split();
let source_file = sources.remove_by_id(0).unwrap();
sourcepub fn sources(&self) -> impl Iterator<Item = (&PathBuf, &SourceFile)>
pub fn sources(&self) -> impl Iterator<Item = (&PathBuf, &SourceFile)>
Returns an iterator over all contracts and their names.
sourcepub fn sources_with_version(
&self,
) -> impl Iterator<Item = (&PathBuf, &SourceFile, &Version)>
pub fn sources_with_version( &self, ) -> impl Iterator<Item = (&PathBuf, &SourceFile, &Version)>
Returns an iterator over (file
, SourceFile
, Version
)
sourcepub fn into_sources(self) -> impl Iterator<Item = (PathBuf, SourceFile)>
pub fn into_sources(self) -> impl Iterator<Item = (PathBuf, SourceFile)>
Returns an iterator over all contracts and their source names.
sourcepub fn into_sources_with_version(
self,
) -> impl Iterator<Item = (PathBuf, SourceFile, Version)>
pub fn into_sources_with_version( self, ) -> impl Iterator<Item = (PathBuf, SourceFile, Version)>
Returns an iterator over all contracts and their source names.
sourcepub fn join_all(&mut self, root: impl AsRef<Path>) -> &mut Self
pub fn join_all(&mut self, root: impl AsRef<Path>) -> &mut Self
Sets the sources’ file paths to root
adjoined to self.file
.
sourcepub fn strip_prefix_all(&mut self, base: impl AsRef<Path>) -> &mut Self
pub fn strip_prefix_all(&mut self, base: impl AsRef<Path>) -> &mut Self
Removes base
from all source file paths
Trait Implementations§
source§impl AsMut<BTreeMap<PathBuf, Vec<VersionedSourceFile>>> for VersionedSourceFiles
impl AsMut<BTreeMap<PathBuf, Vec<VersionedSourceFile>>> for VersionedSourceFiles
source§impl AsRef<BTreeMap<PathBuf, Vec<VersionedSourceFile>>> for VersionedSourceFiles
impl AsRef<BTreeMap<PathBuf, Vec<VersionedSourceFile>>> for VersionedSourceFiles
source§impl Clone for VersionedSourceFiles
impl Clone for VersionedSourceFiles
source§fn clone(&self) -> VersionedSourceFiles
fn clone(&self) -> VersionedSourceFiles
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for VersionedSourceFiles
impl Debug for VersionedSourceFiles
source§impl Default for VersionedSourceFiles
impl Default for VersionedSourceFiles
source§fn default() -> VersionedSourceFiles
fn default() -> VersionedSourceFiles
source§impl<'de> Deserialize<'de> for VersionedSourceFiles
impl<'de> Deserialize<'de> for VersionedSourceFiles
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl IntoIterator for VersionedSourceFiles
impl IntoIterator for VersionedSourceFiles
source§impl PartialEq for VersionedSourceFiles
impl PartialEq for VersionedSourceFiles
source§fn eq(&self, other: &VersionedSourceFiles) -> bool
fn eq(&self, other: &VersionedSourceFiles) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for VersionedSourceFiles
impl Serialize for VersionedSourceFiles
impl Eq for VersionedSourceFiles
impl StructuralPartialEq for VersionedSourceFiles
Auto Trait Implementations§
impl Freeze for VersionedSourceFiles
impl RefUnwindSafe for VersionedSourceFiles
impl Send for VersionedSourceFiles
impl Sync for VersionedSourceFiles
impl Unpin for VersionedSourceFiles
impl UnwindSafe for VersionedSourceFiles
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);