Struct valkyrie_ast::ClassDeclaration
source · pub struct ClassDeclaration {
pub name: IdentifierNode,
pub kind: ClassKind,
pub annotations: AnnotationNode,
pub generic: Option<ParametersList>,
pub inherits: Option<String>,
pub implements: Vec<String>,
pub terms: Vec<ClassTerm>,
pub span: Range<u32>,
}
Expand description
class Name(Super): Trait {}
§Full Form
constraint T {
where {
T: A
}
}
//? documents
#[mod1, mod2]
mod3 mod4 class module::Name(Base::<T>): DeriveA + DeriveB {
_field: int = 1;
construct() {
}
construct(args) {
}
#? documents
extract() {
}
destruct() {
}
infix `+`() {
}
}
extends module::Name: TraitA + TraitB {
}
§Generics
constraint A {
alias {
Type: <A as Iterator>::Item
}
where {
A: Trait1
}
}
class Structure<B: Trait2> {
a: A,
b: B,
}
∀ A, B {
where {
A: Trait1,
B: Trait2,
<A as Trait>::Item: B
}
}
structure Record<B> {
a: A,
b: B,
}
Fields§
§name: IdentifierNode
The name of the class.
kind: ClassKind
The kind of class
annotations: AnnotationNode
The document of the class
generic: Option<ParametersList>
The parameter arguments of the class.
inherits: Option<String>
The super class of the class.
implements: Vec<String>
The traits that the class implements.
terms: Vec<ClassTerm>
All fields declared in this block, exclude extensions.
span: Range<u32>
The range of the number.
Trait Implementations§
source§impl Clone for ClassDeclaration
impl Clone for ClassDeclaration
source§fn clone(&self) -> ClassDeclaration
fn clone(&self) -> ClassDeclaration
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ClassDeclaration
impl Debug for ClassDeclaration
source§impl From<ClassDeclaration> for StatementKind
impl From<ClassDeclaration> for StatementKind
source§fn from(o: ClassDeclaration) -> Self
fn from(o: ClassDeclaration) -> Self
Converts to this type from the input type.
source§impl Hash for ClassDeclaration
impl Hash for ClassDeclaration
source§impl PartialEq for ClassDeclaration
impl PartialEq for ClassDeclaration
source§fn eq(&self, other: &ClassDeclaration) -> bool
fn eq(&self, other: &ClassDeclaration) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ClassDeclaration
impl StructuralPartialEq for ClassDeclaration
Auto Trait Implementations§
impl RefUnwindSafe for ClassDeclaration
impl Send for ClassDeclaration
impl Sync for ClassDeclaration
impl Unpin for ClassDeclaration
impl UnwindSafe for ClassDeclaration
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