pub trait CompilerInput:
Serialize
+ Send
+ Sync
+ Sized {
type Settings: CompilerSettings;
// Required methods
fn build(
sources: Sources,
settings: Self::Settings,
version: &Version,
) -> Vec<Self>;
fn sources(&self) -> &Sources;
fn compiler_name(&self) -> String;
// Provided method
fn with_remappings(self, _remappings: Vec<Remapping>) -> Self { ... }
}
Expand description
Input of a compiler, including sources and settings used for their compilation.
Required Associated Types§
Required Methods§
Sourcefn build(
sources: Sources,
settings: Self::Settings,
version: &Version,
) -> Vec<Self>
fn build( sources: Sources, settings: Self::Settings, version: &Version, ) -> Vec<Self>
Constructs one or multiple inputs from given sources set. Might return multiple inputs in cases when sources need to be divided into sets per language (Yul + Solidity for example).
Sourcefn compiler_name(&self) -> String
fn compiler_name(&self) -> String
Returns compiler name used by reporters to display output during compilation.
Provided Methods§
Sourcefn with_remappings(self, _remappings: Vec<Remapping>) -> Self
fn with_remappings(self, _remappings: Vec<Remapping>) -> Self
Method which might be invoked to add remappings to the input.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.