[][src]Trait genco::LangItem

pub trait LangItem<L> where
    Self: Any,
    L: Lang
{ fn format(
        &self,
        out: &mut Formatter,
        config: &mut L::Config,
        level: usize
    ) -> Result;
fn eq(&self, other: &dyn LangItem<L>) -> bool;
fn as_any(&self) -> &dyn Any; fn as_import(&self) -> Option<&L::Import> { ... } }

A type-erased holder for language-specific items.

Carries formatting and coercion functions like as_import to allow language specific processing to work.

Required methods

fn format(
    &self,
    out: &mut Formatter,
    config: &mut L::Config,
    level: usize
) -> Result

Format the language item appropriately.

fn eq(&self, other: &dyn LangItem<L>) -> bool

Check equality.

fn as_any(&self) -> &dyn Any

Convert into any type.

Loading content...

Provided methods

fn as_import(&self) -> Option<&L::Import>

Coerce into an imported type.

This is used for import resolution for custom language items.

Loading content...

Implementors

impl LangItem<Csharp> for genco::prelude::csharp::Array[src]

impl LangItem<Csharp> for genco::prelude::csharp::Optional[src]

impl LangItem<Csharp> for Simple[src]

impl LangItem<Csharp> for genco::prelude::csharp::Type[src]

impl LangItem<Csharp> for genco::prelude::csharp::Void[src]

impl LangItem<Dart> for BuiltIn[src]

impl LangItem<Dart> for Dynamic[src]

impl LangItem<Dart> for genco::prelude::dart::Local[src]

impl LangItem<Dart> for genco::prelude::dart::Type[src]

impl LangItem<Dart> for genco::prelude::dart::Void[src]

impl LangItem<Go> for genco::prelude::go::Array[src]

impl LangItem<Go> for Interface[src]

impl LangItem<Go> for genco::prelude::go::Map[src]

impl LangItem<Go> for genco::prelude::go::Type[src]

impl LangItem<Java> for genco::prelude::java::Local[src]

impl LangItem<Java> for genco::prelude::java::Optional[src]

impl LangItem<Java> for Primitive[src]

impl LangItem<Java> for genco::prelude::java::Type[src]

impl LangItem<Java> for genco::prelude::java::Void[src]

impl LangItem<JavaScript> for Import[src]

impl LangItem<JavaScript> for ImportDefault[src]

impl LangItem<JavaScript> for genco::prelude::js::Local[src]

impl LangItem<Python> for genco::prelude::python::Type[src]

impl LangItem<Rust> for genco::prelude::rust::Type[src]

impl LangItem<Swift> for genco::prelude::swift::Array[src]

impl LangItem<Swift> for genco::prelude::swift::Map[src]

impl LangItem<Swift> for genco::prelude::swift::Type[src]

impl<L> LangItem<L> for LangBox<L> where
    L: Lang
[src]

Loading content...