pub enum Decl {
Function {
name: Identifier,
signature: Type,
storage: StorageClass,
linkage: Linkage,
},
Variable {
name: Identifier,
ty: Type,
storage: StorageClass,
linkage: Linkage,
},
Record {
kind: RecordKind,
path: IdentifierPath,
bases: Vec<Base>,
fields: Vec<Field>,
members: Vec<Decl>,
},
Forward {
kind: RecordKind,
path: IdentifierPath,
},
Alias {
path: IdentifierPath,
target: Type,
},
ObjectiveCInterface {
name: Identifier,
superclass: Option<Identifier>,
protocols: Vec<Identifier>,
ivars: Vec<ObjectiveCIvar>,
methods: Vec<ObjectiveCMethod>,
properties: Vec<ObjectiveCProperty>,
},
ObjectiveCCategory {
name: Identifier,
extended_class: Identifier,
protocols: Vec<Identifier>,
methods: Vec<ObjectiveCMethod>,
properties: Vec<ObjectiveCProperty>,
},
ObjectiveCProtocol {
name: Identifier,
protocols: Vec<Identifier>,
methods: Vec<ObjectiveCMethod>,
properties: Vec<ObjectiveCProperty>,
},
ObjectiveCForward {
kind: ObjectiveCForwardKind,
names: Vec<Identifier>,
},
}Expand description
A top-level typed declaration.
Variants§
Function
Function declaration.
Variable
Variable declaration.
Record
Complete record declaration.
Forward
Incomplete record declaration.
Alias
Type alias.
ObjectiveCInterface
Objective-C interface.
Fields
§
name: IdentifierClass name.
§
superclass: Option<Identifier>Optional superclass.
§
protocols: Vec<Identifier>Adopted protocols.
§
ivars: Vec<ObjectiveCIvar>Instance variables.
§
methods: Vec<ObjectiveCMethod>Methods.
§
properties: Vec<ObjectiveCProperty>Properties.
ObjectiveCCategory
Objective-C category.
Fields
§
name: IdentifierCategory name.
§
extended_class: IdentifierExtended class.
§
protocols: Vec<Identifier>Adopted protocols.
§
methods: Vec<ObjectiveCMethod>Methods.
§
properties: Vec<ObjectiveCProperty>Properties.
ObjectiveCProtocol
Objective-C protocol.
Fields
§
name: IdentifierProtocol name.
§
protocols: Vec<Identifier>Inherited protocols.
§
methods: Vec<ObjectiveCMethod>Methods.
§
properties: Vec<ObjectiveCProperty>Properties.
ObjectiveCForward
Objective-C forward declarations.
Implementations§
Trait Implementations§
impl Eq for Decl
impl StructuralPartialEq for Decl
Auto Trait Implementations§
impl Freeze for Decl
impl RefUnwindSafe for Decl
impl Send for Decl
impl Sync for Decl
impl Unpin for Decl
impl UnsafeUnpin for Decl
impl UnwindSafe for Decl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more