code: def parse_definition(self, class_):
          
          start = self.line
          self.consume(tk.NAME)
          name = self.current.value
          self.log.debug("parsing %s '%s'", class_.__name__, name)
          self.stream.move()
          if self.current.kind == tk.OP and self.current.value == '(':
              parenthesis_level = 0
              while True:
                  if self.current.kind == tk.OP:
                      if self.current.value == '(':
                          parenthesis_level += 1
                      elif self.current.value == ')':
                          parenthesis_level -= 1
                          if parenthesis_level == 0:
                              break
                  self.stream.move()
          if self.current.kind != tk.OP or self.current.value != ':':
              self.leapfrog(tk.OP, value=":")
          else:
              self.consume(tk.OP)
          if self.current.kind in (tk.NEWLINE, tk.COMMENT):
              skipped_error_codes = self.parse_skip_comment()
              self.leapfrog(tk.INDENT)
              assert self.current.kind != tk.INDENT
              docstring = self.parse_docstring()
              decorators = self._accumulated_decorators
              self.log.debug("current accumulated decorators: %s", decorators)
              self._accumulated_decorators = []
              self.log.debug("parsing nested definitions.")
              children = list(self.parse_definitions(class_))
              self.log.debug("finished parsing nested definitions for '%s'",
                             name)
              end = self.line - 1
          else:  # one-liner definition
              skipped_error_codes = ''
              docstring = self.parse_docstring()
              decorators = []  # TODO
              children = []
              end = self.line
              self.leapfrog(tk.NEWLINE)
          definition = class_(name, self.source, start, end,
                              decorators, docstring, children, None,
                              skipped_error_codes)
          for child in definition.children:
              child.parent = definition
          self.log.debug("finished parsing %s '%s'. Next token is %r",
                         class_.__name__, name, self.current)
          return definition
docs: Parse a definition and return its value in a `class_` object.