Trait CompilerInput

Source
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§

Source

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).

Source

fn sources(&self) -> &Sources

Returns reference to sources included into this input.

Source

fn compiler_name(&self) -> String

Returns compiler name used by reporters to display output during compilation.

Provided Methods§

Source

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.

Implementors§