def p_alias(self, p):
if p[<NUM_LIT:1>] == '<STR_LIT>':<EOL><INDENT>has_annotations = len(p) > <NUM_LIT:6> and p[<NUM_LIT:7>] is not None<EOL>doc = p[<NUM_LIT:8>] if len(p) > <NUM_LIT:6> else None<EOL>p[<NUM_LIT:0>] = AstAlias(<EOL>self.path, p.lineno(<NUM_LIT:1>), p.lexpos(<NUM_LIT:1>), p[<NUM_LIT:2>], p[<NUM_LIT:4>], doc)<EOL>if has_annotations:<EOL><INDENT>p[<NUM_LIT:0>].set_annotations(p[<NUM_LIT:7>])<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>
alias : KEYWORD ID EQ type_ref NL
                 | KEYWORD ID EQ type_ref NL INDENT annotation_ref_list docsection DEDENT