def parse_decorators(self):
name = []<EOL>arguments = []<EOL>at_arguments = False<EOL>while self.current is not None:<EOL><INDENT>self.log.debug("<STR_LIT>",<EOL>self.current.kind, self.current.value)<EOL>if (self.current.kind == tk.NAME and<EOL>self.current.value in ['<STR_LIT>', '<STR_LIT:class>']):<EOL><INDENT>break<EOL><DEDENT>elif self.current.kind == tk.OP and self.current.value == '<STR_LIT:@>':<EOL><INDENT>self._accumulated_decorators.append(<EOL>Decorator('<STR_LIT>'.join(name), '<STR_LIT>'.join(arguments)))<EOL>name = []<EOL>arguments = []<EOL>at_arguments = False<EOL><DEDENT>elif self.current.kind == tk.OP and self.current.value == '<STR_LIT:(>':<EOL><INDENT>at_arguments = True<EOL><DEDENT>elif self.current.kind == tk.OP and self.current.value == '<STR_LIT:)>':<EOL><INDENT>pass<EOL><DEDENT>elif self.current.kind == tk.NEWLINE or self.current.kind == tk.NL:<EOL><INDENT>pass<EOL><DEDENT>else:<EOL><INDENT>if not at_arguments:<EOL><INDENT>name.append(self.current.value)<EOL><DEDENT>else:<EOL><INDENT>arguments.append(self.current.value)<EOL><DEDENT><DEDENT>self.stream.move()<EOL><DEDENT>self._accumulated_decorators.append(<EOL>Decorator('<STR_LIT>'.join(name), '<STR_LIT>'.join(arguments)))<EOL>
Called after first @ is found.

        Parse decorators into self._accumulated_decorators.
        Continue to do so until encountering the 'def' or 'class' start token.