Struct llvm_plugin_inkwell::attributes::Attribute
source · [−]pub struct Attribute { /* private fields */ }Expand description
Functions, function parameters, and return types can have Attributes to indicate
how they should be treated by optimizations and code generation.
Implementations
sourceimpl Attribute
impl Attribute
sourcepub fn is_enum(self) -> bool
pub fn is_enum(self) -> bool
Determines whether or not an Attribute is an enum. This method will
likely be removed in the future in favor of Attributes being generically
defined.
Example
use inkwell::context::Context;
let context = Context::create();
let enum_attribute = context.create_enum_attribute(0, 10);
assert!(enum_attribute.is_enum());sourcepub fn is_string(self) -> bool
pub fn is_string(self) -> bool
Determines whether or not an Attribute is a string. This method will
likely be removed in the future in favor of Attributes being generically
defined.
Example
use inkwell::context::Context;
let context = Context::create();
let string_attribute = context.create_string_attribute("my_key_123", "my_val");
assert!(string_attribute.is_string());sourcepub fn get_named_enum_kind_id(name: &str) -> u32
pub fn get_named_enum_kind_id(name: &str) -> u32
Gets the enum kind id associated with a builtin name.
Example
use inkwell::attributes::Attribute;
// This kind id doesn't exist:
assert_eq!(Attribute::get_named_enum_kind_id("foobar"), 0);
// These are real kind ids:
assert_eq!(Attribute::get_named_enum_kind_id("align"), 1);
assert_eq!(Attribute::get_named_enum_kind_id("builtin"), 5);sourcepub fn get_enum_kind_id(self) -> u32
pub fn get_enum_kind_id(self) -> u32
Gets the kind id associated with an enum Attribute.
Example
use inkwell::context::Context;
let context = Context::create();
let enum_attribute = context.create_enum_attribute(0, 10);
assert_eq!(enum_attribute.get_enum_kind_id(), 0);sourcepub fn get_last_enum_kind_id() -> u32
pub fn get_last_enum_kind_id() -> u32
Gets the last enum kind id associated with builtin names.
Example
use inkwell::attributes::Attribute;
assert_eq!(Attribute::get_last_enum_kind_id(), 56);sourcepub fn get_enum_value(self) -> u64
pub fn get_enum_value(self) -> u64
Gets the value associated with an enum Attribute.
Example
use inkwell::context::Context;
let context = Context::create();
let enum_attribute = context.create_enum_attribute(0, 10);
assert_eq!(enum_attribute.get_enum_value(), 10);sourcepub fn get_string_kind_id(&self) -> &CStr
pub fn get_string_kind_id(&self) -> &CStr
Gets the string kind id associated with a string attribute.
Example
use inkwell::context::Context;
let context = Context::create();
let string_attribute = context.create_string_attribute("my_key", "my_val");
assert_eq!(string_attribute.get_string_kind_id().to_str(), Ok("my_key"));sourcepub fn get_string_value(&self) -> &CStr
pub fn get_string_value(&self) -> &CStr
Gets the string value associated with a string attribute.
Example
use inkwell::context::Context;
let context = Context::create();
let string_attribute = context.create_string_attribute("my_key", "my_val");
assert_eq!(string_attribute.get_string_value().to_str(), Ok("my_val"));Trait Implementations
sourceimpl PartialEq<Attribute> for Attribute
impl PartialEq<Attribute> for Attribute
impl Copy for Attribute
impl StructuralPartialEq for Attribute
Auto Trait Implementations
impl RefUnwindSafe for Attribute
impl !Send for Attribute
impl !Sync for Attribute
impl Unpin for Attribute
impl UnwindSafe for Attribute
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more