pub struct Class { /* private fields */ }
Implementations§
Source§impl Class
impl Class
pub fn new<S: Into<String>>( name: S, extends: Option<Type>, position: Option<Position>, ) -> Self
pub fn extends(&self) -> &Option<Type>
pub fn super_class(&self) -> Option<ClassId>
pub fn direct_sub_classes(&self, problem: &Problem) -> Vec<ClassId>
pub fn super_classes(&self, problem: &Problem) -> Vec<ClassId>
pub fn sub_classes(&self, problem: &Problem) -> Vec<ClassId>
pub fn common_class(&self, problem: &Problem, other: ClassId) -> Option<ClassId>
pub fn add_attribute( &mut self, attribute: Attribute<ClassId>, ) -> AttributeId<ClassId>
pub fn get_attribute( &self, id: AttributeId<ClassId>, ) -> Option<&Attribute<ClassId>>
pub fn attributes(&self) -> &Vec<Attribute<ClassId>>
pub fn all_attributes(&self, problem: &Problem) -> Vec<AttributeId<ClassId>>
pub fn find_attribute(&self, name: &str) -> Option<&Attribute<ClassId>>
pub fn find_all_attribute( &self, problem: &Problem, name: &str, ) -> Option<Attribute<ClassId>>
pub fn add_method(&mut self, method: Method<ClassId>) -> MethodId<ClassId>
pub fn get_method(&self, id: MethodId<ClassId>) -> Option<&Method<ClassId>>
pub fn methods(&self) -> &Vec<Method<ClassId>>
pub fn all_methods(&self, problem: &Problem) -> Vec<MethodId<ClassId>>
pub fn find_method(&self, name: &str) -> Option<&Method<ClassId>>
pub fn find_all_method( &self, problem: &Problem, name: &str, ) -> Option<Method<ClassId>>
pub fn instances(&self, problem: &Problem) -> Vec<InstanceId>
pub fn is_empty(&self, problem: &Problem) -> bool
pub fn all_instances(&self, problem: &Problem) -> Vec<InstanceId>
pub fn local_naming(&self, problem: &Problem) -> Vec<Naming> ⓘ
pub fn duplicate(&self, problem: &Problem) -> Result<(), Error>
pub fn resolve_type_expr(&mut self, entries: &TypeEntries) -> Result<(), Error>
pub fn resolve_expr( &self, problem: &Problem, entries: &Entries, ) -> Result<Class, Error>
pub fn check_parameter_size(&self, problem: &Problem) -> Result<(), Error>
pub fn check_bounded(&self, problem: &Problem) -> Result<(), Error>
pub fn check_type(&self, problem: &Problem) -> Result<(), Error>
pub fn check_cycle(&self, problem: &Problem) -> Result<(), Error>
Trait Implementations§
Source§impl WithType for Class
impl WithType for Class
fn typ(&self) -> &Type
fn set_type(&mut self, _: Type)
fn resolve_type_children(&mut self, entries: &TypeEntries) -> Result<(), Error>
fn check_interval_children(&self, problem: &Problem) -> Result<(), Error>
fn resolve_type(&mut self, entries: &TypeEntries) -> Result<(), Error>
fn check_interval(&self, problem: &Problem) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for Class
impl RefUnwindSafe for Class
impl Send for Class
impl Sync for Class
impl Unpin for Class
impl UnwindSafe for Class
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