diff --git a/ANNOTATION.md b/ANNOTATION.md index c6b6fbb5..ed81127e 100644 --- a/ANNOTATION.md +++ b/ANNOTATION.md @@ -76,7 +76,7 @@ | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='args'\] | CallPositionalArgument | | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='keywords'\] | CallNamedArgument | | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='keywords'\]/\*\[@internalRole\]\[@internalRole='value'\] | CallNamedArgumentValue | -| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Name'\] | Call | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Name'\] | CallCallee | | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Attribute'\] | CallCallee | | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Attribute'\]/\*\[@internalRole\]\[@internalRole='value'\] | CallReceiver | | /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Assign'\] | Assignment, Expression | diff --git a/driver/normalizer/annotation.go b/driver/normalizer/annotation.go index 14aac03c..6cf71f11 100644 --- a/driver/normalizer/annotation.go +++ b/driver/normalizer/annotation.go @@ -170,7 +170,7 @@ var AnnotationRules = On(Any).Self( On(HasInternalRole("value")).Roles(CallNamedArgumentValue), ), On(HasInternalRole("func")).Self( - On(HasInternalType(pyast.Name)).Roles(Call), + On(HasInternalType(pyast.Name)).Roles(CallCallee), On(HasInternalType(pyast.Attribute)).Roles(CallCallee).Children( On(HasInternalRole("value")).Roles(CallReceiver), )), @@ -267,7 +267,8 @@ var AnnotationRules = On(Any).Self( On(HasInternalType("ClassDef.bases")).Roles(TypeDeclarationBases), On(HasInternalType("ClassDef.keywords")).Roles(Incomplete).Children( On(HasInternalType(pyast.Keyword)).Roles(SimpleIdentifier, Incomplete), - )), + ), + ), On(HasInternalType(pyast.For)).Roles(ForEach, Statement).Children( On(HasInternalType("For.body")).Roles(ForBody), diff --git a/tests/classdef.py.uast b/tests/classdef.py.uast index 3ff24c8d..51bd4219 100644 --- a/tests/classdef.py.uast +++ b/tests/classdef.py.uast @@ -807,7 +807,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "Animal" . . . . . . . StartPosition: { . . . . . . . . Offset: 225 diff --git a/tests/except.py.uast b/tests/except.py.uast index 1c5dd8f2..deb5fefe 100644 --- a/tests/except.py.uast +++ b/tests/except.py.uast @@ -137,7 +137,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "Exception" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 25 @@ -213,7 +213,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 147 @@ -306,7 +306,7 @@ Module { . . . . . . . . . . . . . } . . . . . . . . . . . . } . . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . Offset: 76 @@ -414,7 +414,7 @@ Module { . . . . . . . . . . . . . } . . . . . . . . . . . . } . . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . Offset: 119 diff --git a/tests/exec.py.uast b/tests/exec.py.uast index e09dbb1a..2a89f9ea 100644 --- a/tests/exec.py.uast +++ b/tests/exec.py.uast @@ -64,7 +64,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "exec" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 diff --git a/tests/for.py.uast b/tests/for.py.uast index 379c7c7f..02d1fac2 100644 --- a/tests/for.py.uast +++ b/tests/for.py.uast @@ -148,7 +148,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 33 diff --git a/tests/functioncalls.py.uast b/tests/functioncalls.py.uast index c1bf2f19..6f77b55f 100644 --- a/tests/functioncalls.py.uast +++ b/tests/functioncalls.py.uast @@ -100,7 +100,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 3: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "normalCall" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 @@ -299,7 +299,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "keyCall" . . . . . . . StartPosition: { . . . . . . . . Offset: 87 @@ -482,7 +482,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "expandListCall" . . . . . . . StartPosition: { . . . . . . . . Offset: 108 @@ -554,7 +554,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "expandMapCall" . . . . . . . StartPosition: { . . . . . . . . Offset: 141 diff --git a/tests/functiondef_decorated.py.uast b/tests/functiondef_decorated.py.uast index ae59f922..ca30b4c1 100644 --- a/tests/functiondef_decorated.py.uast +++ b/tests/functiondef_decorated.py.uast @@ -253,7 +253,7 @@ Module { . . . . . . . . . } . . . . . . . . } . . . . . . . . 3: Name { -. . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . TOKEN "somedecoratorparams" . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 44 diff --git a/tests/hello.py.uast b/tests/hello.py.uast index a4bdaf8e..401b47ef 100644 --- a/tests/hello.py.uast +++ b/tests/hello.py.uast @@ -64,7 +64,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "print" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 diff --git a/tests/if.py.uast b/tests/if.py.uast index b05f2780..e3d7e26d 100644 --- a/tests/if.py.uast +++ b/tests/if.py.uast @@ -83,7 +83,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 13 @@ -194,7 +194,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 49 @@ -234,7 +234,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "functionCall" . . . . . . . StartPosition: { . . . . . . . . Offset: 29 diff --git a/tests/issue62_b.py.uast b/tests/issue62_b.py.uast index fed728b1..2580268a 100644 --- a/tests/issue62_b.py.uast +++ b/tests/issue62_b.py.uast @@ -1437,7 +1437,7 @@ Module { . . . . . . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . . . . . . . . . . . TOKEN "str" . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . . . . . . . . . . . Offset: 657 @@ -1459,7 +1459,7 @@ Module { . . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . . . . . . . Offset: 634 @@ -1528,7 +1528,7 @@ Module { . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . Children: { . . . . . . . . . . . . . . . . . . 0: Name { -. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . . . . . . . TOKEN "Counter" . . . . . . . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . . . . . . . Offset: 703 @@ -1744,7 +1744,7 @@ Module { . . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . } . . . . . . . . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . . . . . . . . . Offset: 790 @@ -1933,7 +1933,7 @@ Module { . . . . . . . . . } . . . . . . . . . Children: { . . . . . . . . . . 0: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "Repo2IdCounter" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 870 diff --git a/tests/literals_assign.py.uast b/tests/literals_assign.py.uast index 91b7dc56..d9a0f9d1 100644 --- a/tests/literals_assign.py.uast +++ b/tests/literals_assign.py.uast @@ -1022,7 +1022,7 @@ Module { . . . . . . . . . } . . . . . . . . } . . . . . . . . 1: Name { -. . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . TOKEN "int" . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 206 diff --git a/tests/loop_if.py.uast b/tests/loop_if.py.uast index b264f568..e833e107 100644 --- a/tests/loop_if.py.uast +++ b/tests/loop_if.py.uast @@ -123,7 +123,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 39 diff --git a/tests/repr.py.uast b/tests/repr.py.uast index 3b599cfc..b9eca3d6 100644 --- a/tests/repr.py.uast +++ b/tests/repr.py.uast @@ -65,7 +65,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "repr" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 diff --git a/tests/sameline.py.uast b/tests/sameline.py.uast index 4e3289f1..112d32cc 100644 --- a/tests/sameline.py.uast +++ b/tests/sameline.py.uast @@ -64,7 +64,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "print" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 @@ -135,7 +135,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: Name { -. . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . TOKEN "print" . . . . . . . StartPosition: { . . . . . . . . Offset: 25 diff --git a/tests/string_fstring.py.uast b/tests/string_fstring.py.uast index e7fe3564..ba65b200 100644 --- a/tests/string_fstring.py.uast +++ b/tests/string_fstring.py.uast @@ -1050,7 +1050,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "somefunc" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 0 diff --git a/tests/while.py.uast b/tests/while.py.uast index 2615fd80..338c3545 100644 --- a/tests/while.py.uast +++ b/tests/while.py.uast @@ -83,7 +83,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 17 @@ -167,7 +167,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . Roles: CallCallee,SimpleIdentifier,Expression . . . . . . . . . . . TOKEN "print" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 58