def p_annotation(self, p):
if len(p) < <NUM_LIT:8>:<EOL><INDENT>args, kwargs = p[<NUM_LIT:5>]<EOL>p[<NUM_LIT:0>] = AstAnnotationDef(<EOL>self.path, p.lineno(<NUM_LIT:1>), p.lexpos(<NUM_LIT:1>), p[<NUM_LIT:2>], p[<NUM_LIT:4>], None, args, kwargs)<EOL><DEDENT>else:<EOL><INDENT>args, kwargs = p[<NUM_LIT:7>]<EOL>p[<NUM_LIT:0>] = AstAnnotationDef(<EOL>self.path, p.lineno(<NUM_LIT:1>), p.lexpos(<NUM_LIT:1>), p[<NUM_LIT:2>], p[<NUM_LIT:6>], p[<NUM_LIT:4>], args, kwargs)<EOL><DEDENT>
annotation : ANNOTATION ID EQ ID args NL
                      | ANNOTATION ID EQ ID DOT ID args NL