-
-
Notifications
You must be signed in to change notification settings - Fork 194
Open
Labels
Description
Did you check existing issues?
- I have read all the tree-sitter docs if it relates to using the parser
- I have searched the existing issues of tree-sitter-python
Tree-Sitter CLI Version, if relevant (output of tree-sitter --version)
No response
Describe the bug
This python expression:
type(_).foo = barIs incorrectly parsed as a type_alias_statement, but type alias doesn't allow parenthesis on the left hand side of the equals sign.
Steps To Reproduce/Bad Parse Tree
module [0, 0] - [1, 0]
type_alias_statement [0, 0] - [0, 17]
type [0, 4] - [0, 11]
attribute [0, 4] - [0, 11]
object: parenthesized_expression [0, 4] - [0, 7]
identifier [0, 5] - [0, 6]
attribute: identifier [0, 8] - [0, 11]
type [0, 14] - [0, 17]
identifier [0, 14] - [0, 17]
Expected Behavior/Parse Tree
module [0, 0] - [1, 0]
expression_statement [0, 0] - [0, 17]
assignment [0, 0] - [0, 17]
left: attribute [0, 0] - [0, 11]
object: call [0, 0] - [0, 7]
function: identifier [0, 0] - [0, 4]
arguments: argument_list [0, 4] - [0, 7]
identifier [0, 5] - [0, 6]
attribute: identifier [0, 8] - [0, 11]
right: identifier [0, 14] - [0, 17]
Repro
type(_).foo = bar