code: def _init_class(self, cls, peg_rule, position, position_end=None,
                      inherits=None, root=False, rule_type=RULE_MATCH):
          
          cls._tx_metamodel = self
  
          # Attribute information (MetaAttr instances) keyed by name.
          cls._tx_attrs = OrderedDict()
  
          # A list of inheriting classes
          cls._tx_inh_by = inherits if inherits else []
  
          cls._tx_position = position
  
          cls._tx_position_end = \
              position if position_end is None else position_end
  
          # The type of the rule this meta-class results from.
          # There are three rule types: common, abstract and match
          # Base types are match rules.
          cls._tx_type = rule_type
  
          cls._tx_peg_rule = peg_rule
          if peg_rule:
              peg_rule._tx_class = cls
  
          # Push this class and PEG rule in the current namespace
          current_namespace = self.namespaces[self._namespace_stack[-1]]
          cls._tx_fqn = self._cls_fqn(cls)
          current_namespace[cls.__name__] = cls
  
          if root:
              self.rootcls = cls
docs: Setup meta-class special attributes, namespaces etc. This is called
          both for textX created classes as well as user classes.