[][src]Enum jvm_class_file_parser::ClassAccess

pub enum ClassAccess {
    Public,
    Final,
    Super,
    Interface,
    Abstract,
    Synthetic,
    Annotation,
    Enum,
    Module,
}

A flag that denotes an access level or property of a class.

See the access_flags section of Chapter 4.1 of the JVM specification for details.

https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.1-200-E

Variants

PublicFinalSuperInterfaceAbstractSyntheticAnnotationEnumModule

Methods

impl ClassAccess[src]

pub fn from_access_flags(
    access_flags: u16
) -> Result<HashSet<ClassAccess>, String>
[src]

Extracts the list of class access flags that are embedded in the given access flag value.

Returns an error message if the extracted combination of access flags are inconsistent. (This validation has not yet been implemented)

See Table 4.1-B of the JVM specification for more details.

https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.1-200-E.1

let access_flags = 0b0000_0010_0000_0001;

let mut expected = HashSet::new();
expected.insert(ClassAccess::Public);
expected.insert(ClassAccess::Interface);

assert_eq!(Ok(expected), ClassAccess::from_access_flags(access_flags));

pub fn to_access_flags(access_flags: &HashSet<ClassAccess>) -> u16[src]

Trait Implementations

impl Clone for ClassAccess[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Ord for ClassAccess[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Eq for ClassAccess[src]

impl PartialOrd<ClassAccess> for ClassAccess[src]

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<ClassAccess> for ClassAccess[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl Debug for ClassAccess[src]

impl Hash for ClassAccess[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl Send for ClassAccess

impl Sync for ClassAccess

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.