text: """
  This file was generated by the tool TatSuSAG (the TatSu syntax analyser generator)
  Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
  """
  
  
  from poc.classes.AuxISourceAnalyser import AuxISourceAnalyser
  from poc.classes.AuxInterpretation import AuxInterpretation
  from poc.classes.AuxRuleDependencies import AuxRuleDependencies
  from poc.classes.AuxSTClassSignature import AuxSTClassSignature
  
  
  class ContextClassSignature(AuxInterpretation):
      def __init__(self, i: AuxISourceAnalyser):
          super().__init__(i.ast_info, i.errors)
          self.signature = AuxSTClassSignature(i)
          self.aggregate_previous_rules(i.parse_list,
                                        AuxRuleDependencies.dep["ClassSignature"], self.rule_aggregator)
  
      def rule_aggregator(self, rule: str, parsing_info: AuxInterpretation):
          if rule == "ClassHeader":
              self.id = parsing_info.id  # noqa
              self.stop_aggregation = True
          elif rule == "PredicateIdentifier":
              self.signature.id = parsing_info.id  # noqa
          elif rule == "Type":
              self.signature.set_type(parsing_info)  # noqa
  
      @staticmethod
      def dispatch(i: AuxISourceAnalyser, parsing_info: AuxInterpretation):
          new_info = ContextClassSignature(i)
          i.parse_list.append(new_info)
  