role   Metamodel::AttributeContainer   { } 
Warning : this role is part of the Rakudo implementation, and is not a part of the language specification.
Classes, roles and grammars can have attributes. Storage and introspection of attributes is implemented by this role.
method   add_attribute ( Metamodel :: AttributeContainer :   $ obj ,  $ attribute ) 
Adds an attribute. $attribute must be an object that supports the methods name, type and package, which are called without arguments. It can for example be of type Attribute .
method   attributes ( Metamodel :: AttributeContainer :   $ obj ) 
Returns a list of attributes. For most Raku types, these will be objects of type Attribute .
method   set_rw ( Metamodel :: AttributeContainer :   $ obj ) 
Marks a type whose attributes default to having a write accessor. For example in
class   Point   is   rw   { 
     has   $ . x ; 
     has   $ . y ; 
} 
The is rw trait on the class calls the set_rw method on the metaclass, making all the attributes implicitly writable, so that you can write;
my   $ p   =   Point . new ( x   =>   1 ,  y  =>   2 ); 
$ p . x   =   42 ; 
method   rw ( Metamodel :: AttributeContainer :   $ obj ) 
Returns a true value if method set_rw  has been called on this object, that is, if new public attributes are writable by default.
  Type relations for Metamodel::AttributeContainer 
  
perl6-type-graph 
Metamodel::AttributeContainer 
Metamodel::AttributeContainer 
 
 
Mu 
Mu 
 
 
Any 
Any 
 
 
Any->Mu 
 
Metamodel::Naming 
Metamodel::Naming 
 
 
Metamodel::Stashing 
Metamodel::Stashing 
 
 
Metamodel::MethodContainer 
Metamodel::MethodContainer 
 
 
Metamodel::MultiMethodContainer 
Metamodel::MultiMethodContainer 
 
 
Metamodel::RoleContainer 
Metamodel::RoleContainer 
 
 
Metamodel::BaseType 
Metamodel::BaseType 
 
 
Metamodel::MROBasedMethodDispatch 
Metamodel::MROBasedMethodDispatch 
 
 
Metamodel::MROBasedTypeChecking 
Metamodel::MROBasedTypeChecking 
 
 
Metamodel::BUILDPLAN 
Metamodel::BUILDPLAN 
 
 
Metamodel::BoolificationProtocol 
Metamodel::BoolificationProtocol 
 
 
Metamodel::Mixins 
Metamodel::Mixins 
 
 
Metamodel::EnumHOW 
Metamodel::EnumHOW 
 
 
Metamodel::EnumHOW->Metamodel::AttributeContainer 
 
Metamodel::EnumHOW->Any 
 
Metamodel::EnumHOW->Metamodel::Naming 
 
Metamodel::EnumHOW->Metamodel::Stashing 
 
Metamodel::EnumHOW->Metamodel::MethodContainer 
 
Metamodel::EnumHOW->Metamodel::MultiMethodContainer 
 
Metamodel::EnumHOW->Metamodel::RoleContainer 
 
Metamodel::EnumHOW->Metamodel::BaseType 
 
Metamodel::EnumHOW->Metamodel::MROBasedMethodDispatch 
 
Metamodel::EnumHOW->Metamodel::MROBasedTypeChecking 
 
Metamodel::EnumHOW->Metamodel::BUILDPLAN 
 
Metamodel::EnumHOW->Metamodel::BoolificationProtocol 
 
Metamodel::EnumHOW->Metamodel::Mixins 
 
Metamodel::Documenting 
Metamodel::Documenting 
 
 
Metamodel::Versioning 
Metamodel::Versioning 
 
 
Metamodel::PrivateMethodContainer 
Metamodel::PrivateMethodContainer 
 
 
Metamodel::MultipleInheritance 
Metamodel::MultipleInheritance 
 
 
Metamodel::TypePretense 
Metamodel::TypePretense 
 
 
Metamodel::RolePunning 
Metamodel::RolePunning 
 
 
Metamodel::ParametricRoleHOW 
Metamodel::ParametricRoleHOW 
 
 
Metamodel::ParametricRoleHOW->Metamodel::AttributeContainer 
 
Metamodel::ParametricRoleHOW->Any 
 
Metamodel::ParametricRoleHOW->Metamodel::Naming 
 
Metamodel::ParametricRoleHOW->Metamodel::Stashing 
 
Metamodel::ParametricRoleHOW->Metamodel::MethodContainer 
 
Metamodel::ParametricRoleHOW->Metamodel::MultiMethodContainer 
 
Metamodel::ParametricRoleHOW->Metamodel::RoleContainer 
 
Metamodel::ParametricRoleHOW->Metamodel::Documenting 
 
Metamodel::ParametricRoleHOW->Metamodel::Versioning 
 
Metamodel::ParametricRoleHOW->Metamodel::PrivateMethodContainer 
 
Metamodel::ParametricRoleHOW->Metamodel::MultipleInheritance 
 
Metamodel::ParametricRoleHOW->Metamodel::TypePretense 
 
Metamodel::ParametricRoleHOW->Metamodel::RolePunning 
 
Metamodel::Finalization 
Metamodel::Finalization 
 
 
Metamodel::DefaultParent 
Metamodel::DefaultParent 
 
 
Metamodel::C3MRO 
Metamodel::C3MRO 
 
 
Metamodel::Trusting 
Metamodel::Trusting 
 
 
Metamodel::ClassHOW 
Metamodel::ClassHOW 
 
 
Metamodel::ClassHOW->Metamodel::AttributeContainer 
 
Metamodel::ClassHOW->Any 
 
Metamodel::ClassHOW->Metamodel::Naming 
 
Metamodel::ClassHOW->Metamodel::Stashing 
 
Metamodel::ClassHOW->Metamodel::MethodContainer 
 
Metamodel::ClassHOW->Metamodel::MultiMethodContainer 
 
Metamodel::ClassHOW->Metamodel::RoleContainer 
 
Metamodel::ClassHOW->Metamodel::MROBasedMethodDispatch 
 
Metamodel::ClassHOW->Metamodel::MROBasedTypeChecking 
 
Metamodel::ClassHOW->Metamodel::BUILDPLAN 
 
Metamodel::ClassHOW->Metamodel::BoolificationProtocol 
 
Metamodel::ClassHOW->Metamodel::Mixins 
 
Metamodel::ClassHOW->Metamodel::Documenting 
 
Metamodel::ClassHOW->Metamodel::Versioning 
 
Metamodel::ClassHOW->Metamodel::PrivateMethodContainer 
 
Metamodel::ClassHOW->Metamodel::MultipleInheritance 
 
Metamodel::ClassHOW->Metamodel::Finalization 
 
Metamodel::ClassHOW->Metamodel::DefaultParent 
 
Metamodel::ClassHOW->Metamodel::C3MRO 
 
Metamodel::ClassHOW->Metamodel::Trusting 
 
Metamodel::ConcreteRoleHOW 
Metamodel::ConcreteRoleHOW 
 
 
Metamodel::ConcreteRoleHOW->Metamodel::AttributeContainer 
 
Metamodel::ConcreteRoleHOW->Any 
 
Metamodel::ConcreteRoleHOW->Metamodel::Naming 
 
Metamodel::ConcreteRoleHOW->Metamodel::MethodContainer 
 
Metamodel::ConcreteRoleHOW->Metamodel::MultiMethodContainer 
 
Metamodel::ConcreteRoleHOW->Metamodel::RoleContainer 
 
Metamodel::ConcreteRoleHOW->Metamodel::Versioning 
 
Metamodel::ConcreteRoleHOW->Metamodel::PrivateMethodContainer 
 
Metamodel::ConcreteRoleHOW->Metamodel::MultipleInheritance 
 
 
 
  
    Expand above chart