def parse_decorators(self):  
name = []<EOL>arguments = []<EOL>at_arguments = False<EOL>while self.current is not None:<EOL><INDENT>self.log.debug(<EOL>"<STR_LIT>",<EOL>self.current.kind,<EOL>self.current.value,<EOL>)<EOL>if self.current.kind == tk.NAME and 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>)<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>)<EOL>
Called after first @ is found.

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