pub struct ModuleOperation<'c> { /* private fields */ }
Expand description

A module operation. A top level container operation.

A module represents a top-level container operation. It contains a single graph region containing a single block which can contain any operations and does not have a terminator. Operations within this region cannot implicitly capture values defined outside the module, i.e. Modules are IsolatedFromAbove. Modules have an optional symbol name which can be used to refer to them in operations.

Example:

module {
  func.func @foo()
}

Implementations§

source§

impl<'c> ModuleOperation<'c>

source

pub fn name() -> &'static str

Returns a name.

source

pub fn as_operation(&self) -> &Operation<'c>

Returns a generic operation.

source

pub fn builder( context: &'c Context, location: Location<'c> ) -> ModuleOperationBuilder<'c, Unset>

Creates a builder.

source

pub fn body_region(&self) -> Result<RegionRef<'c, '_>, Error>

source

pub fn sym_name(&self) -> Result<StringAttribute<'c>, Error>

source

pub fn set_sym_name(&mut self, value: StringAttribute<'c>)

source

pub fn remove_sym_name(&mut self) -> Result<(), Error>

source

pub fn sym_visibility(&self) -> Result<StringAttribute<'c>, Error>

source

pub fn set_sym_visibility(&mut self, value: StringAttribute<'c>)

source

pub fn remove_sym_visibility(&mut self) -> Result<(), Error>

Trait Implementations§

source§

impl<'c> From<ModuleOperation<'c>> for Operation<'c>

source§

fn from(operation: ModuleOperation<'c>) -> Self

Converts to this type from the input type.
source§

impl<'c> TryFrom<Operation<'c>> for ModuleOperation<'c>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(operation: Operation<'c>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl<'c> RefUnwindSafe for ModuleOperation<'c>

§

impl<'c> !Send for ModuleOperation<'c>

§

impl<'c> !Sync for ModuleOperation<'c>

§

impl<'c> Unpin for ModuleOperation<'c>

§

impl<'c> UnwindSafe for ModuleOperation<'c>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.