From e600d0fcc44060a76efcb0f8c0e570eb813e2f1c Mon Sep 17 00:00:00 2001 From: Juanjo Alvarez Date: Fri, 11 Aug 2017 15:06:25 +0200 Subject: [PATCH] - Upgrade pydetector dependency to 0.12.0 - Many annotations fixes: - Fixed import annotations and identifiers - Remove several unneded promoted lists - Moved some annotations out of child lists to the top level since they were the same under all the parents. - Added Incomplete to ClassDef keywords (metaclas=bla, etc) - Removed temporal files and directories from the integration tests that were in git Fixes #63 Fixes #65 --- ANNOTATION.md | 186 ++ Dockerfile.tpl | 2 +- driver/normalizer/annotation.go | 27 +- driver/normalizer/parser.go | 8 +- native/python_package/requirements.txt | 2 +- native/python_package/setup.py | 2 +- tests/booleanop.py.uast | 40 +- tests/classdef.py.native | 12 +- tests/classdef.py.uast | 21 +- tests/classdef_inheritance.py.native | 12 +- tests/classdef_inheritance.py.uast | 22 +- tests/classdef_metaclass_py3.py.native | 16 +- tests/classdef_metaclass_py3.py.uast | 36 +- tests/comprehension_dict.py.uast | 8 +- tests/comprehension_list.py.uast | 359 ++-- tests/comprehension_set.py.uast | 8 +- tests/except.py.uast | 6 +- tests/functiondef_annotated.py.native | 10 +- tests/functiondef_annotated.py.uast | 17 +- tests/functiondef_defaultparams.py.native | 10 +- tests/functiondef_defaultparams.py.uast | 17 +- tests/functiondef_docstring.py.native | 10 +- tests/functiondef_docstring.py.uast | 17 +- tests/functiondef_kwarg.py.native | 16 +- tests/functiondef_kwarg.py.uast | 28 +- tests/functiondef_simple.py.native | 12 +- tests/functiondef_simple.py.uast | 22 +- tests/functiondef_vararg.py.native | 10 +- tests/functiondef_vararg.py.uast | 17 +- tests/if.py.native | 10 +- tests/if.py.uast | 23 +- tests/ifexpression.py.uast | 8 +- tests/import.py.uast | 220 +- tests/issue30.py.uast | 37 +- tests/issue62.py.uast | 119 +- tests/issue62_b.py.native | 1076 ++++++++++ tests/issue62_b.py.source | 34 + tests/issue62_b.py.uast | 2250 +++++++++++++++++++++ tests/loop_if.py.native | 2 + tests/loop_if.py.uast | 5 + tests/native/assert_constant.py.json | 1 - tests/native/astexport.py.json | 1 - tests/native/augassign.py.json | 1 - tests/native/classdef.py.json | 1 - tests/native/comments.py.json | 1 - tests/native/comprehension.py.json | 1 - tests/native/except.py.json | 1 - tests/native/for.py.json | 1 - tests/native/funcdef_defparams.py.json | 1 - tests/native/functioncalls.py.json | 1 - tests/native/functiondef.py.json | 1 - tests/native/functiondef_args.py.json | 1 - tests/native/hello.py.json | 1 - tests/native/if.py.json | 1 - tests/native/ifexpression.py.json | 1 - tests/native/import.py.json | 1 - tests/native/line_comment.py.json | 1 - tests/native/literals_assign.py.json | 1 - tests/native/loop_if.py.json | 1 - tests/native/pass.py.json | 1 - tests/native/sameline.py.json | 1 - tests/native/test.py.json | 1 - tests/native/while.py.json | 1 - tests/native/with.py.json | 1 - tests/pass.py.native | 18 +- tests/pass.py.uast | 28 +- tests/sources/assert_constant.py | 1 - tests/sources/augassign.py | 4 - tests/sources/classdef.py | 24 - tests/sources/comments.py | 3 - tests/sources/comprehension.py | 3 - tests/sources/except.py | 7 - tests/sources/for.py | 3 - tests/sources/funcdef_defparams.py | 2 - tests/sources/functioncalls.py | 6 - tests/sources/functiondef.py | 12 - tests/sources/functiondef_args.py | 14 - tests/sources/if.py | 9 - tests/sources/ifexpression.py | 1 - tests/sources/import.py | 4 - tests/sources/line_comment.py | 6 - tests/sources/literals_assign.py | 9 - tests/sources/loop_if.py | 14 - tests/sources/pass.py | 6 - tests/sources/test.py | 1 - tests/sources/while.py | 5 - tests/sources/with.py | 5 - tests/test.py.native | 6 +- tests/test.py.uast | 15 +- tests/uast/assert_constant.py.json | 1 - tests/uast/astexport.py.json | 1 - tests/uast/augassign.py.json | 1 - tests/uast/classdef.py.json | 1 - tests/uast/comments.py.json | 1 - tests/uast/comprehension.py.json | 1 - tests/uast/except.py.json | 1 - tests/uast/for.py.json | 1 - tests/uast/funcdef_defparams.py.json | 1 - tests/uast/functioncalls.py.json | 1 - tests/uast/functiondef.py.json | 1 - tests/uast/functiondef_args.py.json | 1 - tests/uast/hello.py.json | 1 - tests/uast/if.py.json | 1 - tests/uast/ifexpression.py.json | 1 - tests/uast/import.py.json | 1 - tests/uast/line_comment.py.json | 1 - tests/uast/literals_assign.py.json | 1 - tests/uast/loop_if.py.json | 1 - tests/uast/pass.py.json | 1 - tests/uast/sameline.py.json | 1 - tests/uast/samline.py.json | 1 - tests/uast/test.py.json | 1 - tests/uast/while.py.json | 1 - tests/uast/with.py.json | 1 - tests/while.py.uast | 8 +- tests/with.py.uast | 4 +- 116 files changed, 4202 insertions(+), 802 deletions(-) create mode 100644 tests/issue62_b.py.native create mode 100644 tests/issue62_b.py.source create mode 100644 tests/issue62_b.py.uast delete mode 100644 tests/native/assert_constant.py.json delete mode 100644 tests/native/astexport.py.json delete mode 100644 tests/native/augassign.py.json delete mode 100644 tests/native/classdef.py.json delete mode 100644 tests/native/comments.py.json delete mode 100644 tests/native/comprehension.py.json delete mode 100644 tests/native/except.py.json delete mode 100644 tests/native/for.py.json delete mode 100644 tests/native/funcdef_defparams.py.json delete mode 100644 tests/native/functioncalls.py.json delete mode 100644 tests/native/functiondef.py.json delete mode 100644 tests/native/functiondef_args.py.json delete mode 100644 tests/native/hello.py.json delete mode 100644 tests/native/if.py.json delete mode 100644 tests/native/ifexpression.py.json delete mode 100644 tests/native/import.py.json delete mode 100644 tests/native/line_comment.py.json delete mode 100644 tests/native/literals_assign.py.json delete mode 100644 tests/native/loop_if.py.json delete mode 100644 tests/native/pass.py.json delete mode 100644 tests/native/sameline.py.json delete mode 100644 tests/native/test.py.json delete mode 100644 tests/native/while.py.json delete mode 100644 tests/native/with.py.json delete mode 100644 tests/sources/assert_constant.py delete mode 100644 tests/sources/augassign.py delete mode 100644 tests/sources/classdef.py delete mode 100644 tests/sources/comments.py delete mode 100644 tests/sources/comprehension.py delete mode 100644 tests/sources/except.py delete mode 100644 tests/sources/for.py delete mode 100644 tests/sources/funcdef_defparams.py delete mode 100644 tests/sources/functioncalls.py delete mode 100644 tests/sources/functiondef.py delete mode 100644 tests/sources/functiondef_args.py delete mode 100644 tests/sources/if.py delete mode 100644 tests/sources/ifexpression.py delete mode 100644 tests/sources/import.py delete mode 100644 tests/sources/line_comment.py delete mode 100644 tests/sources/literals_assign.py delete mode 100644 tests/sources/loop_if.py delete mode 100644 tests/sources/pass.py delete mode 100644 tests/sources/test.py delete mode 100644 tests/sources/while.py delete mode 100644 tests/sources/with.py delete mode 100644 tests/uast/assert_constant.py.json delete mode 100644 tests/uast/astexport.py.json delete mode 100644 tests/uast/augassign.py.json delete mode 100644 tests/uast/classdef.py.json delete mode 100644 tests/uast/comments.py.json delete mode 100644 tests/uast/comprehension.py.json delete mode 100644 tests/uast/except.py.json delete mode 100644 tests/uast/for.py.json delete mode 100644 tests/uast/funcdef_defparams.py.json delete mode 100644 tests/uast/functioncalls.py.json delete mode 100644 tests/uast/functiondef.py.json delete mode 100644 tests/uast/functiondef_args.py.json delete mode 100644 tests/uast/hello.py.json delete mode 100644 tests/uast/if.py.json delete mode 100644 tests/uast/ifexpression.py.json delete mode 100644 tests/uast/import.py.json delete mode 100644 tests/uast/line_comment.py.json delete mode 100644 tests/uast/literals_assign.py.json delete mode 100644 tests/uast/loop_if.py.json delete mode 100644 tests/uast/pass.py.json delete mode 100644 tests/uast/sameline.py.json delete mode 100644 tests/uast/samline.py.json delete mode 100644 tests/uast/test.py.json delete mode 100644 tests/uast/while.py.json delete mode 100644 tests/uast/with.py.json diff --git a/ANNOTATION.md b/ANNOTATION.md index e69de29b..c6b6fbb5 100644 --- a/ANNOTATION.md +++ b/ANNOTATION.md @@ -0,0 +1,186 @@ +| Path | Action | +|------|--------| +| /self::\*\[not\(@InternalType='Module'\)\] | Error | +| /self::\*\[@InternalType='Module'\] | File | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\] | BinaryExpression, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='op'\] | BinaryExpressionOp | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='left'\] | BinaryExpressionLeft | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='right'\] | BinaryExpressionRight | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Eq'\] | OpEqual | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotEq'\] | OpNotEqual | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lt'\] | OpLessThan | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LtE'\] | OpLessThanEqual | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Gt'\] | OpGreaterThan | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='GtE'\] | OpGreaterThanEqual | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Is'\] | OpSame | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IsNot'\] | OpNotSame | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='In'\] | OpContains | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotIn'\] | OpNotContains | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Add'\] | OpAdd | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Sub'\] | OpSubstract | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mult'\] | OpMultiply | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Div'\] | OpDivide | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mod'\] | OpMod | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FloorDiv'\] | OpDivide, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Pow'\] | Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='MatMult'\] | OpMultiply, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LShift'\] | OpBitwiseLeftShift | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='RShift'\] | OpBitwiseRightShift | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitOr'\] | OpBitwiseOr | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitXor'\] | OpBitwiseXor | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitAnd'\] | OpBitwiseAnd | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='And'\] | OpBooleanAnd | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Or'\] | OpBooleanOr | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Not'\] | OpBooleanNot | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='UnaryOp'\] | Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Invert'\] | OpBitwiseComplement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='UAdd'\] | OpPositive | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='USub'\] | OpNegative | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='StringLiteral'\] | StringLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ByteLiteral'\] | ByteStringLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NumLiteral'\] | NumberLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Str'\] | StringLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BoolLiteral'\] | BooleanLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='JoinedStr'\] | StringLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='JoinedStr'\]/\*\[@InternalType='FormattedValue'\] | Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NoneLiteral'\] | NullLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Set'\] | SetLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='List'\] | ListLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Dict'\] | MapLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Dict'\]/\*\[@internalRole\]\[@internalRole='keys'\] | MapKey | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Dict'\]/\*\[@internalRole\]\[@internalRole='values'\] | MapValue | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Tuple'\] | TupleLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\] | FunctionDeclaration, FunctionDeclarationName, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef'\] | FunctionDeclaration, FunctionDeclarationName, SimpleIdentifier, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.decorator\_list'\] | Call, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.body'\] | FunctionDeclarationBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\] | FunctionDeclarationArgument, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='args'\] | FunctionDeclarationArgument, FunctionDeclarationArgumentName, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='vararg'\] | FunctionDeclarationArgument, FunctionDeclarationVarArgsList, FunctionDeclarationArgumentName, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='kwarg'\] | FunctionDeclarationArgument, FunctionDeclarationVarArgsList, FunctionDeclarationArgumentName, Incomplete, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@InternalType='arguments\.defaults'\] | FunctionDeclarationArgumentDefaultValue, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@InternalType='arguments\.keywords'\] | FunctionDeclarationArgumentDefaultValue, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@InternalType='AsyncFunctionDef\.decorator\_list'\] | Call, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments'\]/\*\[@InternalType='AsyncFunctionDef\.body'\] | FunctionDeclarationBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\] | FunctionDeclaration, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='Lambda\.body'\] | FunctionDeclarationBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\] | FunctionDeclarationArgument, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='args'\] | FunctionDeclarationArgument, FunctionDeclarationArgumentName, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='vararg'\] | FunctionDeclarationArgument, FunctionDeclarationVarArgsList, FunctionDeclarationArgumentName, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='kwarg'\] | FunctionDeclarationArgument, FunctionDeclarationVarArgsList, FunctionDeclarationArgumentName, Incomplete, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\]/\*\[@InternalType='arguments\.defaults'\] | FunctionDeclarationArgumentDefaultValue, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='arguments'\]/\*\[@InternalType='arguments\.keywords'\] | FunctionDeclarationArgumentDefaultValue, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Attribute'\] | SimpleIdentifier, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Attribute'\]/\*\[@InternalType='Name'\] | QualifiedIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\] | Call, Expression | +| /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='Attribute'\] | CallCallee | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Attribute'\]/\*\[@internalRole\]\[@internalRole='value'\] | CallReceiver | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Assign'\] | Assignment, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Assign'\]/\*\[@internalRole\]\[@internalRole='targets'\] | AssignmentVariable | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Assign'\]/\*\[@internalRole\]\[@internalRole='value'\] | AssignmentValue | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AugAssign'\] | AugmentedAssignment, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AugAssign'\]/\*\[@internalRole\]\[@internalRole='op'\] | AugmentedAssignmentOperator | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AugAssign'\]/\*\[@internalRole\]\[@internalRole='target'\] | AugmentedAssignmentVariable | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AugAssign'\]/\*\[@internalRole\]\[@internalRole='value'\] | AugmentedAssignmentValue | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Expression'\] | Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Expr'\] | Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Name'\] | SimpleIdentifier, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='SameLineNoops'\] | Comment | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='PreviousNoops'\] | Whitespace | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='PreviousNoops'\]/\*\[@internalRole\]\[@internalRole='lines'\] | Comment | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='RemainderNoops'\] | Whitespace | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='RemainderNoops'\]/\*\[@internalRole\]\[@internalRole='lines'\] | Comment | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Constant'\] | SimpleIdentifier, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\] | Try, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\]/\*\[@InternalType='Try\.body'\] | TryBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\]/\*\[@InternalType='Try\.finalbody'\] | TryFinally | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\]/\*\[@InternalType='Try\.handlers'\] | TryCatch | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\]/\*\[@InternalType='Try\.orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='TryExcept'\] | TryCatch, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ExceptHandler'\] | TryCatch, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='TryFinally'\] | TryFinally, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Raise'\] | Throw, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='With'\] | BlockScope, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='With\.body'\] | BlockScope, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='With\.items'\] | SimpleIdentifier, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncWith'\] | BlockScope, Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='withitem'\] | SimpleIdentifier, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Return'\] | Return, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Break'\] | Break, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Continue'\] | Continue, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Compare'\] | BinaryExpression, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Compare'\]/\*\[@InternalType='Compare\.ops'\] | BinaryExpressionOp | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Compare'\]/\*\[@internalRole\]\[@internalRole='left'\] | BinaryExpressionLeft | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Compare\.comparators'\] | BinaryExpressionRight | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='If'\] | If, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='If'\]/\*\[@InternalType='If\.body'\] | IfBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='If'\]/\*\[@internalRole\]\[@internalRole='test'\] | IfCondition | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='If'\]/\*\[@InternalType='If\.orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IfExp'\] | If, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IfExp'\]/\*\[@internalRole\]\[@internalRole='body'\] | IfBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IfExp'\]/\*\[@internalRole\]\[@internalRole='test'\] | IfCondition | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IfExp'\]/\*\[@internalRole\]\[@internalRole='orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Import'\] | ImportDeclaration, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='alias'\] | ImportPath, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ImportFrom\.module'\] | ImportPath, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='alias\.asname'\] | ImportAlias, SimpleIdentifier | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ImportFrom'\] | ImportDeclaration, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ClassDef'\] | TypeDeclaration, SimpleIdentifier, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ClassDef'\]/\*\[@InternalType='ClassDef\.body'\] | TypeDeclarationBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ClassDef'\]/\*\[@InternalType='ClassDef\.bases'\] | TypeDeclarationBases | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ClassDef'\]/\*\[@InternalType='ClassDef\.keywords'\] | Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ClassDef'\]/\*\[@InternalType='ClassDef\.keywords'\]/\*\[@InternalType='keyword'\] | SimpleIdentifier, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='For'\] | ForEach, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='For'\]/\*\[@InternalType='For\.body'\] | ForBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='For'\]/\*\[@internalRole\]\[@internalRole='iter'\] | ForExpression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='For'\]/\*\[@internalRole\]\[@internalRole='target'\] | ForUpdate | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='For'\]/\*\[@InternalType='For\.orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFor'\] | ForEach, Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFor'\]/\*\[@InternalType='AsyncFor\.body'\] | ForBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFor'\]/\*\[@internalRole\]\[@internalRole='iter'\] | ForExpression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFor'\]/\*\[@internalRole\]\[@internalRole='target'\] | ForUpdate | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFor'\]/\*\[@InternalType='AsyncFor\.orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='While'\] | While, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='While'\]/\*\[@InternalType='While\.body'\] | WhileBody | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='While'\]/\*\[@internalRole\]\[@internalRole='test'\] | WhileCondition | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='While'\]/\*\[@InternalType='While\.orelse'\] | IfElse | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Pass'\] | Noop, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Num'\] | NumberLiteral, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Assert'\] | Assert, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Exec'\] | Call, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Exec'\]/\*\[@internalRole\]\[@internalRole='body'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Exec'\]/\*\[@internalRole\]\[@internalRole='globals'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Exec'\]/\*\[@internalRole\]\[@internalRole='locals'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Print'\] | Call, CallCallee, SimpleIdentifier, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Print'\]/\*\[@internalRole\]\[@internalRole='dest'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Print'\]/\*\[@internalRole\]\[@internalRole='nl'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Print'\]/\*\[@internalRole\]\[@internalRole='values'\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Print'\]/\*\[@internalRole\]\[@internalRole='values'\]/\*\[\*\] | CallPositionalArgument | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AnnAssign'\] | Assignment, Comment, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Annotation'\] | Comment, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='returns'\] | Comment, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Ellipsis'\] | SimpleIdentifier, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\] | ForEach, Expression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@internalRole\]\[@internalRole='iter'\] | ForUpdate, Statement | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@internalRole\]\[@internalRole='target'\] | ForExpression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@InternalType='Compare'\] | IfCondition, BinaryExpression | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@InternalType='Compare'\]/\*\[@InternalType='Compare\.ops'\] | BinaryExpressionOp | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@InternalType='Compare'\]/\*\[@internalRole\]\[@internalRole='left'\] | BinaryExpressionLeft | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ListComp'\] | ListLiteral, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='DictComp'\] | MapLiteral, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='SetComp'\] | SetLiteral, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Delete'\] | Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Await'\] | Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Global'\] | Statement, VisibleFromWorld, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Nonlocal'\] | Statement, VisibleFromModule, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Yield'\] | Return, Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='YieldFrom'\] | Return, Statement, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Yield'\] | ListLiteral, Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Subscript'\] | Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Index'\] | Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Slice'\] | Expression, Incomplete | +| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ExtSlice'\] | Expression, Incomplete | diff --git a/Dockerfile.tpl b/Dockerfile.tpl index c111cb74..f48d3234 100644 --- a/Dockerfile.tpl +++ b/Dockerfile.tpl @@ -3,7 +3,7 @@ MAINTAINER source{d} ARG DEVDEPS=native/dev_deps ARG CONTAINER_DEVDEPS=/tmp/dev_deps -ARG PYDETECTOR_VER=0.11.3 +ARG PYDETECTOR_VER=0.12.0 RUN apk add --no-cache --update python python3 py-pip py2-pip git diff --git a/driver/normalizer/annotation.go b/driver/normalizer/annotation.go index e3c4483d..14aac03c 100644 --- a/driver/normalizer/annotation.go +++ b/driver/normalizer/annotation.go @@ -207,10 +207,10 @@ var AnnotationRules = On(Any).Self( // TODO: check what Constant nodes are generated in the python AST and improve this On(HasInternalType(pyast.Constant)).Roles(SimpleIdentifier, Expression), On(HasInternalType(pyast.Try)).Roles(Try, Statement).Children( - On(HasInternalRole("body")).Roles(TryBody), - On(HasInternalRole("finalbody")).Roles(TryFinally), - On(HasInternalRole("handlers")).Roles(TryCatch), - On(HasInternalRole("orelse")).Roles(IfElse), + On(HasInternalType("Try.body")).Roles(TryBody), + On(HasInternalType("Try.finalbody")).Roles(TryFinally), + On(HasInternalType("Try.handlers")).Roles(TryCatch), + On(HasInternalType("Try.orelse")).Roles(IfElse), ), On(HasInternalType(pyast.TryExcept)).Roles(TryCatch, Statement), // py2 On(HasInternalType(pyast.ExceptHandler)).Roles(TryCatch, Statement), // py3 @@ -218,6 +218,8 @@ var AnnotationRules = On(Any).Self( On(HasInternalType(pyast.Raise)).Roles(Throw, Statement), // FIXME: review, add path for the body and items childs On(HasInternalType(pyast.With)).Roles(BlockScope, Statement), + On(HasInternalType("With.body")).Roles(BlockScope, Expression, Incomplete), + On(HasInternalType("With.items")).Roles(SimpleIdentifier, Expression, Incomplete), On(HasInternalType(pyast.AsyncWith)).Roles(BlockScope, Statement, Incomplete), On(HasInternalType(pyast.Withitem)).Roles(SimpleIdentifier, Incomplete), On(HasInternalType(pyast.Return)).Roles(Return, Statement), @@ -236,15 +238,15 @@ var AnnotationRules = On(Any).Self( // and SDK feature to mix lists (also needed for default and keyword arguments and // boolean operators). // "If that sounds awkward is because it is" (their words) + On(HasInternalType(pyast.Compare)).Roles(BinaryExpression, Expression).Children( + On(HasInternalType("Compare.ops")).Roles(BinaryExpressionOp), + On(HasInternalRole("left")).Roles(BinaryExpressionLeft), + ), + On(HasInternalType("Compare.comparators")).Roles(BinaryExpressionRight), On(HasInternalType(pyast.If)).Roles(If, Statement).Children( On(HasInternalType("If.body")).Roles(IfBody), On(HasInternalRole("test")).Roles(IfCondition), On(HasInternalType("If.orelse")).Roles(IfElse), - On(HasInternalType(pyast.Compare)).Roles(BinaryExpression, Expression).Children( - On(HasInternalType("Compare.ops")).Roles(BinaryExpressionOp), - On(HasInternalType("Compare.comparators")).Roles(BinaryExpressionRight), - On(HasInternalRole("left")).Roles(BinaryExpressionLeft), - ), ), On(HasInternalType(pyast.IfExp)).Roles(If, Expression).Children( // These are used on ifexpressions (a = 1 if x else 2) @@ -263,7 +265,9 @@ var AnnotationRules = On(Any).Self( On(HasInternalType(pyast.ClassDef)).Roles(TypeDeclaration, SimpleIdentifier, Statement).Children( On(HasInternalType("ClassDef.body")).Roles(TypeDeclarationBody), 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), @@ -327,12 +331,11 @@ var AnnotationRules = On(Any).Self( // FIXME: see the comment on IfCondition above On(HasInternalType(pyast.Compare)).Roles(IfCondition, BinaryExpression).Children( On(HasInternalType("Compare.ops")).Roles(BinaryExpressionOp), - On(HasInternalType("Compare.comparators")).Roles(BinaryExpressionRight), On(HasInternalRole("left")).Roles(BinaryExpressionLeft), ), ), On(HasInternalType(pyast.ListComp)).Roles(ListLiteral, Expression, Incomplete), - On(HasInternalType(pyast.SetComp)).Roles(MapLiteral, Expression, Incomplete), + On(HasInternalType(pyast.DictComp)).Roles(MapLiteral, Expression, Incomplete), On(HasInternalType(pyast.SetComp)).Roles(SetLiteral, Expression, Incomplete), On(HasInternalType(pyast.Delete)).Roles(Statement, Incomplete), diff --git a/driver/normalizer/parser.go b/driver/normalizer/parser.go index 239d27b2..c2517e1f 100644 --- a/driver/normalizer/parser.go +++ b/driver/normalizer/parser.go @@ -60,10 +60,7 @@ var ToNoder = &native.ObjectToNoder{ "For": {"body": true, "orelse": true}, "AsyncFor": {"body": true, "orelse": true}, "While": {"body": true, "orelse": true}, - // FIXME: check if promotion is needed in this case - "Compare": {"comparators": true, "ops": true}, - "Import": {"names": true}, - "ImportFrom": {"names": true}, + "Compare": {"comparators": true, "ops": true}, // FIXME: check call.keywords //"Call" : { "args": true, "keywords": true}, "With": {"body": true, "items": true}, @@ -73,9 +70,6 @@ var ToNoder = &native.ObjectToNoder{ "Try": {"body": true, "orelse": true, "finalbody": true, "handlers": true}, "Raise": {"args": true}, "ClassDef": {"body": true, "bases": true, "decorator_list": true, "keywords": true}, - "ListComp": {"generators": true}, - "ListComp.generators": {"ifs": true}, - "ListComp.generators.ifs": {"comparators": true, "ops": true}, }, PromotedPropertyStrings: map[string]map[string]bool{ "alias": {"asname": true}, diff --git a/native/python_package/requirements.txt b/native/python_package/requirements.txt index 74c8ef67..dccf0069 100644 --- a/native/python_package/requirements.txt +++ b/native/python_package/requirements.txt @@ -1,3 +1,3 @@ -pydetector-bblfsh==0.11.3 +pydetector-bblfsh==0.12.0 -e git+git://github.com/python/mypy.git@0bb2d1680e8b9522108b38d203cb73021a617e64#egg=mypy-lang typed-ast==1.0.1 diff --git a/native/python_package/setup.py b/native/python_package/setup.py index 5d45cedc..7411fb26 100644 --- a/native/python_package/setup.py +++ b/native/python_package/setup.py @@ -31,7 +31,7 @@ ] }, install_requires=[ - "pydetector-bblfsh==0.11.3" + "pydetector-bblfsh==0.12.0" ], classifiers=[ "Development Status :: 4 - Beta", diff --git a/tests/booleanop.py.uast b/tests/booleanop.py.uast index b29322e1..6121870c 100644 --- a/tests/booleanop.py.uast +++ b/tests/booleanop.py.uast @@ -31,7 +31,7 @@ Module { . . . } . . . Children: { . . . . 0: Compare { -. . . . . Roles: Unannotated +. . . . . Roles: BinaryExpression,Expression . . . . . StartPosition: { . . . . . . Offset: 0 . . . . . . Line: 1 @@ -47,7 +47,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -72,7 +72,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "1" . . . . . . . StartPosition: { . . . . . . . . Offset: 0 @@ -90,7 +90,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -132,7 +132,7 @@ Module { . . . } . . . Children: { . . . . 0: Compare { -. . . . . Roles: Unannotated +. . . . . Roles: BinaryExpression,Expression . . . . . StartPosition: { . . . . . . Offset: 7 . . . . . . Line: 2 @@ -148,7 +148,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -173,7 +173,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "1" . . . . . . . StartPosition: { . . . . . . . . Offset: 7 @@ -191,7 +191,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -304,7 +304,7 @@ Module { . . . } . . . Children: { . . . . 0: Compare { -. . . . . Roles: Unannotated +. . . . . Roles: BinaryExpression,Expression . . . . . StartPosition: { . . . . . . Offset: 20 . . . . . . Line: 4 @@ -320,7 +320,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -362,7 +362,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "1" . . . . . . . StartPosition: { . . . . . . . . Offset: 20 @@ -380,7 +380,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -436,7 +436,7 @@ Module { . . . } . . . Children: { . . . . 0: Compare { -. . . . . Roles: Unannotated +. . . . . Roles: BinaryExpression,Expression . . . . . StartPosition: { . . . . . . Offset: 32 . . . . . . Line: 5 @@ -452,7 +452,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -494,7 +494,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "1" . . . . . . . StartPosition: { . . . . . . . . Offset: 32 @@ -512,7 +512,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -568,7 +568,7 @@ Module { . . . } . . . Children: { . . . . 0: Compare { -. . . . . Roles: Unannotated +. . . . . Roles: BinaryExpression,Expression . . . . . StartPosition: { . . . . . . Offset: 42 . . . . . . Line: 6 @@ -584,7 +584,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -626,7 +626,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "1" . . . . . . . StartPosition: { . . . . . . . . Offset: 42 @@ -644,7 +644,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } diff --git a/tests/classdef.py.native b/tests/classdef.py.native index 516dc778..e0cd7fbc 100644 --- a/tests/classdef.py.native +++ b/tests/classdef.py.native @@ -160,13 +160,15 @@ { "ast_type": "Pass", "col_offset": 9, + "end_col_offset": 12, + "end_lineno": 7, "lineno": 7 } ], "col_offset": 9, "decorator_list": [], - "end_col_offset": 25, - "end_lineno": 6, + "end_col_offset": 12, + "end_lineno": 7, "lineno": 6, "name": "method", "returns": null @@ -280,7 +282,7 @@ "kw_defaults": [], "kwarg": null, "kwonlyargs": [], - "lineno": 13, + "lineno": 14, "vararg": null }, "ast_type": "FunctionDef", @@ -322,7 +324,7 @@ } } ], - "col_offset": 5, + "col_offset": 9, "decorator_list": [ { "ast_type": "Attribute", @@ -345,7 +347,7 @@ ], "end_col_offset": 22, "end_lineno": 15, - "lineno": 13, + "lineno": 14, "name": "a", "returns": null } diff --git a/tests/classdef.py.uast b/tests/classdef.py.uast index 3cfd8821..3ff24c8d 100644 --- a/tests/classdef.py.uast +++ b/tests/classdef.py.uast @@ -233,9 +233,9 @@ Module { . . . . . . . . Col: 9 . . . . . . . } . . . . . . . EndPosition: { -. . . . . . . . Offset: 97 -. . . . . . . . Line: 6 -. . . . . . . . Col: 25 +. . . . . . . . Offset: 112 +. . . . . . . . Line: 7 +. . . . . . . . Col: 12 . . . . . . . } . . . . . . . Properties: { . . . . . . . . returns: @@ -344,6 +344,11 @@ Module { . . . . . . . . . . . . Line: 7 . . . . . . . . . . . . Col: 9 . . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 112 +. . . . . . . . . . . . Line: 7 +. . . . . . . . . . . . Col: 12 +. . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . } . . . . . . . . } @@ -504,9 +509,9 @@ Module { . . . . . . . Roles: FunctionDeclaration,FunctionDeclarationName,SimpleIdentifier . . . . . . . TOKEN "a" . . . . . . . StartPosition: { -. . . . . . . . Offset: 170 -. . . . . . . . Line: 13 -. . . . . . . . Col: 5 +. . . . . . . . Offset: 188 +. . . . . . . . Line: 14 +. . . . . . . . Col: 9 . . . . . . . } . . . . . . . EndPosition: { . . . . . . . . Offset: 218 @@ -520,8 +525,8 @@ Module { . . . . . . . . 0: arguments { . . . . . . . . . Roles: FunctionDeclarationArgument,Incomplete . . . . . . . . . StartPosition: { -. . . . . . . . . . Offset: 177 -. . . . . . . . . . Line: 13 +. . . . . . . . . . Offset: 191 +. . . . . . . . . . Line: 14 . . . . . . . . . . Col: 12 . . . . . . . . . } . . . . . . . . . EndPosition: { diff --git a/tests/classdef_inheritance.py.native b/tests/classdef_inheritance.py.native index b26a618d..1c09ca6e 100644 --- a/tests/classdef_inheritance.py.native +++ b/tests/classdef_inheritance.py.native @@ -22,13 +22,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 7, "decorator_list": [], - "end_col_offset": 16, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "keywords": [], "lineno": 1, "name": "Dog" @@ -74,13 +76,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 5 } ], "col_offset": 7, "decorator_list": [], - "end_col_offset": 25, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "keywords": [], "lineno": 4, "name": "RobotDog" diff --git a/tests/classdef_inheritance.py.uast b/tests/classdef_inheritance.py.uast index eafaeb27..8fce6cf7 100644 --- a/tests/classdef_inheritance.py.uast +++ b/tests/classdef_inheritance.py.uast @@ -23,9 +23,9 @@ Module { . . . . Col: 7 . . . } . . . EndPosition: { -. . . . Offset: 15 -. . . . Line: 1 -. . . . Col: 16 +. . . . Offset: 26 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -70,6 +70,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 26 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } @@ -84,9 +89,9 @@ Module { . . . . Col: 7 . . . } . . . EndPosition: { -. . . . Offset: 53 -. . . . Line: 4 -. . . . Col: 25 +. . . . Offset: 64 +. . . . Line: 5 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -181,6 +186,11 @@ Module { . . . . . . . . Line: 5 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 64 +. . . . . . . . Line: 5 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } diff --git a/tests/classdef_metaclass_py3.py.native b/tests/classdef_metaclass_py3.py.native index 05ea0179..c2a32169 100644 --- a/tests/classdef_metaclass_py3.py.native +++ b/tests/classdef_metaclass_py3.py.native @@ -12,13 +12,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 7, "decorator_list": [], - "end_col_offset": 37, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "keywords": [ { "arg": "metaclass", @@ -73,13 +75,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 5 } ], "col_offset": 7, "decorator_list": [], - "end_col_offset": 50, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "keywords": [ { "arg": "metaclass", @@ -104,8 +108,8 @@ } ], "col_offset": 1, - "end_col_offset": 50, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 1 } } diff --git a/tests/classdef_metaclass_py3.py.uast b/tests/classdef_metaclass_py3.py.uast index efd5f876..23cd1016 100644 --- a/tests/classdef_metaclass_py3.py.uast +++ b/tests/classdef_metaclass_py3.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 99 -. . Line: 4 -. . Col: 50 +. . Offset: 110 +. . Line: 5 +. . Col: 8 . } . Children: { . . 0: ClassDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 7 . . . } . . . EndPosition: { -. . . . Offset: 36 -. . . . Line: 1 -. . . . Col: 37 +. . . . Offset: 47 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -45,17 +45,22 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 47 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } . . . . 1: ClassDef.keywords { -. . . . . Roles: Unannotated +. . . . . Roles: Incomplete . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } . . . . . Children: { . . . . . . 0: keyword { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: SimpleIdentifier,Incomplete . . . . . . . TOKEN "metaclass" . . . . . . . StartPosition: { . . . . . . . . Offset: 18 @@ -101,9 +106,9 @@ Module { . . . . Col: 7 . . . } . . . EndPosition: { -. . . . Offset: 99 -. . . . Line: 4 -. . . . Col: 50 +. . . . Offset: 110 +. . . . Line: 5 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -181,17 +186,22 @@ Module { . . . . . . . . Line: 5 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 110 +. . . . . . . . Line: 5 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } . . . . 2: ClassDef.keywords { -. . . . . Roles: Unannotated +. . . . . Roles: Incomplete . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } . . . . . Children: { . . . . . . 0: keyword { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: SimpleIdentifier,Incomplete . . . . . . . TOKEN "metaclass" . . . . . . . StartPosition: { . . . . . . . . Offset: 81 diff --git a/tests/comprehension_dict.py.uast b/tests/comprehension_dict.py.uast index 72fe87f8..e929ce34 100644 --- a/tests/comprehension_dict.py.uast +++ b/tests/comprehension_dict.py.uast @@ -31,7 +31,7 @@ Module { . . . } . . . Children: { . . . . 0: DictComp { -. . . . . Roles: Unannotated +. . . . . Roles: MapLiteral,Expression,Incomplete . . . . . StartPosition: { . . . . . . Offset: 0 . . . . . . Line: 1 @@ -64,7 +64,7 @@ Module { . . . . . . . } . . . . . . . Children: { . . . . . . . . 0: Compare { -. . . . . . . . . Roles: IfCondition,BinaryExpression +. . . . . . . . . Roles: BinaryExpression,Expression,IfCondition,BinaryExpression . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 29 . . . . . . . . . . Line: 1 @@ -105,7 +105,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft +. . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft,BinaryExpressionLeft . . . . . . . . . . . TOKEN "n" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 29 @@ -123,7 +123,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 2: Compare.ops { -. . . . . . . . . . . Roles: BinaryExpressionOp +. . . . . . . . . . . Roles: BinaryExpressionOp,BinaryExpressionOp . . . . . . . . . . . Properties: { . . . . . . . . . . . . promotedPropertyList: true . . . . . . . . . . . } diff --git a/tests/comprehension_list.py.uast b/tests/comprehension_list.py.uast index 2da613c9..8deee40e 100644 --- a/tests/comprehension_list.py.uast +++ b/tests/comprehension_list.py.uast @@ -117,18 +117,29 @@ Module { . . . . . . . . } . . . . . . . } . . . . . . } -. . . . . . 1: ListComp.generators { -. . . . . . . Roles: Unannotated +. . . . . . 1: comprehension { +. . . . . . . Roles: ForEach,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 1 +. . . . . . . . Line: 1 +. . . . . . . . Col: 2 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 28 +. . . . . . . . Line: 1 +. . . . . . . . Col: 29 +. . . . . . . } . . . . . . . Properties: { -. . . . . . . . promotedPropertyList: true +. . . . . . . . internalRole: generators +. . . . . . . . is_async: 0 . . . . . . . } . . . . . . . Children: { -. . . . . . . . 0: comprehension { -. . . . . . . . . Roles: ForEach,Expression +. . . . . . . . 0: Compare { +. . . . . . . . . Roles: BinaryExpression,Expression,IfCondition,BinaryExpression . . . . . . . . . StartPosition: { -. . . . . . . . . . Offset: 1 +. . . . . . . . . . Offset: 26 . . . . . . . . . . Line: 1 -. . . . . . . . . . Col: 2 +. . . . . . . . . . Col: 27 . . . . . . . . . } . . . . . . . . . EndPosition: { . . . . . . . . . . Offset: 28 @@ -136,130 +147,112 @@ Module { . . . . . . . . . . Col: 29 . . . . . . . . . } . . . . . . . . . Properties: { -. . . . . . . . . . is_async: 0 +. . . . . . . . . . internalRole: ifs . . . . . . . . . } . . . . . . . . . Children: { -. . . . . . . . . . 0: Compare { -. . . . . . . . . . . Roles: IfCondition,BinaryExpression -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 26 -. . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 27 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 28 -. . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 29 -. . . . . . . . . . . } +. . . . . . . . . . 0: Compare.comparators { +. . . . . . . . . . . Roles: BinaryExpressionRight . . . . . . . . . . . Properties: { -. . . . . . . . . . . . internalRole: ifs +. . . . . . . . . . . . promotedPropertyList: true . . . . . . . . . . . } . . . . . . . . . . . Children: { -. . . . . . . . . . . . 0: Compare.comparators { -. . . . . . . . . . . . . Roles: BinaryExpressionRight -. . . . . . . . . . . . . Properties: { -. . . . . . . . . . . . . . promotedPropertyList: true -. . . . . . . . . . . . . } -. . . . . . . . . . . . . Children: { -. . . . . . . . . . . . . . 0: NumLiteral { -. . . . . . . . . . . . . . . Roles: NumberLiteral,Expression -. . . . . . . . . . . . . . . TOKEN "2" -. . . . . . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . . . . . Offset: 28 -. . . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . . . Col: 29 -. . . . . . . . . . . . . . . } -. . . . . . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . . . . . Offset: 28 -. . . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . . . Col: 29 -. . . . . . . . . . . . . . . } -. . . . . . . . . . . . . . . Properties: { -. . . . . . . . . . . . . . . . NumType: int -. . . . . . . . . . . . . . . } -. . . . . . . . . . . . . . } -. . . . . . . . . . . . . } -. . . . . . . . . . . . } -. . . . . . . . . . . . 1: Name { -. . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft -. . . . . . . . . . . . . TOKEN "i" +. . . . . . . . . . . . 0: NumLiteral { +. . . . . . . . . . . . . Roles: NumberLiteral,Expression +. . . . . . . . . . . . . TOKEN "2" . . . . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . . . Offset: 26 +. . . . . . . . . . . . . . Offset: 28 . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . Col: 27 +. . . . . . . . . . . . . . Col: 29 . . . . . . . . . . . . . } . . . . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . . . Offset: 26 +. . . . . . . . . . . . . . Offset: 28 . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . Col: 27 +. . . . . . . . . . . . . . Col: 29 . . . . . . . . . . . . . } . . . . . . . . . . . . . Properties: { -. . . . . . . . . . . . . . ctx: Load -. . . . . . . . . . . . . . internalRole: left -. . . . . . . . . . . . . } -. . . . . . . . . . . . } -. . . . . . . . . . . . 2: Compare.ops { -. . . . . . . . . . . . . Roles: BinaryExpressionOp -. . . . . . . . . . . . . Properties: { -. . . . . . . . . . . . . . promotedPropertyList: true -. . . . . . . . . . . . . } -. . . . . . . . . . . . . Children: { -. . . . . . . . . . . . . . 0: Gt { -. . . . . . . . . . . . . . . Roles: OpGreaterThan -. . . . . . . . . . . . . . . TOKEN ">" -. . . . . . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . . . . . Offset: 27 -. . . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . . . Col: 28 -. . . . . . . . . . . . . . . } -. . . . . . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . . . . . Offset: 27 -. . . . . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . . . . . Col: 28 -. . . . . . . . . . . . . . . } -. . . . . . . . . . . . . . } +. . . . . . . . . . . . . . NumType: int . . . . . . . . . . . . . } . . . . . . . . . . . . } . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement -. . . . . . . . . . . TOKEN "somelist" +. . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft,BinaryExpressionLeft +. . . . . . . . . . . TOKEN "i" . . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 14 +. . . . . . . . . . . . Offset: 26 . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 15 +. . . . . . . . . . . . Col: 27 . . . . . . . . . . . } . . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 21 +. . . . . . . . . . . . Offset: 26 . . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 22 +. . . . . . . . . . . . Col: 27 . . . . . . . . . . . } . . . . . . . . . . . Properties: { . . . . . . . . . . . . ctx: Load -. . . . . . . . . . . . internalRole: iter +. . . . . . . . . . . . internalRole: left . . . . . . . . . . . } . . . . . . . . . . } -. . . . . . . . . . 2: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression -. . . . . . . . . . . TOKEN "i" -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 9 -. . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 10 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 9 -. . . . . . . . . . . . Line: 1 -. . . . . . . . . . . . Col: 10 -. . . . . . . . . . . } +. . . . . . . . . . 2: Compare.ops { +. . . . . . . . . . . Roles: BinaryExpressionOp,BinaryExpressionOp . . . . . . . . . . . Properties: { -. . . . . . . . . . . . ctx: Store -. . . . . . . . . . . . internalRole: target +. . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: Gt { +. . . . . . . . . . . . . Roles: OpGreaterThan +. . . . . . . . . . . . . TOKEN ">" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 27 +. . . . . . . . . . . . . . Line: 1 +. . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 27 +. . . . . . . . . . . . . . Line: 1 +. . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . } +. . . . . . . . . . . . } . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . } . . . . . . . . } +. . . . . . . . 1: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement +. . . . . . . . . TOKEN "somelist" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 14 +. . . . . . . . . . Line: 1 +. . . . . . . . . . Col: 15 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 21 +. . . . . . . . . . Line: 1 +. . . . . . . . . . Col: 22 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Load +. . . . . . . . . . internalRole: iter +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 2: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression +. . . . . . . . . TOKEN "i" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 9 +. . . . . . . . . . Line: 1 +. . . . . . . . . . Col: 10 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 9 +. . . . . . . . . . Line: 1 +. . . . . . . . . . Col: 10 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: target +. . . . . . . . . } +. . . . . . . . } . . . . . . . } . . . . . . } . . . . . } @@ -369,18 +362,30 @@ Module { . . . . . . . . } . . . . . . . } . . . . . . } -. . . . . . 1: ListComp.generators { -. . . . . . . Roles: Unannotated +. . . . . . 1: comprehension { +. . . . . . . Roles: ForEach,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 32 +. . . . . . . . Line: 2 +. . . . . . . . Col: 2 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 58 +. . . . . . . . Line: 2 +. . . . . . . . Col: 28 +. . . . . . . } . . . . . . . Properties: { -. . . . . . . . promotedPropertyList: true +. . . . . . . . internalRole: generators +. . . . . . . . is_async: 0 . . . . . . . } . . . . . . . Children: { -. . . . . . . . 0: comprehension { -. . . . . . . . . Roles: ForEach,Expression +. . . . . . . . 0: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement +. . . . . . . . . TOKEN "somelist" . . . . . . . . . StartPosition: { -. . . . . . . . . . Offset: 32 +. . . . . . . . . . Offset: 51 . . . . . . . . . . Line: 2 -. . . . . . . . . . Col: 2 +. . . . . . . . . . Col: 21 . . . . . . . . . } . . . . . . . . . EndPosition: { . . . . . . . . . . Offset: 58 @@ -388,53 +393,54 @@ Module { . . . . . . . . . . Col: 28 . . . . . . . . . } . . . . . . . . . Properties: { -. . . . . . . . . . is_async: 0 +. . . . . . . . . . ctx: Load +. . . . . . . . . . internalRole: iter . . . . . . . . . } -. . . . . . . . . Children: { -. . . . . . . . . . 0: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement -. . . . . . . . . . . TOKEN "somelist" -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 51 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 21 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 58 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 28 -. . . . . . . . . . . } -. . . . . . . . . . . Properties: { -. . . . . . . . . . . . ctx: Load -. . . . . . . . . . . . internalRole: iter -. . . . . . . . . . . } -. . . . . . . . . . } -. . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression -. . . . . . . . . . . TOKEN "sublist" -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 40 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 10 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 46 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 16 -. . . . . . . . . . . } -. . . . . . . . . . . Properties: { -. . . . . . . . . . . . ctx: Store -. . . . . . . . . . . . internalRole: target -. . . . . . . . . . . } -. . . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression +. . . . . . . . . TOKEN "sublist" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 40 +. . . . . . . . . . Line: 2 +. . . . . . . . . . Col: 10 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 46 +. . . . . . . . . . Line: 2 +. . . . . . . . . . Col: 16 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: target . . . . . . . . . } . . . . . . . . } -. . . . . . . . 1: comprehension { -. . . . . . . . . Roles: ForEach,Expression +. . . . . . . } +. . . . . . } +. . . . . . 2: comprehension { +. . . . . . . Roles: ForEach,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 51 +. . . . . . . . Line: 2 +. . . . . . . . Col: 21 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 75 +. . . . . . . . Line: 2 +. . . . . . . . Col: 45 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . internalRole: generators +. . . . . . . . is_async: 0 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement +. . . . . . . . . TOKEN "sublist" . . . . . . . . . StartPosition: { -. . . . . . . . . . Offset: 51 +. . . . . . . . . . Offset: 69 . . . . . . . . . . Line: 2 -. . . . . . . . . . Col: 21 +. . . . . . . . . . Col: 39 . . . . . . . . . } . . . . . . . . . EndPosition: { . . . . . . . . . . Offset: 75 @@ -442,45 +448,26 @@ Module { . . . . . . . . . . Col: 45 . . . . . . . . . } . . . . . . . . . Properties: { -. . . . . . . . . . is_async: 0 +. . . . . . . . . . ctx: Load +. . . . . . . . . . internalRole: iter . . . . . . . . . } -. . . . . . . . . Children: { -. . . . . . . . . . 0: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate,Statement -. . . . . . . . . . . TOKEN "sublist" -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 69 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 39 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 75 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 45 -. . . . . . . . . . . } -. . . . . . . . . . . Properties: { -. . . . . . . . . . . . ctx: Load -. . . . . . . . . . . . internalRole: iter -. . . . . . . . . . . } -. . . . . . . . . . } -. . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression -. . . . . . . . . . . TOKEN "i" -. . . . . . . . . . . StartPosition: { -. . . . . . . . . . . . Offset: 64 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 34 -. . . . . . . . . . . } -. . . . . . . . . . . EndPosition: { -. . . . . . . . . . . . Offset: 64 -. . . . . . . . . . . . Line: 2 -. . . . . . . . . . . . Col: 34 -. . . . . . . . . . . } -. . . . . . . . . . . Properties: { -. . . . . . . . . . . . ctx: Store -. . . . . . . . . . . . internalRole: target -. . . . . . . . . . . } -. . . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: Name { +. . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression +. . . . . . . . . TOKEN "i" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 64 +. . . . . . . . . . Line: 2 +. . . . . . . . . . Col: 34 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 64 +. . . . . . . . . . Line: 2 +. . . . . . . . . . Col: 34 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: target . . . . . . . . . } . . . . . . . . } . . . . . . . } diff --git a/tests/comprehension_set.py.uast b/tests/comprehension_set.py.uast index da873f46..407d0dd4 100644 --- a/tests/comprehension_set.py.uast +++ b/tests/comprehension_set.py.uast @@ -31,7 +31,7 @@ Module { . . . } . . . Children: { . . . . 0: SetComp { -. . . . . Roles: MapLiteral,Expression,Incomplete,SetLiteral,Expression,Incomplete +. . . . . Roles: SetLiteral,Expression,Incomplete . . . . . StartPosition: { . . . . . . Offset: 0 . . . . . . Line: 1 @@ -135,7 +135,7 @@ Module { . . . . . . . } . . . . . . . Children: { . . . . . . . . 0: Compare { -. . . . . . . . . Roles: IfCondition,BinaryExpression +. . . . . . . . . Roles: BinaryExpression,Expression,IfCondition,BinaryExpression . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 26 . . . . . . . . . . Line: 1 @@ -176,7 +176,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 1: Name { -. . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft +. . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft,BinaryExpressionLeft . . . . . . . . . . . TOKEN "n" . . . . . . . . . . . StartPosition: { . . . . . . . . . . . . Offset: 26 @@ -194,7 +194,7 @@ Module { . . . . . . . . . . . } . . . . . . . . . . } . . . . . . . . . . 2: Compare.ops { -. . . . . . . . . . . Roles: BinaryExpressionOp +. . . . . . . . . . . Roles: BinaryExpressionOp,BinaryExpressionOp . . . . . . . . . . . Properties: { . . . . . . . . . . . . promotedPropertyList: true . . . . . . . . . . . } diff --git a/tests/except.py.uast b/tests/except.py.uast index 652b7a73..1c5dd8f2 100644 --- a/tests/except.py.uast +++ b/tests/except.py.uast @@ -31,7 +31,7 @@ Module { . . . } . . . Children: { . . . . 0: Try.body { -. . . . . Roles: Unannotated +. . . . . Roles: TryBody . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } @@ -161,7 +161,7 @@ Module { . . . . . } . . . . } . . . . 1: Try.finalbody { -. . . . . Roles: Unannotated +. . . . . Roles: TryFinally . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } @@ -237,7 +237,7 @@ Module { . . . . . } . . . . } . . . . 2: Try.handlers { -. . . . . Roles: Unannotated +. . . . . Roles: TryCatch . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } diff --git a/tests/functiondef_annotated.py.native b/tests/functiondef_annotated.py.native index 35a3efa8..0c984da5 100644 --- a/tests/functiondef_annotated.py.native +++ b/tests/functiondef_annotated.py.native @@ -76,13 +76,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 57, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1, "name": "someFunc", "returns": { @@ -97,8 +99,8 @@ } ], "col_offset": 1, - "end_col_offset": 57, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1 } } diff --git a/tests/functiondef_annotated.py.uast b/tests/functiondef_annotated.py.uast index 25030723..d7293287 100644 --- a/tests/functiondef_annotated.py.uast +++ b/tests/functiondef_annotated.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 56 -. . Line: 1 -. . Col: 57 +. . Offset: 66 +. . Line: 2 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 56 -. . . . Line: 1 -. . . . Col: 57 +. . . . Offset: 66 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -176,6 +176,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 66 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } diff --git a/tests/functiondef_defaultparams.py.native b/tests/functiondef_defaultparams.py.native index d4312c35..3cc02d57 100644 --- a/tests/functiondef_defaultparams.py.native +++ b/tests/functiondef_defaultparams.py.native @@ -96,21 +96,23 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 59, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1, "name": "someFunc", "returns": null } ], "col_offset": 1, - "end_col_offset": 59, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1 } } diff --git a/tests/functiondef_defaultparams.py.uast b/tests/functiondef_defaultparams.py.uast index a0042437..8afa99b6 100644 --- a/tests/functiondef_defaultparams.py.uast +++ b/tests/functiondef_defaultparams.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 58 -. . Line: 1 -. . Col: 59 +. . Offset: 69 +. . Line: 2 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 58 -. . . . Line: 1 -. . . . Col: 59 +. . . . Offset: 69 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -209,6 +209,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 69 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } diff --git a/tests/functiondef_docstring.py.native b/tests/functiondef_docstring.py.native index f89d7b11..be08847d 100644 --- a/tests/functiondef_docstring.py.native +++ b/tests/functiondef_docstring.py.native @@ -37,6 +37,8 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 5 }, { @@ -48,16 +50,16 @@ ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 7, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 1, "name": "someFunc", "returns": null } ], "col_offset": 1, - "end_col_offset": 7, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 1 } } diff --git a/tests/functiondef_docstring.py.uast b/tests/functiondef_docstring.py.uast index 063bc4b0..204ef921 100644 --- a/tests/functiondef_docstring.py.uast +++ b/tests/functiondef_docstring.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 60 -. . Line: 4 -. . Col: 7 +. . Offset: 69 +. . Line: 5 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 60 -. . . . Line: 4 -. . . . Col: 7 +. . . . Offset: 69 +. . . . Line: 5 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -93,6 +93,11 @@ Module { . . . . . . . . Line: 5 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 69 +. . . . . . . . Line: 5 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . . 2: Return { . . . . . . . Roles: Return,Statement diff --git a/tests/functiondef_kwarg.py.native b/tests/functiondef_kwarg.py.native index 78d49a23..15131470 100644 --- a/tests/functiondef_kwarg.py.native +++ b/tests/functiondef_kwarg.py.native @@ -51,13 +51,15 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 39, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1, "name": "someFunc", "returns": null @@ -131,21 +133,23 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 5 } ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 56, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 4, "name": "someVarMapFunc", "returns": null } ], "col_offset": 1, - "end_col_offset": 56, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 5, "lineno": 1 } } diff --git a/tests/functiondef_kwarg.py.uast b/tests/functiondef_kwarg.py.uast index f78f8bf2..83be0388 100644 --- a/tests/functiondef_kwarg.py.uast +++ b/tests/functiondef_kwarg.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 107 -. . Line: 4 -. . Col: 56 +. . Offset: 118 +. . Line: 5 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 38 -. . . . Line: 1 -. . . . Col: 39 +. . . . Offset: 49 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -119,6 +119,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 49 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } @@ -133,9 +138,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 107 -. . . . Line: 4 -. . . . Col: 56 +. . . . Offset: 118 +. . . . Line: 5 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -279,6 +284,11 @@ Module { . . . . . . . . Line: 5 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 118 +. . . . . . . . Line: 5 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } diff --git a/tests/functiondef_simple.py.native b/tests/functiondef_simple.py.native index 7af63de1..44ca7de3 100644 --- a/tests/functiondef_simple.py.native +++ b/tests/functiondef_simple.py.native @@ -52,6 +52,8 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 }, { @@ -242,21 +244,23 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 9, "lineno": 9 } ], "col_offset": 11, "decorator_list": [], - "end_col_offset": 24, - "end_lineno": 8, + "end_col_offset": 8, + "end_lineno": 9, "lineno": 8, "name": "asyncfunc", "returns": null } ], "col_offset": 1, - "end_col_offset": 24, - "end_lineno": 8, + "end_col_offset": 8, + "end_lineno": 9, "lineno": 1 } } diff --git a/tests/functiondef_simple.py.uast b/tests/functiondef_simple.py.uast index 09f75525..1fb5d401 100644 --- a/tests/functiondef_simple.py.uast +++ b/tests/functiondef_simple.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 128 -. . Line: 8 -. . Col: 24 +. . Offset: 139 +. . Line: 9 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -120,6 +120,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 39 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . . 1: Return { . . . . . . . Roles: Return,Statement @@ -408,9 +413,9 @@ Module { . . . . Col: 11 . . . } . . . EndPosition: { -. . . . Offset: 128 -. . . . Line: 8 -. . . . Col: 24 +. . . . Offset: 139 +. . . . Line: 9 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -496,6 +501,11 @@ Module { . . . . . . Line: 9 . . . . . . Col: 5 . . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 139 +. . . . . . Line: 9 +. . . . . . Col: 8 +. . . . . } . . . . . Properties: { . . . . . . internalRole: body . . . . . } diff --git a/tests/functiondef_vararg.py.native b/tests/functiondef_vararg.py.native index 9a07c006..681f9ca7 100644 --- a/tests/functiondef_vararg.py.native +++ b/tests/functiondef_vararg.py.native @@ -51,6 +51,8 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 }, { @@ -62,16 +64,16 @@ ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 35, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1, "name": "someFunc", "returns": null } ], "col_offset": 1, - "end_col_offset": 35, - "end_lineno": 1, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 1 } } diff --git a/tests/functiondef_vararg.py.uast b/tests/functiondef_vararg.py.uast index c829cf24..cb10a5ce 100644 --- a/tests/functiondef_vararg.py.uast +++ b/tests/functiondef_vararg.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 34 -. . Line: 1 -. . Col: 35 +. . Offset: 45 +. . Line: 2 +. . Col: 8 . } . Children: { . . 0: FunctionDef { @@ -23,9 +23,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 34 -. . . . Line: 1 -. . . . Col: 35 +. . . . Offset: 45 +. . . . Line: 2 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -119,6 +119,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 45 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . . 1: Return { . . . . . . . Roles: Return,Statement diff --git a/tests/if.py.native b/tests/if.py.native index 3d943911..ed833875 100644 --- a/tests/if.py.native +++ b/tests/if.py.native @@ -411,12 +411,14 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 18, "lineno": 18 } ], "col_offset": 1, - "end_col_offset": 16, - "end_lineno": 17, + "end_col_offset": 8, + "end_lineno": 18, "lineno": 17, "orelse": [], "test": { @@ -505,8 +507,8 @@ } ], "col_offset": 1, - "end_col_offset": 16, - "end_lineno": 17, + "end_col_offset": 8, + "end_lineno": 18, "lineno": 1 } } diff --git a/tests/if.py.uast b/tests/if.py.uast index 9a56be7d..b05f2780 100644 --- a/tests/if.py.uast +++ b/tests/if.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 179 -. . Line: 17 -. . Col: 16 +. . Offset: 189 +. . Line: 18 +. . Col: 8 . } . Children: { . . 0: If { @@ -654,7 +654,7 @@ Module { . . . . . . . . . } . . . . . . . . } . . . . . . . . 2: Compare { -. . . . . . . . . Roles: IfCondition,BinaryExpression,Expression +. . . . . . . . . Roles: BinaryExpression,Expression,IfCondition . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 101 . . . . . . . . . . Line: 10 @@ -741,7 +741,7 @@ Module { . . . . . } . . . . } . . . . 2: Compare { -. . . . . Roles: IfCondition,BinaryExpression,Expression +. . . . . Roles: BinaryExpression,Expression,IfCondition . . . . . StartPosition: { . . . . . . Offset: 65 . . . . . . Line: 7 @@ -866,9 +866,9 @@ Module { . . . . Col: 1 . . . } . . . EndPosition: { -. . . . Offset: 179 -. . . . Line: 17 -. . . . Col: 16 +. . . . Offset: 189 +. . . . Line: 18 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -888,11 +888,16 @@ Module { . . . . . . . . Line: 18 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 189 +. . . . . . . . Line: 18 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } . . . . 1: Compare { -. . . . . Roles: IfCondition,BinaryExpression,Expression +. . . . . Roles: BinaryExpression,Expression,IfCondition . . . . . StartPosition: { . . . . . . Offset: 167 . . . . . . Line: 17 diff --git a/tests/ifexpression.py.uast b/tests/ifexpression.py.uast index 3e4f7d3f..64152e7a 100644 --- a/tests/ifexpression.py.uast +++ b/tests/ifexpression.py.uast @@ -101,7 +101,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare { -. . . . . . . Roles: IfCondition +. . . . . . . Roles: BinaryExpression,Expression,IfCondition . . . . . . . StartPosition: { . . . . . . . . Offset: 9 . . . . . . . . Line: 1 @@ -117,7 +117,7 @@ Module { . . . . . . . } . . . . . . . Children: { . . . . . . . . 0: Compare.comparators { -. . . . . . . . . Roles: Unannotated +. . . . . . . . . Roles: BinaryExpressionRight . . . . . . . . . Properties: { . . . . . . . . . . promotedPropertyList: true . . . . . . . . . } @@ -142,7 +142,7 @@ Module { . . . . . . . . . } . . . . . . . . } . . . . . . . . 1: NumLiteral { -. . . . . . . . . Roles: NumberLiteral,Expression +. . . . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . . . TOKEN "3" . . . . . . . . . StartPosition: { . . . . . . . . . . Offset: 9 @@ -160,7 +160,7 @@ Module { . . . . . . . . . } . . . . . . . . } . . . . . . . . 2: Compare.ops { -. . . . . . . . . Roles: Unannotated +. . . . . . . . . Roles: BinaryExpressionOp . . . . . . . . . Properties: { . . . . . . . . . . promotedPropertyList: true . . . . . . . . . } diff --git a/tests/import.py.uast b/tests/import.py.uast index 44239a7d..1c003211 100644 --- a/tests/import.py.uast +++ b/tests/import.py.uast @@ -30,29 +30,22 @@ Module { . . . . internalRole: body . . . } . . . Children: { -. . . . 0: Import.names { -. . . . . Roles: Unannotated +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "sys" +. . . . . StartPosition: { +. . . . . . Offset: 7 +. . . . . . Line: 1 +. . . . . . Col: 8 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 9 +. . . . . . Line: 1 +. . . . . . Col: 10 +. . . . . } . . . . . Properties: { -. . . . . . promotedPropertyList: true -. . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "sys" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 7 -. . . . . . . . Line: 1 -. . . . . . . . Col: 8 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 9 -. . . . . . . . Line: 1 -. . . . . . . . Col: 10 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . } @@ -73,46 +66,40 @@ Module { . . . . internalRole: body . . . } . . . Children: { -. . . . 0: Import.names { -. . . . . Roles: Unannotated +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "sys" +. . . . . StartPosition: { +. . . . . . Offset: 18 +. . . . . . Line: 2 +. . . . . . Col: 8 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 20 +. . . . . . Line: 2 +. . . . . . Col: 10 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names +. . . . . } +. . . . } +. . . . 1: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "os" +. . . . . StartPosition: { +. . . . . . Offset: 23 +. . . . . . Line: 2 +. . . . . . Col: 13 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 24 +. . . . . . Line: 2 +. . . . . . Col: 14 +. . . . . } . . . . . Properties: { -. . . . . . promotedPropertyList: true -. . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "sys" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 18 -. . . . . . . . Line: 2 -. . . . . . . . Col: 8 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 20 -. . . . . . . . Line: 2 -. . . . . . . . Col: 10 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } -. . . . . . 1: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "os" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 23 -. . . . . . . . Line: 2 -. . . . . . . . Col: 13 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 24 -. . . . . . . . Line: 2 -. . . . . . . . Col: 14 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . } @@ -135,29 +122,22 @@ Module { . . . . level: 0 . . . } . . . Children: { -. . . . 0: ImportFrom.names { -. . . . . Roles: Unannotated +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "path" +. . . . . StartPosition: { +. . . . . . Offset: 41 +. . . . . . Line: 3 +. . . . . . Col: 16 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 44 +. . . . . . Line: 3 +. . . . . . Col: 19 +. . . . . } . . . . . Properties: { -. . . . . . promotedPropertyList: true -. . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "path" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 41 -. . . . . . . . Line: 3 -. . . . . . . . Col: 16 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 44 -. . . . . . . . Line: 3 -. . . . . . . . Col: 19 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . . 1: ImportFrom.module { @@ -187,49 +167,43 @@ Module { . . . . level: 0 . . . } . . . Children: { -. . . . 0: ImportFrom.names { -. . . . . Roles: Unannotated +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "join" +. . . . . StartPosition: { +. . . . . . Offset: 66 +. . . . . . Line: 4 +. . . . . . Col: 21 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 69 +. . . . . . Line: 4 +. . . . . . Col: 24 +. . . . . } . . . . . Properties: { -. . . . . . promotedPropertyList: true -. . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "join" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 66 -. . . . . . . . Line: 4 -. . . . . . . . Col: 21 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 69 -. . . . . . . . Line: 4 -. . . . . . . . Col: 24 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } -. . . . . . 1: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "exists" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 72 -. . . . . . . . Line: 4 -. . . . . . . . Col: 27 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 77 -. . . . . . . . Line: 4 -. . . . . . . . Col: 32 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } -. . . . 1: ImportFrom.module { +. . . . 1: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "exists" +. . . . . StartPosition: { +. . . . . . Offset: 72 +. . . . . . Line: 4 +. . . . . . Col: 27 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 77 +. . . . . . Line: 4 +. . . . . . Col: 32 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names +. . . . . } +. . . . } +. . . . 2: ImportFrom.module { . . . . . Roles: ImportPath,SimpleIdentifier . . . . . TOKEN "os.path" . . . . . Properties: { diff --git a/tests/issue30.py.uast b/tests/issue30.py.uast index 5857553f..63ab6ae4 100644 --- a/tests/issue30.py.uast +++ b/tests/issue30.py.uast @@ -30,29 +30,22 @@ Module { . . . . internalRole: body . . . } . . . Children: { -. . . . 0: Import.names { -. . . . . Roles: Unannotated -. . . . . Properties: { -. . . . . . promotedPropertyList: true +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "sys" +. . . . . StartPosition: { +. . . . . . Offset: 7 +. . . . . . Line: 1 +. . . . . . Col: 8 . . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "sys" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 7 -. . . . . . . . Line: 1 -. . . . . . . . Col: 8 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 9 -. . . . . . . . Line: 1 -. . . . . . . . Col: 10 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 9 +. . . . . . Line: 1 +. . . . . . Col: 10 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . } diff --git a/tests/issue62.py.uast b/tests/issue62.py.uast index e1af2879..e5fa8ba6 100644 --- a/tests/issue62.py.uast +++ b/tests/issue62.py.uast @@ -32,29 +32,22 @@ Module { . . . . level: 0 . . . } . . . Children: { -. . . . 0: ImportFrom.names { -. . . . . Roles: Unannotated -. . . . . Properties: { -. . . . . . promotedPropertyList: true +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "path" +. . . . . StartPosition: { +. . . . . . Offset: 15 +. . . . . . Line: 1 +. . . . . . Col: 16 . . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "path" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 15 -. . . . . . . . Line: 1 -. . . . . . . . Col: 16 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 18 -. . . . . . . . Line: 1 -. . . . . . . . Col: 19 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 18 +. . . . . . Line: 1 +. . . . . . Col: 19 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . . 1: ImportFrom.module { @@ -82,29 +75,22 @@ Module { . . . . internalRole: body . . . } . . . Children: { -. . . . 0: Import.names { -. . . . . Roles: Unannotated -. . . . . Properties: { -. . . . . . promotedPropertyList: true +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "sys" +. . . . . StartPosition: { +. . . . . . Offset: 27 +. . . . . . Line: 2 +. . . . . . Col: 8 . . . . . } -. . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "sys" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 27 -. . . . . . . . Line: 2 -. . . . . . . . Col: 8 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 29 -. . . . . . . . Line: 2 -. . . . . . . . Col: 10 -. . . . . . . } -. . . . . . . Properties: { -. . . . . . . . asname: -. . . . . . . } -. . . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 29 +. . . . . . Line: 2 +. . . . . . Col: 10 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names . . . . . } . . . . } . . . } @@ -125,36 +111,29 @@ Module { . . . . internalRole: body . . . } . . . Children: { -. . . . 0: Import.names { -. . . . . Roles: Unannotated +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "numpy" +. . . . . StartPosition: { +. . . . . . Offset: 39 +. . . . . . Line: 4 +. . . . . . Col: 8 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 43 +. . . . . . Line: 4 +. . . . . . Col: 12 +. . . . . } . . . . . Properties: { -. . . . . . promotedPropertyList: true +. . . . . . asname: np +. . . . . . internalRole: names . . . . . } . . . . . Children: { -. . . . . . 0: alias { -. . . . . . . Roles: ImportPath,SimpleIdentifier -. . . . . . . TOKEN "numpy" -. . . . . . . StartPosition: { -. . . . . . . . Offset: 39 -. . . . . . . . Line: 4 -. . . . . . . . Col: 8 -. . . . . . . } -. . . . . . . EndPosition: { -. . . . . . . . Offset: 43 -. . . . . . . . Line: 4 -. . . . . . . . Col: 12 -. . . . . . . } +. . . . . . 0: alias.asname { +. . . . . . . Roles: ImportAlias,SimpleIdentifier +. . . . . . . TOKEN "np" . . . . . . . Properties: { -. . . . . . . . asname: np -. . . . . . . } -. . . . . . . Children: { -. . . . . . . . 0: alias.asname { -. . . . . . . . . Roles: ImportAlias,SimpleIdentifier -. . . . . . . . . TOKEN "np" -. . . . . . . . . Properties: { -. . . . . . . . . . promotedPropertyString: true -. . . . . . . . . } -. . . . . . . . } +. . . . . . . . promotedPropertyString: true . . . . . . . } . . . . . . } . . . . . } diff --git a/tests/issue62_b.py.native b/tests/issue62_b.py.native new file mode 100644 index 00000000..8b928528 --- /dev/null +++ b/tests/issue62_b.py.native @@ -0,0 +1,1076 @@ +{ + "status": "ok", + "errors": [], + "ast": { + "PY3AST": { + "ast_type": "Module", + "body": [ + { + "ast_type": "ImportFrom", + "col_offset": 6, + "end_col_offset": 31, + "end_lineno": 1, + "level": 0, + "lineno": 1, + "module": "collections", + "names": [ + { + "asname": null, + "ast_type": "alias", + "col_offset": 25, + "end_col_offset": 31, + "end_lineno": 1, + "lineno": 1, + "name": "Counter" + } + ] + }, + { + "ast_type": "ImportFrom", + "col_offset": 1, + "end_col_offset": 50, + "end_lineno": 3, + "level": 0, + "lineno": 3, + "module": "ast2vec.bblfsh_roles", + "names": [ + { + "asname": null, + "ast_type": "alias", + "col_offset": 34, + "end_col_offset": 50, + "end_lineno": 3, + "lineno": 3, + "name": "SIMPLE_IDENTIFIER" + } + ], + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 2, + "lineno": 2, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 2, + "noop_line": "\n" + } + ] + } + }, + { + "ast_type": "ImportFrom", + "col_offset": 1, + "end_col_offset": 40, + "end_lineno": 4, + "level": 0, + "lineno": 4, + "module": "ast2vec.repo2.base", + "names": [ + { + "asname": null, + "ast_type": "alias", + "col_offset": 32, + "end_col_offset": 40, + "end_lineno": 4, + "lineno": 4, + "name": "Repo2Base" + } + ] + }, + { + "ast_type": "ClassDef", + "bases": [], + "body": [ + { + "ast_type": "Assign", + "col_offset": 5, + "end_col_offset": 25, + "end_lineno": 8, + "lineno": 8, + "targets": [ + { + "ast_type": "Name", + "col_offset": 5, + "ctx": "Store", + "end_col_offset": 8, + "end_lineno": 8, + "id": "NAME", + "lineno": 8, + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 6, + "lineno": 5, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 5, + "noop_line": "\n" + }, + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 6, + "noop_line": "\n" + } + ] + } + } + ], + "value": { + "LiteralValue": "Repo2IdModel", + "ast_type": "StringLiteral", + "col_offset": 12, + "end_col_offset": 25, + "end_lineno": 8, + "lineno": 8 + } + } + ], + "col_offset": 7, + "decorator_list": [], + "end_col_offset": 25, + "end_lineno": 8, + "keywords": [], + "lineno": 7, + "name": "Repo2IdModel" + }, + { + "ast_type": "ClassDef", + "bases": [ + { + "ast_type": "Name", + "col_offset": 22, + "ctx": "Load", + "end_col_offset": 30, + "end_lineno": 11, + "id": "Repo2Base", + "lineno": 11, + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 10, + "lineno": 9, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 9, + "noop_line": "\n" + }, + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 10, + "noop_line": "\n" + } + ] + } + } + ], + "body": [ + { + "ast_type": "Expr", + "col_offset": 1, + "end_col_offset": 7, + "end_lineno": 14, + "lineno": 14, + "value": { + "LiteralValue": "\n Print all SIMPLE_IDENTIFIERs (and counters) from repository\n ", + "ast_type": "StringLiteral", + "col_offset": 5, + "end_col_offset": 7, + "end_lineno": 14, + "lineno": 14 + } + }, + { + "ast_type": "Assign", + "col_offset": 5, + "end_col_offset": 30, + "end_lineno": 15, + "lineno": 15, + "targets": [ + { + "ast_type": "Name", + "col_offset": 5, + "ctx": "Store", + "end_col_offset": 15, + "end_lineno": 15, + "id": "MODEL_CLASS", + "lineno": 15 + } + ], + "value": { + "ast_type": "Name", + "col_offset": 19, + "ctx": "Load", + "end_col_offset": 30, + "end_lineno": 15, + "id": "Repo2IdModel", + "lineno": 15 + } + }, + { + "args": { + "args": [ + { + "annotation": null, + "arg": "self", + "ast_type": "arg", + "col_offset": 24, + "end_col_offset": 27, + "end_lineno": 17, + "lineno": 17, + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 16, + "lineno": 16, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 16, + "noop_line": "\n" + } + ] + } + }, + { + "annotation": null, + "arg": "root", + "ast_type": "arg", + "col_offset": 30, + "end_col_offset": 33, + "end_lineno": 17, + "lineno": 17 + }, + { + "annotation": null, + "arg": "id_cnt", + "ast_type": "arg", + "col_offset": 36, + "end_col_offset": 41, + "end_lineno": 17, + "lineno": 17 + } + ], + "ast_type": "arguments", + "col_offset": 25, + "defaults": [], + "end_col_offset": 41, + "end_lineno": 17, + "kw_defaults": [], + "kwarg": null, + "kwonlyargs": [], + "lineno": 17, + "vararg": null + }, + "ast_type": "FunctionDef", + "body": [ + { + "ast_type": "For", + "body": [ + { + "ast_type": "If", + "body": [ + { + "ast_type": "AugAssign", + "col_offset": 34, + "end_col_offset": 37, + "end_lineno": 20, + "lineno": 20, + "op": { + "ast_type": "Add", + "col_offset": 24, + "lineno": 20 + }, + "target": { + "ast_type": "Subscript", + "col_offset": 17, + "ctx": "Store", + "end_col_offset": 31, + "end_lineno": 20, + "lineno": 20, + "slice": { + "ast_type": "Index", + "col_offset": 17, + "end_col_offset": 31, + "end_lineno": 20, + "lineno": 20, + "value": { + "ast_type": "Attribute", + "attr": "token", + "col_offset": 27, + "ctx": "Load", + "end_col_offset": 31, + "end_lineno": 20, + "lineno": 20, + "value": { + "ast_type": "Name", + "col_offset": 24, + "ctx": "Load", + "end_col_offset": 25, + "end_lineno": 20, + "id": "ch", + "lineno": 20 + } + } + }, + "value": { + "ast_type": "Name", + "col_offset": 17, + "ctx": "Load", + "end_col_offset": 22, + "end_lineno": 20, + "id": "id_cnt", + "lineno": 20 + } + }, + "value": { + "LiteralValue": 1, + "NumType": "int", + "ast_type": "NumLiteral", + "col_offset": 37, + "end_col_offset": 37, + "end_lineno": 20, + "lineno": 20 + } + } + ], + "col_offset": 13, + "end_col_offset": 37, + "end_lineno": 20, + "lineno": 19, + "orelse": [], + "test": { + "ast_type": "Compare", + "col_offset": 16, + "comparators": [ + { + "ast_type": "Attribute", + "attr": "roles", + "col_offset": 40, + "ctx": "Load", + "end_col_offset": 44, + "end_lineno": 19, + "lineno": 19, + "value": { + "ast_type": "Name", + "col_offset": 37, + "ctx": "Load", + "end_col_offset": 38, + "end_lineno": 19, + "id": "ch", + "lineno": 19 + } + } + ], + "end_col_offset": 44, + "end_lineno": 19, + "left": { + "ast_type": "Name", + "col_offset": 16, + "ctx": "Load", + "end_col_offset": 32, + "end_lineno": 19, + "id": "SIMPLE_IDENTIFIER", + "lineno": 19 + }, + "lineno": 19, + "ops": [ + { + "ast_type": "In", + "col_offset": 34, + "end_col_offset": 35, + "end_lineno": 19, + "lineno": 19 + } + ] + } + }, + { + "ast_type": "Expr", + "col_offset": 13, + "end_col_offset": 42, + "end_lineno": 21, + "lineno": 21, + "value": { + "args": [ + { + "ast_type": "Name", + "col_offset": 33, + "ctx": "Load", + "end_col_offset": 34, + "end_lineno": 21, + "id": "ch", + "lineno": 21 + }, + { + "ast_type": "Name", + "col_offset": 37, + "ctx": "Load", + "end_col_offset": 42, + "end_lineno": 21, + "id": "id_cnt", + "lineno": 21 + } + ], + "ast_type": "Call", + "col_offset": 19, + "end_col_offset": 42, + "end_lineno": 21, + "func": { + "ast_type": "Attribute", + "attr": "collect_id_cnt", + "col_offset": 18, + "ctx": "Load", + "end_col_offset": 31, + "end_lineno": 21, + "lineno": 21, + "value": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Load", + "end_col_offset": 16, + "end_lineno": 21, + "id": "self", + "lineno": 21 + } + }, + "keywords": [], + "lineno": 21 + } + } + ], + "col_offset": 9, + "end_col_offset": 42, + "end_lineno": 21, + "iter": { + "ast_type": "Attribute", + "attr": "children", + "col_offset": 24, + "ctx": "Load", + "end_col_offset": 31, + "end_lineno": 18, + "lineno": 18, + "value": { + "ast_type": "Name", + "col_offset": 19, + "ctx": "Load", + "end_col_offset": 22, + "end_lineno": 18, + "id": "root", + "lineno": 18 + } + }, + "lineno": 18, + "orelse": [], + "target": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Store", + "end_col_offset": 14, + "end_lineno": 18, + "id": "ch", + "lineno": 18 + } + } + ], + "col_offset": 9, + "decorator_list": [], + "end_col_offset": 42, + "end_lineno": 21, + "lineno": 17, + "name": "collect_id_cnt", + "returns": null + }, + { + "args": { + "args": [ + { + "annotation": null, + "arg": "self", + "ast_type": "arg", + "col_offset": 23, + "end_col_offset": 26, + "end_lineno": 23, + "lineno": 23, + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 22, + "lineno": 22, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 22, + "noop_line": "\n" + } + ] + } + }, + { + "annotation": null, + "arg": "file_uast_generator", + "ast_type": "arg", + "col_offset": 29, + "end_col_offset": 47, + "end_lineno": 23, + "lineno": 23 + } + ], + "ast_type": "arguments", + "col_offset": 24, + "defaults": [], + "end_col_offset": 47, + "end_lineno": 23, + "kw_defaults": [], + "kwarg": null, + "kwonlyargs": [], + "lineno": 23, + "vararg": null + }, + "ast_type": "FunctionDef", + "body": [ + { + "ast_type": "For", + "body": [ + { + "ast_type": "Expr", + "col_offset": 13, + "end_col_offset": 57, + "end_lineno": 25, + "lineno": 25, + "value": { + "args": [ + { + "ast_type": "BinOp", + "col_offset": 34, + "end_col_offset": 57, + "end_lineno": 25, + "left": { + "ast_type": "BinOp", + "col_offset": 19, + "end_col_offset": 32, + "end_lineno": 25, + "left": { + "ast_type": "BinOp", + "col_offset": 19, + "end_col_offset": 26, + "end_lineno": 25, + "left": { + "LiteralValue": "-", + "ast_type": "StringLiteral", + "col_offset": 19, + "end_col_offset": 21, + "end_lineno": 25, + "lineno": 25 + }, + "lineno": 25, + "op": { + "ast_type": "Mult", + "col_offset": 23, + "end_col_offset": 23, + "end_lineno": 25, + "lineno": 25 + }, + "right": { + "LiteralValue": 20, + "NumType": "int", + "ast_type": "NumLiteral", + "col_offset": 25, + "end_col_offset": 26, + "end_lineno": 25, + "lineno": 25 + } + }, + "lineno": 25, + "op": { + "ast_type": "Add", + "col_offset": 28, + "end_col_offset": 28, + "end_lineno": 25, + "lineno": 25 + }, + "right": { + "LiteralValue": " ", + "ast_type": "StringLiteral", + "col_offset": 30, + "end_col_offset": 32, + "end_lineno": 25, + "lineno": 25 + } + }, + "lineno": 25, + "op": { + "ast_type": "Add", + "col_offset": 34, + "end_col_offset": 34, + "end_lineno": 25, + "lineno": 25 + }, + "right": { + "args": [ + { + "ast_type": "Attribute", + "attr": "filepath", + "col_offset": 50, + "ctx": "Load", + "end_col_offset": 57, + "end_lineno": 25, + "lineno": 25, + "value": { + "ast_type": "Name", + "col_offset": 40, + "ctx": "Load", + "end_col_offset": 48, + "end_lineno": 25, + "id": "file_uast", + "lineno": 25 + } + } + ], + "ast_type": "Call", + "col_offset": 37, + "end_col_offset": 57, + "end_lineno": 25, + "func": { + "ast_type": "Name", + "col_offset": 36, + "ctx": "Load", + "end_col_offset": 38, + "end_lineno": 25, + "id": "str", + "lineno": 25 + }, + "keywords": [], + "lineno": 25 + } + } + ], + "ast_type": "Call", + "col_offset": 14, + "end_col_offset": 57, + "end_lineno": 25, + "func": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Load", + "end_col_offset": 17, + "end_lineno": 25, + "id": "print", + "lineno": 25 + }, + "keywords": [], + "lineno": 25 + } + }, + { + "ast_type": "Assign", + "col_offset": 13, + "end_col_offset": 28, + "end_lineno": 26, + "lineno": 26, + "targets": [ + { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Store", + "end_col_offset": 18, + "end_lineno": 26, + "id": "id_cnt", + "lineno": 26 + } + ], + "value": { + "args": [], + "ast_type": "Call", + "col_offset": 23, + "end_col_offset": 28, + "end_lineno": 26, + "func": { + "ast_type": "Name", + "col_offset": 22, + "ctx": "Load", + "end_col_offset": 28, + "end_lineno": 26, + "id": "Counter", + "lineno": 26 + }, + "keywords": [], + "lineno": 26 + } + }, + { + "ast_type": "Expr", + "col_offset": 13, + "end_col_offset": 63, + "end_lineno": 27, + "lineno": 27, + "value": { + "args": [ + { + "ast_type": "Attribute", + "attr": "uast", + "col_offset": 52, + "ctx": "Load", + "end_col_offset": 55, + "end_lineno": 27, + "lineno": 27, + "value": { + "ast_type": "Attribute", + "attr": "response", + "col_offset": 43, + "ctx": "Load", + "end_col_offset": 50, + "end_lineno": 27, + "lineno": 27, + "value": { + "ast_type": "Name", + "col_offset": 33, + "ctx": "Load", + "end_col_offset": 41, + "end_lineno": 27, + "id": "file_uast", + "lineno": 27 + } + } + }, + { + "ast_type": "Name", + "col_offset": 58, + "ctx": "Load", + "end_col_offset": 63, + "end_lineno": 27, + "id": "id_cnt", + "lineno": 27 + } + ], + "ast_type": "Call", + "col_offset": 19, + "end_col_offset": 63, + "end_lineno": 27, + "func": { + "ast_type": "Attribute", + "attr": "collect_id_cnt", + "col_offset": 18, + "ctx": "Load", + "end_col_offset": 31, + "end_lineno": 27, + "lineno": 27, + "value": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Load", + "end_col_offset": 16, + "end_lineno": 27, + "id": "self", + "lineno": 27 + } + }, + "keywords": [], + "lineno": 27 + } + }, + { + "ast_type": "Expr", + "col_offset": 13, + "end_col_offset": 24, + "end_lineno": 28, + "lineno": 28, + "value": { + "args": [ + { + "ast_type": "Name", + "col_offset": 19, + "ctx": "Load", + "end_col_offset": 24, + "end_lineno": 28, + "id": "id_cnt", + "lineno": 28 + } + ], + "ast_type": "Call", + "col_offset": 14, + "end_col_offset": 24, + "end_lineno": 28, + "func": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Load", + "end_col_offset": 17, + "end_lineno": 28, + "id": "print", + "lineno": 28 + }, + "keywords": [], + "lineno": 28 + } + } + ], + "col_offset": 9, + "end_col_offset": 24, + "end_lineno": 28, + "iter": { + "ast_type": "Name", + "col_offset": 26, + "ctx": "Load", + "end_col_offset": 44, + "end_lineno": 24, + "id": "file_uast_generator", + "lineno": 24 + }, + "lineno": 24, + "orelse": [], + "target": { + "ast_type": "Name", + "col_offset": 13, + "ctx": "Store", + "end_col_offset": 21, + "end_lineno": 24, + "id": "file_uast", + "lineno": 24 + } + } + ], + "col_offset": 9, + "decorator_list": [], + "end_col_offset": 24, + "end_lineno": 28, + "lineno": 23, + "name": "convert_uasts", + "returns": null + } + ], + "col_offset": 7, + "decorator_list": [], + "end_col_offset": 24, + "end_lineno": 28, + "keywords": [], + "lineno": 11, + "name": "Repo2IdCounter" + }, + { + "ast_type": "If", + "body": [ + { + "ast_type": "Assign", + "col_offset": 5, + "end_col_offset": 26, + "end_lineno": 32, + "lineno": 32, + "targets": [ + { + "ast_type": "Name", + "col_offset": 5, + "ctx": "Store", + "end_col_offset": 8, + "end_lineno": 32, + "id": "repo", + "lineno": 32 + } + ], + "value": { + "LiteralValue": "test/imports/", + "ast_type": "StringLiteral", + "col_offset": 12, + "end_col_offset": 26, + "end_lineno": 32, + "lineno": 32 + } + }, + { + "ast_type": "Assign", + "col_offset": 5, + "end_col_offset": 80, + "end_lineno": 33, + "lineno": 33, + "targets": [ + { + "ast_type": "Name", + "col_offset": 5, + "ctx": "Store", + "end_col_offset": 7, + "end_lineno": 33, + "id": "c2v", + "lineno": 33 + } + ], + "value": { + "args": [], + "ast_type": "Call", + "col_offset": 12, + "end_col_offset": 80, + "end_lineno": 33, + "func": { + "ast_type": "Name", + "col_offset": 11, + "ctx": "Load", + "end_col_offset": 24, + "end_lineno": 33, + "id": "Repo2IdCounter", + "lineno": 33 + }, + "keywords": [ + { + "arg": "linguist", + "ast_type": "keyword", + "col_offset": 26, + "end_col_offset": 48, + "end_lineno": 33, + "lineno": 33, + "value": { + "LiteralValue": "path/to/enry", + "ast_type": "StringLiteral", + "col_offset": 35, + "end_col_offset": 48, + "end_lineno": 33, + "lineno": 33 + } + }, + { + "arg": "bblfsh_endpoint", + "ast_type": "keyword", + "col_offset": 51, + "end_col_offset": 80, + "end_lineno": 33, + "lineno": 33, + "value": { + "LiteralValue": "0.0.0.0:9432", + "ast_type": "StringLiteral", + "col_offset": 67, + "end_col_offset": 80, + "end_lineno": 33, + "lineno": 33 + } + } + ], + "lineno": 33 + } + }, + { + "ast_type": "Expr", + "col_offset": 5, + "end_col_offset": 31, + "end_lineno": 34, + "lineno": 34, + "value": { + "args": [ + { + "ast_type": "Name", + "col_offset": 28, + "ctx": "Load", + "end_col_offset": 31, + "end_lineno": 34, + "id": "repo", + "lineno": 34 + } + ], + "ast_type": "Call", + "col_offset": 10, + "end_col_offset": 31, + "end_lineno": 34, + "func": { + "ast_type": "Attribute", + "attr": "convert_repository", + "col_offset": 9, + "ctx": "Load", + "end_col_offset": 26, + "end_lineno": 34, + "lineno": 34, + "value": { + "ast_type": "Name", + "col_offset": 5, + "ctx": "Load", + "end_col_offset": 7, + "end_lineno": 34, + "id": "c2v", + "lineno": 34 + } + }, + "keywords": [], + "lineno": 34 + } + } + ], + "col_offset": 1, + "end_col_offset": 31, + "end_lineno": 34, + "lineno": 31, + "orelse": [], + "test": { + "ast_type": "Compare", + "col_offset": 4, + "comparators": [ + { + "LiteralValue": "__main__", + "ast_type": "StringLiteral", + "col_offset": 16, + "end_col_offset": 25, + "end_lineno": 31, + "lineno": 31 + } + ], + "end_col_offset": 25, + "end_lineno": 31, + "left": { + "ast_type": "Name", + "col_offset": 4, + "ctx": "Load", + "end_col_offset": 11, + "end_lineno": 31, + "id": "__name__", + "lineno": 31, + "noops_previous": { + "ast_type": "PreviousNoops", + "col_offset": 1, + "end_col_offset": 1, + "end_lineno": 30, + "lineno": 29, + "lines": [ + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 29, + "noop_line": "\n" + }, + { + "ast_type": "NoopLine", + "col_offset": 1, + "lineno": 30, + "noop_line": "\n" + } + ] + } + }, + "lineno": 31, + "ops": [ + { + "ast_type": "Eq", + "col_offset": 13, + "end_col_offset": 14, + "end_lineno": 31, + "lineno": 31 + } + ] + } + } + ], + "col_offset": 1, + "end_col_offset": 31, + "end_lineno": 34, + "lineno": 1 + } + } +} diff --git a/tests/issue62_b.py.source b/tests/issue62_b.py.source new file mode 100644 index 00000000..c239eee9 --- /dev/null +++ b/tests/issue62_b.py.source @@ -0,0 +1,34 @@ +from collections import Counter + +from ast2vec.bblfsh_roles import SIMPLE_IDENTIFIER +from ast2vec.repo2.base import Repo2Base + + +class Repo2IdModel: + NAME = "Repo2IdModel" + + +class Repo2IdCounter(Repo2Base): + """ + Print all SIMPLE_IDENTIFIERs (and counters) from repository + """ + MODEL_CLASS = Repo2IdModel + + def collect_id_cnt(self, root, id_cnt): + for ch in root.children: + if SIMPLE_IDENTIFIER in ch.roles: + id_cnt[ch.token] += 1 + self.collect_id_cnt(ch, id_cnt) + + def convert_uasts(self, file_uast_generator): + for file_uast in file_uast_generator: + print("-" * 20 + " " + str(file_uast.filepath)) + id_cnt = Counter() + self.collect_id_cnt(file_uast.response.uast, id_cnt) + print(id_cnt) + + +if __name__ == "__main__": + repo = "test/imports/" + c2v = Repo2IdCounter(linguist="path/to/enry", bblfsh_endpoint="0.0.0.0:9432") + c2v.convert_repository(repo) diff --git a/tests/issue62_b.py.uast b/tests/issue62_b.py.uast new file mode 100644 index 00000000..fed728b1 --- /dev/null +++ b/tests/issue62_b.py.uast @@ -0,0 +1,2250 @@ +Status: ok +Errors: +UAST: +Module { +. Roles: File +. StartPosition: { +. . Offset: 0 +. . Line: 1 +. . Col: 1 +. } +. EndPosition: { +. . Offset: 972 +. . Line: 34 +. . Col: 31 +. } +. Children: { +. . 0: ImportFrom { +. . . Roles: ImportDeclaration,Statement +. . . TOKEN "collections" +. . . StartPosition: { +. . . . Offset: 5 +. . . . Line: 1 +. . . . Col: 6 +. . . } +. . . EndPosition: { +. . . . Offset: 30 +. . . . Line: 1 +. . . . Col: 31 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . . level: 0 +. . . } +. . . Children: { +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "Counter" +. . . . . StartPosition: { +. . . . . . Offset: 24 +. . . . . . Line: 1 +. . . . . . Col: 25 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 30 +. . . . . . Line: 1 +. . . . . . Col: 31 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names +. . . . . } +. . . . } +. . . . 1: ImportFrom.module { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "collections" +. . . . . Properties: { +. . . . . . promotedPropertyString: true +. . . . . } +. . . . } +. . . } +. . } +. . 1: ImportFrom { +. . . Roles: ImportDeclaration,Statement +. . . TOKEN "ast2vec.bblfsh_roles" +. . . StartPosition: { +. . . . Offset: 33 +. . . . Line: 3 +. . . . Col: 1 +. . . } +. . . EndPosition: { +. . . . Offset: 82 +. . . . Line: 3 +. . . . Col: 50 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . . level: 0 +. . . } +. . . Children: { +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "SIMPLE_IDENTIFIER" +. . . . . StartPosition: { +. . . . . . Offset: 66 +. . . . . . Line: 3 +. . . . . . Col: 34 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 82 +. . . . . . Line: 3 +. . . . . . Col: 50 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names +. . . . . } +. . . . } +. . . . 1: PreviousNoops { +. . . . . Roles: Whitespace +. . . . . StartPosition: { +. . . . . . Offset: 32 +. . . . . . Line: 2 +. . . . . . Col: 1 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 32 +. . . . . . Line: 2 +. . . . . . Col: 1 +. . . . . } +. . . . . Properties: { +. . . . . . internalRole: noops_previous +. . . . . } +. . . . . Children: { +. . . . . . 0: NoopLine { +. . . . . . . Roles: Comment +. . . . . . . TOKEN " +" +. . . . . . . StartPosition: { +. . . . . . . . Offset: 32 +. . . . . . . . Line: 2 +. . . . . . . . Col: 1 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . internalRole: lines +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . . 2: ImportFrom.module { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "ast2vec.bblfsh_roles" +. . . . . Properties: { +. . . . . . promotedPropertyString: true +. . . . . } +. . . . } +. . . } +. . } +. . 2: ImportFrom { +. . . Roles: ImportDeclaration,Statement +. . . TOKEN "ast2vec.repo2.base" +. . . StartPosition: { +. . . . Offset: 84 +. . . . Line: 4 +. . . . Col: 1 +. . . } +. . . EndPosition: { +. . . . Offset: 123 +. . . . Line: 4 +. . . . Col: 40 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . . level: 0 +. . . } +. . . Children: { +. . . . 0: alias { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "Repo2Base" +. . . . . StartPosition: { +. . . . . . Offset: 115 +. . . . . . Line: 4 +. . . . . . Col: 32 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 123 +. . . . . . Line: 4 +. . . . . . Col: 40 +. . . . . } +. . . . . Properties: { +. . . . . . asname: +. . . . . . internalRole: names +. . . . . } +. . . . } +. . . . 1: ImportFrom.module { +. . . . . Roles: ImportPath,SimpleIdentifier +. . . . . TOKEN "ast2vec.repo2.base" +. . . . . Properties: { +. . . . . . promotedPropertyString: true +. . . . . } +. . . . } +. . . } +. . } +. . 3: ClassDef { +. . . Roles: TypeDeclaration,SimpleIdentifier,Statement +. . . TOKEN "Repo2IdModel" +. . . StartPosition: { +. . . . Offset: 133 +. . . . Line: 7 +. . . . Col: 7 +. . . } +. . . EndPosition: { +. . . . Offset: 171 +. . . . Line: 8 +. . . . Col: 25 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . } +. . . Children: { +. . . . 0: ClassDef.body { +. . . . . Roles: TypeDeclarationBody +. . . . . Properties: { +. . . . . . promotedPropertyList: true +. . . . . } +. . . . . Children: { +. . . . . . 0: Assign { +. . . . . . . Roles: Assignment,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 151 +. . . . . . . . Line: 8 +. . . . . . . . Col: 5 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 171 +. . . . . . . . Line: 8 +. . . . . . . . Col: 25 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Name { +. . . . . . . . . Roles: AssignmentVariable,SimpleIdentifier,Expression +. . . . . . . . . TOKEN "NAME" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 151 +. . . . . . . . . . Line: 8 +. . . . . . . . . . Col: 5 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 154 +. . . . . . . . . . Line: 8 +. . . . . . . . . . Col: 8 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: targets +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: PreviousNoops { +. . . . . . . . . . . Roles: Whitespace +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 125 +. . . . . . . . . . . . Line: 5 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 126 +. . . . . . . . . . . . Line: 6 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: noops_previous +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: NoopLine { +. . . . . . . . . . . . . Roles: Comment +. . . . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 125 +. . . . . . . . . . . . . . Line: 5 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . . 1: NoopLine { +. . . . . . . . . . . . . Roles: Comment +. . . . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 126 +. . . . . . . . . . . . . . Line: 6 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: StringLiteral { +. . . . . . . . . Roles: StringLiteral,Expression,AssignmentValue +. . . . . . . . . TOKEN "Repo2IdModel" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 158 +. . . . . . . . . . Line: 8 +. . . . . . . . . . Col: 12 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 171 +. . . . . . . . . . Line: 8 +. . . . . . . . . . Col: 25 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . } +. . } +. . 4: ClassDef { +. . . Roles: TypeDeclaration,SimpleIdentifier,Statement +. . . TOKEN "Repo2IdCounter" +. . . StartPosition: { +. . . . Offset: 181 +. . . . Line: 11 +. . . . Col: 7 +. . . } +. . . EndPosition: { +. . . . Offset: 801 +. . . . Line: 28 +. . . . Col: 24 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . } +. . . Children: { +. . . . 0: ClassDef.bases { +. . . . . Roles: TypeDeclarationBases +. . . . . Properties: { +. . . . . . promotedPropertyList: true +. . . . . } +. . . . . Children: { +. . . . . . 0: Name { +. . . . . . . Roles: SimpleIdentifier,Expression +. . . . . . . TOKEN "Repo2Base" +. . . . . . . StartPosition: { +. . . . . . . . Offset: 196 +. . . . . . . . Line: 11 +. . . . . . . . Col: 22 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 204 +. . . . . . . . Line: 11 +. . . . . . . . Col: 30 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . ctx: Load +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: PreviousNoops { +. . . . . . . . . Roles: Whitespace +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 173 +. . . . . . . . . . Line: 9 +. . . . . . . . . . Col: 1 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 174 +. . . . . . . . . . Line: 10 +. . . . . . . . . . Col: 1 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: noops_previous +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: NoopLine { +. . . . . . . . . . . Roles: Comment +. . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 173 +. . . . . . . . . . . . Line: 9 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: NoopLine { +. . . . . . . . . . . Roles: Comment +. . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 174 +. . . . . . . . . . . . Line: 10 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . . 1: ClassDef.body { +. . . . . Roles: TypeDeclarationBody +. . . . . Properties: { +. . . . . . promotedPropertyList: true +. . . . . } +. . . . . Children: { +. . . . . . 0: Expr { +. . . . . . . Roles: Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 280 +. . . . . . . . Line: 14 +. . . . . . . . Col: 1 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 286 +. . . . . . . . Line: 14 +. . . . . . . . Col: 7 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: StringLiteral { +. . . . . . . . . Roles: StringLiteral,Expression +. . . . . . . . . TOKEN " + Print all SIMPLE_IDENTIFIERs (and counters) from repository + " +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 284 +. . . . . . . . . . Line: 14 +. . . . . . . . . . Col: 5 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 286 +. . . . . . . . . . Line: 14 +. . . . . . . . . . Col: 7 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 1: Assign { +. . . . . . . Roles: Assignment,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 292 +. . . . . . . . Line: 15 +. . . . . . . . Col: 5 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 317 +. . . . . . . . Line: 15 +. . . . . . . . Col: 30 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Name { +. . . . . . . . . Roles: AssignmentVariable,SimpleIdentifier,Expression +. . . . . . . . . TOKEN "MODEL_CLASS" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 292 +. . . . . . . . . . Line: 15 +. . . . . . . . . . Col: 5 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 302 +. . . . . . . . . . Line: 15 +. . . . . . . . . . Col: 15 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: targets +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: Name { +. . . . . . . . . Roles: AssignmentValue,SimpleIdentifier,Expression +. . . . . . . . . TOKEN "Repo2IdModel" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 306 +. . . . . . . . . . Line: 15 +. . . . . . . . . . Col: 19 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 317 +. . . . . . . . . . Line: 15 +. . . . . . . . . . Col: 30 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Load +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 2: FunctionDef { +. . . . . . . Roles: FunctionDeclaration,FunctionDeclarationName,SimpleIdentifier +. . . . . . . TOKEN "collect_id_cnt" +. . . . . . . StartPosition: { +. . . . . . . . Offset: 328 +. . . . . . . . Line: 17 +. . . . . . . . Col: 9 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 522 +. . . . . . . . Line: 21 +. . . . . . . . Col: 42 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . returns: +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: arguments { +. . . . . . . . . Roles: FunctionDeclarationArgument,Incomplete +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 344 +. . . . . . . . . . Line: 17 +. . . . . . . . . . Col: 25 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 360 +. . . . . . . . . . Line: 17 +. . . . . . . . . . Col: 41 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: args +. . . . . . . . . . kwarg: +. . . . . . . . . . vararg: +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: arg { +. . . . . . . . . . . Roles: FunctionDeclarationArgument,FunctionDeclarationArgumentName,SimpleIdentifier +. . . . . . . . . . . TOKEN "self" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 343 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 24 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 346 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 27 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . annotation: +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: PreviousNoops { +. . . . . . . . . . . . . Roles: Whitespace +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 319 +. . . . . . . . . . . . . . Line: 16 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 319 +. . . . . . . . . . . . . . Line: 16 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: noops_previous +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . 0: NoopLine { +. . . . . . . . . . . . . . . Roles: Comment +. . . . . . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 319 +. . . . . . . . . . . . . . . . Line: 16 +. . . . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: arg { +. . . . . . . . . . . Roles: FunctionDeclarationArgument,FunctionDeclarationArgumentName,SimpleIdentifier +. . . . . . . . . . . TOKEN "root" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 349 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 30 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 352 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 33 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . annotation: +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 2: arg { +. . . . . . . . . . . Roles: FunctionDeclarationArgument,FunctionDeclarationArgumentName,SimpleIdentifier +. . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 355 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 36 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 360 +. . . . . . . . . . . . Line: 17 +. . . . . . . . . . . . Col: 41 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . annotation: +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: FunctionDef.body { +. . . . . . . . . Roles: FunctionDeclarationBody +. . . . . . . . . Properties: { +. . . . . . . . . . promotedPropertyList: true +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: For { +. . . . . . . . . . . Roles: ForEach,Statement +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 372 +. . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . Col: 9 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 522 +. . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . Col: 42 +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: For.body { +. . . . . . . . . . . . . Roles: ForBody +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . 0: If { +. . . . . . . . . . . . . . . Roles: If,Statement +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 409 +. . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 479 +. . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: If.body { +. . . . . . . . . . . . . . . . . Roles: IfBody +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: AugAssign { +. . . . . . . . . . . . . . . . . . . Roles: AugmentedAssignment,Statement +. . . . . . . . . . . . . . . . . . . TOKEN "?=" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 476 +. . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 479 +. . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: Add { +. . . . . . . . . . . . . . . . . . . . . Roles: OpAdd,AugmentedAssignmentOperator +. . . . . . . . . . . . . . . . . . . . . TOKEN "+" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 466 +. . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . internalRole: op +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . 1: Subscript { +. . . . . . . . . . . . . . . . . . . . . Roles: AugmentedAssignmentVariable,Expression,Incomplete +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 459 +. . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . Col: 17 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 473 +. . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . ctx: Store +. . . . . . . . . . . . . . . . . . . . . . internalRole: target +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . 0: Index { +. . . . . . . . . . . . . . . . . . . . . . . Roles: Expression,Incomplete +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 459 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 17 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 473 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: slice +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . . . 0: Attribute { +. . . . . . . . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "token" +. . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 469 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 27 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 473 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "ch" +. . . . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 466 +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 467 +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . . . . . Col: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 459 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 17 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 464 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 22 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . 2: NumLiteral { +. . . . . . . . . . . . . . . . . . . . . Roles: NumberLiteral,Expression,AugmentedAssignmentValue +. . . . . . . . . . . . . . . . . . . . . TOKEN "1" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 479 +. . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 479 +. . . . . . . . . . . . . . . . . . . . . . Line: 20 +. . . . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . NumType: int +. . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . 1: Compare { +. . . . . . . . . . . . . . . . . Roles: BinaryExpression,Expression,IfCondition +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 412 +. . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . Col: 16 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 440 +. . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . Col: 44 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: test +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: Compare.comparators { +. . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionRight +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: Attribute { +. . . . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . TOKEN "roles" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 436 +. . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . Col: 40 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 440 +. . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . Col: 44 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "ch" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 433 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 434 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 38 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft +. . . . . . . . . . . . . . . . . . . TOKEN "SIMPLE_IDENTIFIER" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 412 +. . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . Col: 16 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 428 +. . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . Col: 32 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: left +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 2: Compare.ops { +. . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionOp +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: In { +. . . . . . . . . . . . . . . . . . . . . Roles: OpContains +. . . . . . . . . . . . . . . . . . . . . TOKEN "in" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 430 +. . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 431 +. . . . . . . . . . . . . . . . . . . . . . Line: 19 +. . . . . . . . . . . . . . . . . . . . . . Col: 35 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . . 1: Expr { +. . . . . . . . . . . . . . . Roles: Expression +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 493 +. . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 522 +. . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . Col: 42 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: Call { +. . . . . . . . . . . . . . . . . Roles: Call,Expression +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 499 +. . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 522 +. . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . Col: 42 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . Roles: CallPositionalArgument,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "ch" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 513 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 33 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 514 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . Roles: CallPositionalArgument,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 517 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 522 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 42 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 2: Attribute { +. . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,CallCallee +. . . . . . . . . . . . . . . . . . . TOKEN "collect_id_cnt" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 498 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 18 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 511 +. . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,CallReceiver,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . TOKEN "self" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 493 +. . . . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 496 +. . . . . . . . . . . . . . . . . . . . . . Line: 21 +. . . . . . . . . . . . . . . . . . . . . . Col: 16 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . . 1: Attribute { +. . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression +. . . . . . . . . . . . . TOKEN "children" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 387 +. . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 394 +. . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . internalRole: iter +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . Roles: QualifiedIdentifier,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . TOKEN "root" +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 382 +. . . . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 385 +. . . . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . . . Col: 22 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . . 2: Name { +. . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate +. . . . . . . . . . . . . TOKEN "ch" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 376 +. . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 377 +. . . . . . . . . . . . . . Line: 18 +. . . . . . . . . . . . . . Col: 14 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . ctx: Store +. . . . . . . . . . . . . . internalRole: target +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 3: FunctionDef { +. . . . . . . Roles: FunctionDeclaration,FunctionDeclarationName,SimpleIdentifier +. . . . . . . TOKEN "convert_uasts" +. . . . . . . StartPosition: { +. . . . . . . . Offset: 534 +. . . . . . . . Line: 23 +. . . . . . . . Col: 9 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 801 +. . . . . . . . Line: 28 +. . . . . . . . Col: 24 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . returns: +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: arguments { +. . . . . . . . . Roles: FunctionDeclarationArgument,Incomplete +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 549 +. . . . . . . . . . Line: 23 +. . . . . . . . . . Col: 24 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 572 +. . . . . . . . . . Line: 23 +. . . . . . . . . . Col: 47 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: args +. . . . . . . . . . kwarg: +. . . . . . . . . . vararg: +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: arg { +. . . . . . . . . . . Roles: FunctionDeclarationArgument,FunctionDeclarationArgumentName,SimpleIdentifier +. . . . . . . . . . . TOKEN "self" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 548 +. . . . . . . . . . . . Line: 23 +. . . . . . . . . . . . Col: 23 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 551 +. . . . . . . . . . . . Line: 23 +. . . . . . . . . . . . Col: 26 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . annotation: +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: PreviousNoops { +. . . . . . . . . . . . . Roles: Whitespace +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 525 +. . . . . . . . . . . . . . Line: 22 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 525 +. . . . . . . . . . . . . . Line: 22 +. . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: noops_previous +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . 0: NoopLine { +. . . . . . . . . . . . . . . Roles: Comment +. . . . . . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 525 +. . . . . . . . . . . . . . . . Line: 22 +. . . . . . . . . . . . . . . . Col: 1 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: arg { +. . . . . . . . . . . Roles: FunctionDeclarationArgument,FunctionDeclarationArgumentName,SimpleIdentifier +. . . . . . . . . . . TOKEN "file_uast_generator" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 554 +. . . . . . . . . . . . Line: 23 +. . . . . . . . . . . . Col: 29 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 572 +. . . . . . . . . . . . Line: 23 +. . . . . . . . . . . . Col: 47 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . annotation: +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: FunctionDef.body { +. . . . . . . . . Roles: FunctionDeclarationBody +. . . . . . . . . Properties: { +. . . . . . . . . . promotedPropertyList: true +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: For { +. . . . . . . . . . . Roles: ForEach,Statement +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 584 +. . . . . . . . . . . . Line: 24 +. . . . . . . . . . . . Col: 9 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 801 +. . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . Col: 24 +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: For.body { +. . . . . . . . . . . . . Roles: ForBody +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . promotedPropertyList: true +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . 0: Expr { +. . . . . . . . . . . . . . . Roles: Expression +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 634 +. . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 678 +. . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . Col: 57 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: Call { +. . . . . . . . . . . . . . . . . Roles: Call,Expression +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 635 +. . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . Col: 14 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 678 +. . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . Col: 57 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: BinOp { +. . . . . . . . . . . . . . . . . . . Roles: BinaryExpression,Expression,CallPositionalArgument +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 655 +. . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 678 +. . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . Col: 57 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: BinOp { +. . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionLeft,BinaryExpression,Expression +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 640 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 653 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 32 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . internalRole: left +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . 0: BinOp { +. . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionLeft,BinaryExpression,Expression +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 640 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 647 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 26 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: left +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . . . 0: StringLiteral { +. . . . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionLeft,StringLiteral,Expression +. . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "-" +. . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 640 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 642 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 21 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: left +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . 1: Mult { +. . . . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionOp,OpMultiply +. . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "*" +. . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 644 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 23 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 644 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 23 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: op +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . 2: NumLiteral { +. . . . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionRight,NumberLiteral,Expression +. . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "20" +. . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 646 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 647 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 26 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . NumType: int +. . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: right +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . 1: Add { +. . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionOp,OpAdd +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "+" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 649 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 649 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: op +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . 2: StringLiteral { +. . . . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionRight,StringLiteral,Expression +. . . . . . . . . . . . . . . . . . . . . . . TOKEN " " +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 651 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 30 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 653 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 32 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: right +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . 1: Add { +. . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionOp,OpAdd +. . . . . . . . . . . . . . . . . . . . . TOKEN "+" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 655 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 655 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 34 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . internalRole: op +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . 2: Call { +. . . . . . . . . . . . . . . . . . . . . Roles: BinaryExpressionRight,Call,Expression +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 658 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 37 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 678 +. . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . Col: 57 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . internalRole: right +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . 0: Attribute { +. . . . . . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,CallPositionalArgument +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "filepath" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 671 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 50 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 678 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 57 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . . . TOKEN "file_uast" +. . . . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 661 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 40 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . . . Offset: 669 +. . . . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . . . Col: 48 +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "str" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 657 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 36 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 659 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 38 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "print" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 634 +. . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 638 +. . . . . . . . . . . . . . . . . . . . Line: 25 +. . . . . . . . . . . . . . . . . . . . Col: 17 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . . 1: Assign { +. . . . . . . . . . . . . . . Roles: Assignment,Expression +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 694 +. . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 709 +. . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . Roles: AssignmentVariable,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 694 +. . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 699 +. . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . Col: 18 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . ctx: Store +. . . . . . . . . . . . . . . . . . internalRole: targets +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . 1: Call { +. . . . . . . . . . . . . . . . . Roles: Call,Expression,AssignmentValue +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 704 +. . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . Col: 23 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 709 +. . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "Counter" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 703 +. . . . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . . . Col: 22 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 709 +. . . . . . . . . . . . . . . . . . . . Line: 26 +. . . . . . . . . . . . . . . . . . . . Col: 28 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . . 2: Expr { +. . . . . . . . . . . . . . . Roles: Expression +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 725 +. . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 775 +. . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . Col: 63 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: Call { +. . . . . . . . . . . . . . . . . Roles: Call,Expression +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 731 +. . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 775 +. . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . Col: 63 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: Attribute { +. . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,CallPositionalArgument +. . . . . . . . . . . . . . . . . . . TOKEN "uast" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 764 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 52 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 767 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 55 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: Attribute { +. . . . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . TOKEN "response" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 755 +. . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . Col: 43 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 762 +. . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . Col: 50 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . . . TOKEN "file_uast" +. . . . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 745 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 33 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . . . Offset: 753 +. . . . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . . . Col: 41 +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . Roles: CallPositionalArgument,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 770 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 58 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 775 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 63 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 2: Attribute { +. . . . . . . . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,CallCallee +. . . . . . . . . . . . . . . . . . . TOKEN "collect_id_cnt" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 730 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 18 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 743 +. . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . Col: 31 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . . . Roles: QualifiedIdentifier,CallReceiver,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . . . TOKEN "self" +. . . . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 725 +. . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . . . Offset: 728 +. . . . . . . . . . . . . . . . . . . . . . Line: 27 +. . . . . . . . . . . . . . . . . . . . . . Col: 16 +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . . 3: Expr { +. . . . . . . . . . . . . . . Roles: Expression +. . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . Offset: 790 +. . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . Offset: 801 +. . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . 0: Call { +. . . . . . . . . . . . . . . . . Roles: Call,Expression +. . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . Offset: 791 +. . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . Col: 14 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . Offset: 801 +. . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . Children: { +. . . . . . . . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . . . . . . . Roles: CallPositionalArgument,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "id_cnt" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 796 +. . . . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . . . Col: 19 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 801 +. . . . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . . . Col: 24 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: args +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . . . . . . . . . TOKEN "print" +. . . . . . . . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 790 +. . . . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . . . . . . . Offset: 794 +. . . . . . . . . . . . . . . . . . . . Line: 28 +. . . . . . . . . . . . . . . . . . . . Col: 17 +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . . . . . . . internalRole: func +. . . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . . } +. . . . . . . . . . . . . . } +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . . 1: Name { +. . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForExpression +. . . . . . . . . . . . . TOKEN "file_uast_generator" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 601 +. . . . . . . . . . . . . . Line: 24 +. . . . . . . . . . . . . . Col: 26 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 619 +. . . . . . . . . . . . . . Line: 24 +. . . . . . . . . . . . . . Col: 44 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . internalRole: iter +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . . 2: Name { +. . . . . . . . . . . . . Roles: SimpleIdentifier,Expression,ForUpdate +. . . . . . . . . . . . . TOKEN "file_uast" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 588 +. . . . . . . . . . . . . . Line: 24 +. . . . . . . . . . . . . . Col: 13 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 596 +. . . . . . . . . . . . . . Line: 24 +. . . . . . . . . . . . . . Col: 21 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . ctx: Store +. . . . . . . . . . . . . . internalRole: target +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . } +. . } +. . 5: If { +. . . Roles: If,Statement +. . . StartPosition: { +. . . . Offset: 806 +. . . . Line: 31 +. . . . Col: 1 +. . . } +. . . EndPosition: { +. . . . Offset: 972 +. . . . Line: 34 +. . . . Col: 31 +. . . } +. . . Properties: { +. . . . internalRole: body +. . . } +. . . Children: { +. . . . 0: If.body { +. . . . . Roles: IfBody +. . . . . Properties: { +. . . . . . promotedPropertyList: true +. . . . . } +. . . . . Children: { +. . . . . . 0: Assign { +. . . . . . . Roles: Assignment,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 837 +. . . . . . . . Line: 32 +. . . . . . . . Col: 5 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 858 +. . . . . . . . Line: 32 +. . . . . . . . Col: 26 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Name { +. . . . . . . . . Roles: AssignmentVariable,SimpleIdentifier,Expression +. . . . . . . . . TOKEN "repo" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 837 +. . . . . . . . . . Line: 32 +. . . . . . . . . . Col: 5 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 840 +. . . . . . . . . . Line: 32 +. . . . . . . . . . Col: 8 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: targets +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: StringLiteral { +. . . . . . . . . Roles: StringLiteral,Expression,AssignmentValue +. . . . . . . . . TOKEN "test/imports/" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 844 +. . . . . . . . . . Line: 32 +. . . . . . . . . . Col: 12 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 858 +. . . . . . . . . . Line: 32 +. . . . . . . . . . Col: 26 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 1: Assign { +. . . . . . . Roles: Assignment,Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 864 +. . . . . . . . Line: 33 +. . . . . . . . Col: 5 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 939 +. . . . . . . . Line: 33 +. . . . . . . . Col: 80 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Name { +. . . . . . . . . Roles: AssignmentVariable,SimpleIdentifier,Expression +. . . . . . . . . TOKEN "c2v" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 864 +. . . . . . . . . . Line: 33 +. . . . . . . . . . Col: 5 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 866 +. . . . . . . . . . Line: 33 +. . . . . . . . . . Col: 7 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . ctx: Store +. . . . . . . . . . internalRole: targets +. . . . . . . . . } +. . . . . . . . } +. . . . . . . . 1: Call { +. . . . . . . . . Roles: Call,Expression,AssignmentValue +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 871 +. . . . . . . . . . Line: 33 +. . . . . . . . . . Col: 12 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 939 +. . . . . . . . . . Line: 33 +. . . . . . . . . . Col: 80 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: Name { +. . . . . . . . . . . Roles: Call,SimpleIdentifier,Expression +. . . . . . . . . . . TOKEN "Repo2IdCounter" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 870 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 11 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 883 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 24 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . internalRole: func +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: keyword { +. . . . . . . . . . . Roles: CallNamedArgument +. . . . . . . . . . . TOKEN "linguist" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 885 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 26 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 907 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 48 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: keywords +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: StringLiteral { +. . . . . . . . . . . . . Roles: StringLiteral,Expression,CallNamedArgumentValue +. . . . . . . . . . . . . TOKEN "path/to/enry" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 894 +. . . . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . . . Col: 35 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 907 +. . . . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . . . Col: 48 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 2: keyword { +. . . . . . . . . . . Roles: CallNamedArgument +. . . . . . . . . . . TOKEN "bblfsh_endpoint" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 910 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 51 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 939 +. . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . Col: 80 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: keywords +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: StringLiteral { +. . . . . . . . . . . . . Roles: StringLiteral,Expression,CallNamedArgumentValue +. . . . . . . . . . . . . TOKEN "0.0.0.0:9432" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 926 +. . . . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . . . Col: 67 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 939 +. . . . . . . . . . . . . . Line: 33 +. . . . . . . . . . . . . . Col: 80 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 2: Expr { +. . . . . . . Roles: Expression +. . . . . . . StartPosition: { +. . . . . . . . Offset: 946 +. . . . . . . . Line: 34 +. . . . . . . . Col: 5 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 972 +. . . . . . . . Line: 34 +. . . . . . . . Col: 31 +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Call { +. . . . . . . . . Roles: Call,Expression +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 951 +. . . . . . . . . . Line: 34 +. . . . . . . . . . Col: 10 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 972 +. . . . . . . . . . Line: 34 +. . . . . . . . . . Col: 31 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: value +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: Name { +. . . . . . . . . . . Roles: CallPositionalArgument,SimpleIdentifier,Expression +. . . . . . . . . . . TOKEN "repo" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 969 +. . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . Col: 28 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 972 +. . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . Col: 31 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . internalRole: args +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: Attribute { +. . . . . . . . . . . Roles: SimpleIdentifier,Expression,CallCallee +. . . . . . . . . . . TOKEN "convert_repository" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 950 +. . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . Col: 9 +. . . . . . . . . . . } +. . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . Offset: 967 +. . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . Col: 26 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . internalRole: func +. . . . . . . . . . . } +. . . . . . . . . . . Children: { +. . . . . . . . . . . . 0: Name { +. . . . . . . . . . . . . Roles: QualifiedIdentifier,CallReceiver,SimpleIdentifier,Expression +. . . . . . . . . . . . . TOKEN "c2v" +. . . . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . . . Offset: 946 +. . . . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . . . Col: 5 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . EndPosition: { +. . . . . . . . . . . . . . Offset: 948 +. . . . . . . . . . . . . . Line: 34 +. . . . . . . . . . . . . . Col: 7 +. . . . . . . . . . . . . } +. . . . . . . . . . . . . Properties: { +. . . . . . . . . . . . . . ctx: Load +. . . . . . . . . . . . . . internalRole: value +. . . . . . . . . . . . . } +. . . . . . . . . . . . } +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . . 1: Compare { +. . . . . Roles: BinaryExpression,Expression,IfCondition +. . . . . StartPosition: { +. . . . . . Offset: 809 +. . . . . . Line: 31 +. . . . . . Col: 4 +. . . . . } +. . . . . EndPosition: { +. . . . . . Offset: 830 +. . . . . . Line: 31 +. . . . . . Col: 25 +. . . . . } +. . . . . Properties: { +. . . . . . internalRole: test +. . . . . } +. . . . . Children: { +. . . . . . 0: Compare.comparators { +. . . . . . . Roles: BinaryExpressionRight +. . . . . . . Properties: { +. . . . . . . . promotedPropertyList: true +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: StringLiteral { +. . . . . . . . . Roles: StringLiteral,Expression +. . . . . . . . . TOKEN "__main__" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 821 +. . . . . . . . . . Line: 31 +. . . . . . . . . . Col: 16 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 830 +. . . . . . . . . . Line: 31 +. . . . . . . . . . Col: 25 +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 1: Name { +. . . . . . . Roles: SimpleIdentifier,Expression,BinaryExpressionLeft +. . . . . . . TOKEN "__name__" +. . . . . . . StartPosition: { +. . . . . . . . Offset: 809 +. . . . . . . . Line: 31 +. . . . . . . . Col: 4 +. . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 816 +. . . . . . . . Line: 31 +. . . . . . . . Col: 11 +. . . . . . . } +. . . . . . . Properties: { +. . . . . . . . ctx: Load +. . . . . . . . internalRole: left +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: PreviousNoops { +. . . . . . . . . Roles: Whitespace +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 804 +. . . . . . . . . . Line: 29 +. . . . . . . . . . Col: 1 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 805 +. . . . . . . . . . Line: 30 +. . . . . . . . . . Col: 1 +. . . . . . . . . } +. . . . . . . . . Properties: { +. . . . . . . . . . internalRole: noops_previous +. . . . . . . . . } +. . . . . . . . . Children: { +. . . . . . . . . . 0: NoopLine { +. . . . . . . . . . . Roles: Comment +. . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 804 +. . . . . . . . . . . . Line: 29 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . . 1: NoopLine { +. . . . . . . . . . . Roles: Comment +. . . . . . . . . . . TOKEN " +" +. . . . . . . . . . . StartPosition: { +. . . . . . . . . . . . Offset: 805 +. . . . . . . . . . . . Line: 30 +. . . . . . . . . . . . Col: 1 +. . . . . . . . . . . } +. . . . . . . . . . . Properties: { +. . . . . . . . . . . . internalRole: lines +. . . . . . . . . . . } +. . . . . . . . . . } +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . . 2: Compare.ops { +. . . . . . . Roles: BinaryExpressionOp +. . . . . . . Properties: { +. . . . . . . . promotedPropertyList: true +. . . . . . . } +. . . . . . . Children: { +. . . . . . . . 0: Eq { +. . . . . . . . . Roles: OpEqual +. . . . . . . . . TOKEN "==" +. . . . . . . . . StartPosition: { +. . . . . . . . . . Offset: 818 +. . . . . . . . . . Line: 31 +. . . . . . . . . . Col: 13 +. . . . . . . . . } +. . . . . . . . . EndPosition: { +. . . . . . . . . . Offset: 819 +. . . . . . . . . . Line: 31 +. . . . . . . . . . Col: 14 +. . . . . . . . . } +. . . . . . . . } +. . . . . . . } +. . . . . . } +. . . . . } +. . . . } +. . . } +. . } +. } +} + diff --git a/tests/loop_if.py.native b/tests/loop_if.py.native index 6b242efe..445bbb87 100644 --- a/tests/loop_if.py.native +++ b/tests/loop_if.py.native @@ -11,6 +11,8 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], diff --git a/tests/loop_if.py.uast b/tests/loop_if.py.uast index 91ce236a..b264f568 100644 --- a/tests/loop_if.py.uast +++ b/tests/loop_if.py.uast @@ -44,6 +44,11 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 27 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } diff --git a/tests/native/assert_constant.py.json b/tests/native/assert_constant.py.json deleted file mode 100644 index 60d8077d..00000000 --- a/tests/native/assert_constant.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assert","col_offset":0,"lineno":1,"msg":null,"test":{"LiteralValue":true,"ast_type":"BoolLiteral","col_offset":7,"lineno":1}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/astexport.py.json b/tests/native/astexport.py.json deleted file mode 100644 index 9d8e6527..00000000 --- a/tests/native/astexport.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY2AST":{"ast_type":"Module","body":[{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":1,"module":"__future__","names":[{"asname":null,"ast_type":"alias","name":"print_function"}]},{"ast_type":"Import","col_offset":0,"lineno":3,"names":[{"asname":null,"ast_type":"alias","name":"ast"}],"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Import","col_offset":0,"lineno":4,"names":[{"asname":null,"ast_type":"alias","name":"tokenize"}]},{"ast_type":"Import","col_offset":0,"lineno":5,"names":[{"asname":"token_module","ast_type":"alias","name":"token"}]},{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":6,"module":"six","names":[{"asname":null,"ast_type":"alias","name":"StringIO"}]},{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":7,"module":"codecs","names":[{"asname":null,"ast_type":"alias","name":"encode"}]},{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":8,"module":"pprint","names":[{"asname":null,"ast_type":"alias","name":"pprint"}]},{"args":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Param","id":"codestr","lineno":12,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"# TODO: add an option to not change the node names of NameConstant, Num and Str\n"},{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":4,"lineno":13,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"visitor","lineno":13}],"value":{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"codestr","lineno":13}],"ast_type":"Call","col_offset":14,"func":{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"DictExportVisitor","lineno":13},"keywords":[],"kwargs":null,"lineno":13,"starargs":null}},{"ast_type":"Return","col_offset":4,"lineno":14,"value":{"args":[],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Attribute","attr":"parse","col_offset":11,"ctx":"Load","lineno":14,"value":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"visitor","lineno":14}},"keywords":[],"kwargs":null,"lineno":14,"starargs":null}}],"col_offset":0,"decorator_list":[],"lineno":12,"name":"export_dict"},{"args":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Param","id":"codestr","lineno":17,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":25,"ctx":"Param","id":"pretty_print","lineno":17}],"ast_type":"arguments","defaults":[{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"False","lineno":17}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Import","col_offset":4,"lineno":18,"names":[{"asname":null,"ast_type":"alias","name":"json"}]},{"ast_type":"Assign","col_offset":4,"lineno":19,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"dict_","lineno":19}],"value":{"args":[{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"codestr","lineno":19}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"export_dict","lineno":19},"keywords":[],"kwargs":null,"lineno":19,"starargs":null}},{"ast_type":"Assign","col_offset":4,"lineno":20,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"json_","lineno":20}],"value":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"dict_","lineno":20}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Attribute","attr":"dumps","col_offset":12,"ctx":"Load","lineno":20,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"json","lineno":20}},"keywords":[{"arg":"indent","ast_type":"keyword","value":{"ast_type":"IfExp","body":{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":37,"lineno":20},"col_offset":37,"lineno":20,"orelse":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":60,"lineno":20},"test":{"ast_type":"Name","col_offset":42,"ctx":"Load","id":"pretty_print","lineno":20}}},{"arg":"ensure_ascii","ast_type":"keyword","value":{"ast_type":"Name","col_offset":76,"ctx":"Load","id":"False","lineno":20}}],"kwargs":null,"lineno":20,"starargs":null}},{"ast_type":"Return","col_offset":4,"lineno":21,"value":{"ast_type":"Tuple","col_offset":11,"ctx":"Load","elts":[{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"json_","lineno":21},{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"dict_","lineno":21}],"lineno":21}}],"col_offset":0,"decorator_list":[],"lineno":17,"name":"export_json"},{"ast_type":"Assign","col_offset":0,"lineno":23,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"namecounter","lineno":23,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":14,"lineno":23}},{"args":{"args":[{"ast_type":"Name","col_offset":20,"ctx":"Param","id":"codestr","lineno":24}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":27,"value":{"LiteralValue":"\n WARNING: Experimental, only compatible with Python 3 and unfinished\n ","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":4,"lineno":30,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"parent_nodekeys","lineno":30,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # TODO: use fillcolor for different ast_types\n"},{"ast_type":"NoopLine","l":" # TODO: use shape for giving different shapes to different nodes: http://www.graphviz.org/content/node-shapes#polygon\n"}]}}],"value":{"ast_type":"Set","col_offset":22,"elts":[{"LiteralValue":"body","ast_type":"StringLiteral"},{"LiteralValue":"names","ast_type":"StringLiteral"},{"LiteralValue":"targets","ast_type":"StringLiteral"},{"LiteralValue":"value","ast_type":"StringLiteral"},{"LiteralValue":"func","ast_type":"StringLiteral"},{"LiteralValue":"args","ast_type":"StringLiteral"},{"LiteralValue":"keywords","ast_type":"StringLiteral"},{"LiteralValue":"keys","ast_type":"StringLiteral"},{"LiteralValue":"left","ast_type":"StringLiteral"},{"LiteralValue":"right","ast_type":"StringLiteral"}],"lineno":30}},{"ast_type":"ImportFrom","col_offset":4,"level":0,"lineno":32,"module":"graphviz","names":[{"asname":null,"ast_type":"alias","name":"Graph"}]},{"args":{"args":[{"ast_type":"Name","col_offset":17,"ctx":"Param","id":"dot","lineno":35,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":" # These nodes will show their childs as hanging from their parent\n"}]}},{"ast_type":"Name","col_offset":22,"ctx":"Param","id":"obj","lineno":35},{"ast_type":"Name","col_offset":27,"ctx":"Param","id":"parent","lineno":35},{"ast_type":"Name","col_offset":40,"ctx":"Param","id":"reparent","lineno":35}],"ast_type":"arguments","defaults":[{"ast_type":"Name","col_offset":34,"ctx":"Load","id":"None","lineno":35},{"ast_type":"Name","col_offset":49,"ctx":"Load","id":"False","lineno":35}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Global","col_offset":8,"lineno":36,"names":[{"ast_type":"Name","col_offset":8,"id":"namecounter","lineno":36}]},{"ast_type":"AugAssign","col_offset":8,"lineno":38,"op":{"ast_type":"Add"},"target":{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"namecounter","lineno":38,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":23,"lineno":38}},{"ast_type":"Assign","col_offset":8,"lineno":39,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"nodename","lineno":39}],"value":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"namecounter","lineno":39}],"ast_type":"Call","col_offset":19,"func":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"str","lineno":39},"keywords":[],"kwargs":null,"lineno":39,"starargs":null}},{"args":{"args":[{"ast_type":"Name","col_offset":21,"ctx":"Param","id":"node","lineno":41,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":12,"lineno":42,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"subname","lineno":42}],"value":{"LiteralValue":"","ast_type":"StringLiteral"}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":44,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"ast","lineno":44}],"value":{"args":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":22,"func":{"ast_type":"Attribute","attr":"get","col_offset":22,"ctx":"Load","lineno":44,"value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"node","lineno":44}},"keywords":[],"kwargs":null,"lineno":44,"starargs":null}},{"ast_type":"Assign","col_offset":16,"lineno":45,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"subname","lineno":45}],"value":{"args":[{"LiteralValue":"name","ast_type":"StringLiteral"},{"LiteralValue":"","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":26,"func":{"ast_type":"Attribute","attr":"get","col_offset":26,"ctx":"Load","lineno":45,"value":{"ast_type":"Name","col_offset":26,"ctx":"Load","id":"node","lineno":45}},"keywords":[],"kwargs":null,"lineno":45,"starargs":null}},{"ast_type":"Assign","col_offset":16,"lineno":46,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"id","lineno":46}],"value":{"args":[{"LiteralValue":"id","ast_type":"StringLiteral"},{"LiteralValue":"","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":21,"func":{"ast_type":"Attribute","attr":"get","col_offset":21,"ctx":"Load","lineno":46,"value":{"ast_type":"Name","col_offset":21,"ctx":"Load","id":"node","lineno":46}},"keywords":[],"kwargs":null,"lineno":46,"starargs":null}},{"ast_type":"Assign","col_offset":16,"lineno":47,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"arg","lineno":47}],"value":{"args":[{"LiteralValue":"arg","ast_type":"StringLiteral"},{"LiteralValue":"","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":22,"func":{"ast_type":"Attribute","attr":"get","col_offset":22,"ctx":"Load","lineno":47,"value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"node","lineno":47}},"keywords":[],"kwargs":null,"lineno":47,"starargs":null}},{"ast_type":"Assign","col_offset":16,"lineno":48,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"separator","lineno":48}],"value":{"ast_type":"IfExp","body":{"LiteralValue":": ","ast_type":"StringLiteral"},"col_offset":28,"lineno":48,"orelse":{"LiteralValue":"","ast_type":"StringLiteral"},"test":{"ast_type":"BoolOp","col_offset":36,"lineno":48,"op":{"ast_type":"And"},"values":[{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"ast","lineno":48},{"ast_type":"BoolOp","col_offset":45,"lineno":48,"op":{"ast_type":"Or"},"values":[{"ast_type":"Name","col_offset":45,"ctx":"Load","id":"subname","lineno":48},{"ast_type":"Name","col_offset":56,"ctx":"Load","id":"id","lineno":48},{"ast_type":"Name","col_offset":62,"ctx":"Load","id":"arg","lineno":48}]}]}}},{"ast_type":"Assign","col_offset":16,"lineno":49,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"name","lineno":49}],"value":{"ast_type":"BinOp","col_offset":23,"left":{"LiteralValue":"%s%s%s%s%s","ast_type":"StringLiteral"},"lineno":49,"op":{"ast_type":"Mod"},"right":{"ast_type":"Tuple","col_offset":39,"ctx":"Load","elts":[{"ast_type":"Name","col_offset":39,"ctx":"Load","id":"ast","lineno":49},{"ast_type":"Name","col_offset":44,"ctx":"Load","id":"separator","lineno":49},{"ast_type":"Name","col_offset":55,"ctx":"Load","id":"subname","lineno":49},{"ast_type":"Name","col_offset":64,"ctx":"Load","id":"id","lineno":49},{"ast_type":"Name","col_offset":68,"ctx":"Load","id":"arg","lineno":49}],"lineno":49}}}],"col_offset":12,"lineno":43,"orelse":[{"ast_type":"Assign","col_offset":16,"lineno":51,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"name","lineno":51}],"value":{"args":[{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"node","lineno":51}],"ast_type":"Call","col_offset":27,"func":{"ast_type":"Name","col_offset":27,"ctx":"Load","id":"type","lineno":51},"keywords":[],"kwargs":null,"lineno":51,"starargs":null}],"ast_type":"Call","col_offset":23,"func":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"str","lineno":51},"keywords":[],"kwargs":null,"lineno":51,"starargs":null}}],"test":{"args":[{"ast_type":"Name","col_offset":26,"ctx":"Load","id":"node","lineno":43},{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"dict","lineno":43}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"isinstance","lineno":43},"keywords":[],"kwargs":null,"lineno":43,"starargs":null}},{"ast_type":"Return","col_offset":12,"lineno":52,"value":{"ast_type":"Tuple","col_offset":19,"ctx":"Load","elts":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"name","lineno":52},{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"subname","lineno":52}],"lineno":52}}],"col_offset":8,"decorator_list":[],"lineno":41,"name":"get_name"},{"ast_type":"Assign","col_offset":8,"lineno":54,"targets":[{"ast_type":"Tuple","col_offset":8,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"name","lineno":54,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":14,"ctx":"Store","id":"origname","lineno":54}],"lineno":54}],"value":{"args":[{"ast_type":"Name","col_offset":34,"ctx":"Load","id":"obj","lineno":54}],"ast_type":"Call","col_offset":25,"func":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"get_name","lineno":54},"keywords":[],"kwargs":null,"lineno":54,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":56,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"nodename","lineno":56}],"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"parent","lineno":56}}],"col_offset":8,"lineno":55,"orelse":[{"ast_type":"Expr","col_offset":12,"lineno":58,"value":{"args":[{"ast_type":"Name","col_offset":21,"ctx":"Load","id":"nodename","lineno":58}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Attribute","attr":"node","col_offset":12,"ctx":"Load","lineno":58,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"dot","lineno":58}},"keywords":[{"arg":"label","ast_type":"keyword","value":{"ast_type":"Name","col_offset":37,"ctx":"Load","id":"name","lineno":58}}],"kwargs":null,"lineno":58,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Expr","col_offset":16,"lineno":60,"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"parent","lineno":60},{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"nodename","lineno":60}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"edge","col_offset":16,"ctx":"Load","lineno":60,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"dot","lineno":60}},"keywords":[],"kwargs":null,"lineno":60,"starargs":null}}],"col_offset":12,"lineno":59,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"parent","lineno":59}}],"test":{"ast_type":"BoolOp","col_offset":11,"lineno":55,"op":{"ast_type":"Or"},"values":[{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"reparent","lineno":55},{"ast_type":"Compare","col_offset":23,"comparators":[{"ast_type":"Tuple","col_offset":37,"ctx":"Load","elts":[{"ast_type":"Name","col_offset":37,"ctx":"Load","id":"list","lineno":55},{"ast_type":"Name","col_offset":43,"ctx":"Load","id":"tuple","lineno":55}],"lineno":55}],"left":{"args":[{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"obj","lineno":55}],"ast_type":"Call","col_offset":23,"func":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"type","lineno":55},"keywords":[],"kwargs":null,"lineno":55,"starargs":null},"lineno":55,"ops":[{"ast_type":"In"}]}]}},{"ast_type":"If","body":[{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":20,"lineno":65,"targets":[{"ast_type":"Name","col_offset":20,"ctx":"Store","id":"reparent","lineno":65}],"value":{"ast_type":"Compare","col_offset":31,"comparators":[{"LiteralValue":"names","ast_type":"StringLiteral"}],"left":{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"childkey","lineno":65},"lineno":65,"ops":[{"ast_type":"Eq"}]}},{"ast_type":"Expr","col_offset":20,"lineno":66,"value":{"args":[{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"dot","lineno":66},{"ast_type":"Subscript","col_offset":34,"ctx":"Load","lineno":66,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"childkey","lineno":66}},"value":{"ast_type":"Name","col_offset":34,"ctx":"Load","id":"obj","lineno":66}},{"ast_type":"Name","col_offset":49,"ctx":"Load","id":"nodename","lineno":66},{"ast_type":"Name","col_offset":59,"ctx":"Load","id":"reparent","lineno":66}],"ast_type":"Call","col_offset":20,"func":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"generate","lineno":66},"keywords":[],"kwargs":null,"lineno":66,"starargs":null}}],"col_offset":16,"lineno":64,"orelse":[],"test":{"ast_type":"Compare","col_offset":19,"comparators":[{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"obj","lineno":64}],"left":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"childkey","lineno":64},"lineno":64,"ops":[{"ast_type":"In"}]}}],"col_offset":12,"iter":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"parent_nodekeys","lineno":63},"lineno":63,"orelse":[],"target":{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"childkey","lineno":63}}],"col_offset":8,"lineno":62,"orelse":[{"ast_type":"If","body":[{"ast_type":"For","body":[{"ast_type":"Expr","col_offset":16,"lineno":70,"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"dot","lineno":70},{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"value","lineno":70},{"ast_type":"Name","col_offset":37,"ctx":"Load","id":"nodename","lineno":70}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"generate","lineno":70},"keywords":[],"kwargs":null,"lineno":70,"starargs":null}}],"col_offset":12,"iter":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"obj","lineno":69},"lineno":69,"orelse":[],"target":{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"value","lineno":69}}],"col_offset":13,"lineno":68,"orelse":[],"test":{"ast_type":"BoolOp","col_offset":13,"lineno":68,"op":{"ast_type":"Or"},"values":[{"args":[{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"obj","lineno":68},{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"list","lineno":68}],"ast_type":"Call","col_offset":13,"func":{"ast_type":"Name","col_offset":13,"ctx":"Load","id":"isinstance","lineno":68,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[],"kwargs":null,"lineno":68,"starargs":null},{"args":[{"ast_type":"Name","col_offset":49,"ctx":"Load","id":"obj","lineno":68},{"ast_type":"Name","col_offset":54,"ctx":"Load","id":"tuple","lineno":68}],"ast_type":"Call","col_offset":38,"func":{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"isinstance","lineno":68},"keywords":[],"kwargs":null,"lineno":68,"starargs":null}]}}],"test":{"args":[{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"obj","lineno":62},{"ast_type":"Name","col_offset":27,"ctx":"Load","id":"dict","lineno":62}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"isinstance","lineno":62,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[],"kwargs":null,"lineno":62,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":35,"name":"generate"},{"ast_type":"Assign","col_offset":4,"lineno":72,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"dict_","lineno":72,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Tuple","col_offset":12,"ctx":"Load","elts":[{"args":[{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"codestr","lineno":72}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"export_dict","lineno":72},"keywords":[],"kwargs":null,"lineno":72,"starargs":null}],"lineno":72}},{"ast_type":"Assign","col_offset":4,"lineno":73,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"dot","lineno":73}],"value":{"args":[],"ast_type":"Call","col_offset":10,"func":{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"Graph","lineno":73},"keywords":[{"arg":"comment","ast_type":"keyword","value":{"LiteralValue":"Python AST","ast_type":"StringLiteral"}},{"arg":"format","ast_type":"keyword","value":{"LiteralValue":"pdf","ast_type":"StringLiteral"}},{"arg":"graph_attr","ast_type":"keyword","value":{"ast_type":"Dict","col_offset":27,"keys":[{"LiteralValue":"ranksep","ast_type":"StringLiteral"}],"lineno":74,"values":[{"LiteralValue":"2.5","ast_type":"StringLiteral"}]}}],"kwargs":null,"lineno":73,"starargs":null}},{"ast_type":"Expr","col_offset":4,"lineno":76,"value":{"args":[{"ast_type":"Name","col_offset":13,"ctx":"Load","id":"dot","lineno":76},{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"dict_","lineno":76},{"LiteralValue":"RootNode","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"generate","lineno":76},"keywords":[],"kwargs":null,"lineno":76,"starargs":null}},{"ast_type":"With","body":[{"ast_type":"Expr","col_offset":8,"lineno":79,"value":{"args":[{"ast_type":"Attribute","attr":"source","col_offset":14,"ctx":"Load","lineno":79,"value":{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"dot","lineno":79}}],"ast_type":"Call","col_offset":8,"func":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"print","lineno":79},"keywords":[{"arg":"file","ast_type":"keyword","value":{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"dotfile","lineno":79}}],"kwargs":null,"lineno":79,"starargs":null}}],"col_offset":9,"context_expr":{"args":[{"LiteralValue":"ast.dot","ast_type":"StringLiteral"},{"LiteralValue":"w","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":9,"func":{"ast_type":"Name","col_offset":9,"ctx":"Load","id":"open","lineno":78,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[],"kwargs":null,"lineno":78,"starargs":null},"lineno":78,"optional_vars":{"ast_type":"Name","col_offset":33,"ctx":"Store","id":"dotfile","lineno":78}}],"col_offset":0,"decorator_list":[],"lineno":24,"name":"export_graphviz"},{"ast_type":"Assign","col_offset":0,"lineno":82,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"TOKEN_VALUE","lineno":82,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":14,"lineno":82}},{"ast_type":"Assign","col_offset":0,"lineno":83,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"TOKEN_RAWVALUE","lineno":83}],"value":{"LiteralValue":4,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":83}},{"ast_type":"Assign","col_offset":0,"lineno":84,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"NOOP_TOKENS_LINE","lineno":84}],"value":{"ast_type":"Set","col_offset":19,"elts":[{"LiteralValue":"COMMENT","ast_type":"StringLiteral"},{"LiteralValue":"INDENT","ast_type":"StringLiteral"},{"LiteralValue":"NL","ast_type":"StringLiteral"},{"LiteralValue":"NEWLINE","ast_type":"StringLiteral"}],"lineno":84}},{"ast_type":"ClassDef","bases":[{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"object","lineno":86,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"body":[{"ast_type":"Expr","col_offset":-1,"lineno":90,"value":{"LiteralValue":"\n Tokenize the source code and extract lines with tokens that Python's\n AST generator ignore like blanks and comments\n ","ast_type":"StringLiteral"}},{"args":{"args":[{"ast_type":"Name","col_offset":17,"ctx":"Param","id":"self","lineno":92,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":23,"ctx":"Param","id":"codestr","lineno":92}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":93,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"tokens","lineno":93}],"value":{"args":[{"ast_type":"Attribute","attr":"readline","col_offset":42,"ctx":"Load","lineno":93,"value":{"args":[{"ast_type":"Name","col_offset":51,"ctx":"Load","id":"codestr","lineno":93}],"ast_type":"Call","col_offset":42,"func":{"ast_type":"Name","col_offset":42,"ctx":"Load","id":"StringIO","lineno":93},"keywords":[],"kwargs":null,"lineno":93,"starargs":null}}],"ast_type":"Call","col_offset":17,"func":{"ast_type":"Attribute","attr":"generate_tokens","col_offset":17,"ctx":"Load","lineno":93,"value":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"tokenize","lineno":93}},"keywords":[],"kwargs":null,"lineno":93,"starargs":null}},{"ast_type":"Assign","col_offset":8,"lineno":95,"targets":[{"ast_type":"Attribute","attr":"current_line","col_offset":8,"ctx":"Store","lineno":95,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":95,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}}],"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"None","lineno":95}},{"ast_type":"Assign","col_offset":8,"lineno":96,"targets":[{"ast_type":"Attribute","attr":"all_lines","col_offset":8,"ctx":"Store","lineno":96,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":96}}],"value":{"args":[{"ast_type":"Name","col_offset":54,"ctx":"Load","id":"tokens","lineno":96},{"ast_type":"Name","col_offset":62,"ctx":"Load","id":"codestr","lineno":96}],"ast_type":"Call","col_offset":25,"func":{"ast_type":"Attribute","attr":"_create_tokenized_lines","col_offset":25,"ctx":"Load","lineno":96,"value":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"self","lineno":96}},"keywords":[],"kwargs":null,"lineno":96,"starargs":null}},{"ast_type":"Assign","col_offset":8,"lineno":97,"targets":[{"ast_type":"Attribute","attr":"astmissing_lines","col_offset":8,"ctx":"Store","lineno":97,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":97}}],"value":{"args":[],"ast_type":"Call","col_offset":32,"func":{"ast_type":"Attribute","attr":"_create_astmissing_lines","col_offset":32,"ctx":"Load","lineno":97,"value":{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"self","lineno":97}},"keywords":[],"kwargs":null,"lineno":97,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":92,"name":"__init__"},{"args":{"args":[{"ast_type":"Name","col_offset":33,"ctx":"Param","id":"self","lineno":99,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":103,"value":{"LiteralValue":"\n Return a copy of line_tokens containing lines ignored by the AST\n (comments and blanks-only lines)\n ","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":8,"lineno":104,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"lines","lineno":104}],"value":{"ast_type":"List","col_offset":16,"ctx":"Load","elts":[],"lineno":104}},{"ast_type":"Assign","col_offset":8,"lineno":105,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"nl_token","lineno":105}],"value":{"ast_type":"Tuple","col_offset":20,"ctx":"Load","elts":[{"ast_type":"Attribute","attr":"NEWLINE","col_offset":20,"ctx":"Load","lineno":105,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"token_module","lineno":105}},{"LiteralValue":"\n","ast_type":"StringLiteral"},{"ast_type":"Tuple","col_offset":49,"ctx":"Load","elts":[{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":49,"lineno":105},{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":52,"lineno":105}],"lineno":105},{"ast_type":"Tuple","col_offset":57,"ctx":"Load","elts":[{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":57,"lineno":105},{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":60,"lineno":105}],"lineno":105},{"LiteralValue":"\n","ast_type":"StringLiteral"}],"lineno":105}},{"ast_type":"Assign","col_offset":8,"lineno":107,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"ltname","lineno":107,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Attribute","attr":"tok_name","col_offset":17,"ctx":"Load","lineno":107,"value":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"token_module","lineno":107}}},{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Expr","col_offset":16,"lineno":110,"value":{"args":[{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"nl_token","lineno":110}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"append","col_offset":16,"ctx":"Load","lineno":110,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"lines","lineno":110}},"keywords":[],"kwargs":null,"lineno":110,"starargs":null}}],"col_offset":12,"lineno":109,"orelse":[{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Expr","col_offset":24,"lineno":115,"value":{"args":[{"ast_type":"Name","col_offset":37,"ctx":"Load","id":"token","lineno":115}],"ast_type":"Call","col_offset":24,"func":{"ast_type":"Attribute","attr":"append","col_offset":24,"ctx":"Load","lineno":115,"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"lines","lineno":115}},"keywords":[],"kwargs":null,"lineno":115,"starargs":null}},{"ast_type":"Break","col_offset":24,"lineno":116}],"col_offset":20,"lineno":113,"orelse":[],"test":{"ast_type":"BoolOp","col_offset":23,"lineno":113,"op":{"ast_type":"And"},"values":[{"ast_type":"Compare","col_offset":23,"comparators":[{"LiteralValue":"COMMENT","ast_type":"StringLiteral"}],"left":{"ast_type":"Subscript","col_offset":23,"ctx":"Load","lineno":113,"slice":{"ast_type":"Index","value":{"ast_type":"Subscript","col_offset":30,"ctx":"Load","lineno":113,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":36,"lineno":113}},"value":{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"token","lineno":113}}},"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"ltname","lineno":113}},"lineno":113,"ops":[{"ast_type":"Eq"}]},{"args":[{"LiteralValue":"#","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":28,"func":{"ast_type":"Attribute","attr":"startswith","col_offset":28,"ctx":"Load","lineno":114,"value":{"args":[],"ast_type":"Call","col_offset":28,"func":{"ast_type":"Attribute","attr":"lstrip","col_offset":28,"ctx":"Load","lineno":114,"value":{"ast_type":"Subscript","col_offset":28,"ctx":"Load","lineno":114,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":34,"ctx":"Load","id":"TOKEN_RAWVALUE","lineno":114}},"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"token","lineno":114}}},"keywords":[],"kwargs":null,"lineno":114,"starargs":null}},"keywords":[],"kwargs":null,"lineno":114,"starargs":null}]}}],"col_offset":16,"iter":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"linetokens","lineno":112},"lineno":112,"orelse":[{"ast_type":"Expr","col_offset":20,"lineno":118,"value":{"args":[{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"None","lineno":118}],"ast_type":"Call","col_offset":20,"func":{"ast_type":"Attribute","attr":"append","col_offset":20,"ctx":"Load","lineno":118,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"lines","lineno":118}},"keywords":[],"kwargs":null,"lineno":118,"starargs":null}}],"target":{"ast_type":"Name","col_offset":20,"ctx":"Store","id":"token","lineno":112}}],"test":{"ast_type":"BoolOp","col_offset":15,"lineno":109,"op":{"ast_type":"And"},"values":[{"ast_type":"Compare","col_offset":15,"comparators":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":34,"lineno":109}],"left":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"linetokens","lineno":109}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"len","lineno":109},"keywords":[],"kwargs":null,"lineno":109,"starargs":null},"lineno":109,"ops":[{"ast_type":"Eq"}]},{"ast_type":"Compare","col_offset":40,"comparators":[{"LiteralValue":"NL","ast_type":"StringLiteral"}],"left":{"ast_type":"Subscript","col_offset":40,"ctx":"Load","lineno":109,"slice":{"ast_type":"Index","value":{"ast_type":"Subscript","col_offset":47,"ctx":"Load","lineno":109,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":61,"lineno":109}},"value":{"ast_type":"Subscript","col_offset":47,"ctx":"Load","lineno":109,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":58,"lineno":109}},"value":{"ast_type":"Name","col_offset":47,"ctx":"Load","id":"linetokens","lineno":109}}}},"value":{"ast_type":"Name","col_offset":40,"ctx":"Load","id":"ltname","lineno":109}},"lineno":109,"ops":[{"ast_type":"Eq"}]}]}}],"col_offset":8,"iter":{"args":[{"ast_type":"Attribute","attr":"all_lines","col_offset":39,"ctx":"Load","lineno":108,"value":{"ast_type":"Name","col_offset":39,"ctx":"Load","id":"self","lineno":108}}],"ast_type":"Call","col_offset":29,"func":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"enumerate","lineno":108},"keywords":[],"kwargs":null,"lineno":108,"starargs":null},"lineno":108,"orelse":[],"target":{"ast_type":"Tuple","col_offset":12,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"i","lineno":108},{"ast_type":"Name","col_offset":15,"ctx":"Store","id":"linetokens","lineno":108}],"lineno":108}},{"ast_type":"Assert","col_offset":8,"lineno":119,"msg":null,"test":{"ast_type":"Compare","col_offset":15,"comparators":[{"args":[{"ast_type":"Attribute","attr":"all_lines","col_offset":33,"ctx":"Load","lineno":119,"value":{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"self","lineno":119}}],"ast_type":"Call","col_offset":29,"func":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"len","lineno":119},"keywords":[],"kwargs":null,"lineno":119,"starargs":null}],"left":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"lines","lineno":119}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"len","lineno":119},"keywords":[],"kwargs":null,"lineno":119,"starargs":null},"lineno":119,"ops":[{"ast_type":"Eq"}]}},{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":123,"targets":[{"ast_type":"Attribute","attr":"current_line","col_offset":16,"ctx":"Store","lineno":123,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":123}}],"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"i","lineno":123}},{"ast_type":"Break","col_offset":16,"lineno":124}],"col_offset":12,"lineno":122,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"linetokens","lineno":122}}],"col_offset":8,"iter":{"args":[{"ast_type":"Name","col_offset":39,"ctx":"Load","id":"lines","lineno":121}],"ast_type":"Call","col_offset":29,"func":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"enumerate","lineno":121},"keywords":[],"kwargs":null,"lineno":121,"starargs":null},"lineno":121,"orelse":[{"ast_type":"Assign","col_offset":12,"lineno":126,"targets":[{"ast_type":"Attribute","attr":"current_line","col_offset":12,"ctx":"Store","lineno":126,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"self","lineno":126}}],"value":{"args":[{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"lines","lineno":126}],"ast_type":"Call","col_offset":32,"func":{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"len","lineno":126},"keywords":[],"kwargs":null,"lineno":126,"starargs":null}}],"target":{"ast_type":"Tuple","col_offset":12,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"i","lineno":121,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":15,"ctx":"Store","id":"linetokens","lineno":121}],"lineno":121}},{"ast_type":"Return","col_offset":8,"lineno":127,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"lines","lineno":127}}],"col_offset":4,"decorator_list":[],"lineno":99,"name":"_create_astmissing_lines"},{"args":{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Param","id":"self","lineno":129,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":38,"ctx":"Param","id":"tokens","lineno":129},{"ast_type":"Name","col_offset":46,"ctx":"Param","id":"codestr","lineno":129}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":132,"value":{"LiteralValue":"\n Create a list of tokenized lines\n ","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":8,"lineno":133,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"lines","lineno":133}],"value":{"ast_type":"IfExp","body":{"args":[],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"splitlines","col_offset":16,"ctx":"Load","lineno":133,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"codestr","lineno":133}},"keywords":[],"kwargs":null,"lineno":133,"starargs":null},"col_offset":16,"lineno":133,"orelse":{"ast_type":"List","col_offset":53,"ctx":"Load","elts":[],"lineno":133},"test":{"ast_type":"Name","col_offset":40,"ctx":"Load","id":"codestr","lineno":133}}},{"ast_type":"Assign","col_offset":8,"lineno":134,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"result","lineno":134}],"value":{"ast_type":"List","col_offset":17,"ctx":"Load","elts":[],"lineno":134}},{"ast_type":"For","body":[{"ast_type":"Expr","col_offset":12,"lineno":136,"value":{"args":[{"ast_type":"List","col_offset":26,"ctx":"Load","elts":[],"lineno":136}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Attribute","attr":"append","col_offset":12,"ctx":"Load","lineno":136,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"result","lineno":136}},"keywords":[],"kwargs":null,"lineno":136,"starargs":null}}],"col_offset":8,"iter":{"args":[{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":23,"lineno":135},{"ast_type":"BinOp","col_offset":26,"left":{"args":[{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"lines","lineno":135}],"ast_type":"Call","col_offset":26,"func":{"ast_type":"Name","col_offset":26,"ctx":"Load","id":"len","lineno":135},"keywords":[],"kwargs":null,"lineno":135,"starargs":null},"lineno":135,"op":{"ast_type":"Add"},"right":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":39,"lineno":135}}],"ast_type":"Call","col_offset":17,"func":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"range","lineno":135},"keywords":[],"kwargs":null,"lineno":135,"starargs":null},"lineno":135,"orelse":[],"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"i","lineno":135}},{"ast_type":"Assign","col_offset":8,"lineno":138,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"ltname","lineno":138,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Attribute","attr":"tok_name","col_offset":17,"ctx":"Load","lineno":138,"value":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"token_module","lineno":138}}},{"ast_type":"For","body":[{"ast_type":"Assign","col_offset":12,"lineno":140,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"tokentype","lineno":140}],"value":{"ast_type":"Subscript","col_offset":24,"ctx":"Load","lineno":140,"slice":{"ast_type":"Index","value":{"ast_type":"Subscript","col_offset":31,"ctx":"Load","lineno":140,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":37,"lineno":140}},"value":{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"token","lineno":140}}},"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"ltname","lineno":140}}},{"ast_type":"Assign","col_offset":12,"lineno":141,"targets":[{"ast_type":"Tuple","col_offset":12,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"srow","lineno":141},{"ast_type":"Name","col_offset":18,"ctx":"Store","id":"scol","lineno":141}],"lineno":141}],"value":{"ast_type":"Subscript","col_offset":25,"ctx":"Load","lineno":141,"slice":{"ast_type":"Index","value":{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":31,"lineno":141}},"value":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"token","lineno":141}}},{"ast_type":"Assign","col_offset":12,"lineno":142,"targets":[{"ast_type":"Tuple","col_offset":12,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"erow","lineno":142},{"ast_type":"Name","col_offset":18,"ctx":"Store","id":"ecol","lineno":142}],"lineno":142}],"value":{"ast_type":"Subscript","col_offset":25,"ctx":"Load","lineno":142,"slice":{"ast_type":"Index","value":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":31,"lineno":142}},"value":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"token","lineno":142}}},{"ast_type":"Assign","col_offset":12,"lineno":143,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"line","lineno":143}],"value":{"ast_type":"IfExp","body":{"ast_type":"BinOp","col_offset":19,"left":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"erow","lineno":143},"lineno":143,"op":{"ast_type":"Sub"},"right":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":26,"lineno":143}},"col_offset":19,"lineno":143,"orelse":{"ast_type":"BinOp","col_offset":58,"left":{"ast_type":"Name","col_offset":58,"ctx":"Load","id":"srow","lineno":143},"lineno":143,"op":{"ast_type":"Sub"},"right":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":65,"lineno":143}},"test":{"ast_type":"Compare","col_offset":31,"comparators":[{"LiteralValue":"STRING","ast_type":"StringLiteral"}],"left":{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"tokentype","lineno":143},"lineno":143,"ops":[{"ast_type":"Eq"}]}}},{"ast_type":"Expr","col_offset":12,"lineno":144,"value":{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"token","lineno":144}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Attribute","attr":"append","col_offset":12,"ctx":"Load","lineno":144,"value":{"ast_type":"Subscript","col_offset":12,"ctx":"Load","lineno":144,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"line","lineno":144}},"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"result","lineno":144}}},"keywords":[],"kwargs":null,"lineno":144,"starargs":null}}],"col_offset":8,"iter":{"ast_type":"Name","col_offset":21,"ctx":"Load","id":"tokens","lineno":139},"lineno":139,"orelse":[],"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"token","lineno":139}},{"ast_type":"Assert","col_offset":8,"lineno":145,"msg":{"args":[{"ast_type":"Name","col_offset":50,"ctx":"Load","id":"result","lineno":145}],"ast_type":"Call","col_offset":46,"func":{"ast_type":"Name","col_offset":46,"ctx":"Load","id":"len","lineno":145},"keywords":[],"kwargs":null,"lineno":145,"starargs":null},"test":{"ast_type":"Compare","col_offset":15,"comparators":[{"args":[{"ast_type":"Name","col_offset":37,"ctx":"Load","id":"result","lineno":145}],"ast_type":"Call","col_offset":33,"func":{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"len","lineno":145},"keywords":[],"kwargs":null,"lineno":145,"starargs":null}],"left":{"ast_type":"BinOp","col_offset":15,"left":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"lines","lineno":145}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"len","lineno":145},"keywords":[],"kwargs":null,"lineno":145,"starargs":null},"lineno":145,"op":{"ast_type":"Add"},"right":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":28,"lineno":145}},"lineno":145,"ops":[{"ast_type":"Eq"}]}},{"ast_type":"Return","col_offset":8,"lineno":146,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"result","lineno":146}}],"col_offset":4,"decorator_list":[],"lineno":129,"name":"_create_tokenized_lines"},{"args":{"args":[{"ast_type":"Name","col_offset":27,"ctx":"Param","id":"self","lineno":148,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":33,"ctx":"Param","id":"node","lineno":148}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":8,"lineno":149,"value":{"LiteralValue":"Return a list of the preceding comment and blank lines","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":8,"lineno":150,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"previous","lineno":150}],"value":{"ast_type":"List","col_offset":19,"ctx":"Load","elts":[],"lineno":150}},{"ast_type":"If","body":[{"ast_type":"While","body":[{"ast_type":"Assign","col_offset":16,"lineno":153,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"token","lineno":153}],"value":{"ast_type":"Subscript","col_offset":24,"ctx":"Load","lineno":153,"slice":{"ast_type":"Index","value":{"ast_type":"Attribute","attr":"current_line","col_offset":46,"ctx":"Load","lineno":153,"value":{"ast_type":"Name","col_offset":46,"ctx":"Load","id":"self","lineno":153}}},"value":{"ast_type":"Attribute","attr":"astmissing_lines","col_offset":24,"ctx":"Load","lineno":153,"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"self","lineno":153}}}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":20,"lineno":155,"targets":[{"ast_type":"Name","col_offset":20,"ctx":"Store","id":"s","lineno":155}],"value":{"ast_type":"BinOp","col_offset":24,"left":{"args":[],"ast_type":"Call","col_offset":24,"func":{"ast_type":"Attribute","attr":"rstrip","col_offset":24,"ctx":"Load","lineno":155,"value":{"ast_type":"Subscript","col_offset":24,"ctx":"Load","lineno":155,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"TOKEN_RAWVALUE","lineno":155}},"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"token","lineno":155}}},"keywords":[],"kwargs":null,"lineno":155,"starargs":null},"lineno":155,"op":{"ast_type":"Add"},"right":{"LiteralValue":"\n","ast_type":"StringLiteral"}}},{"ast_type":"Expr","col_offset":20,"lineno":156,"value":{"args":[{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"s","lineno":156}],"ast_type":"Call","col_offset":20,"func":{"ast_type":"Attribute","attr":"append","col_offset":20,"ctx":"Load","lineno":156,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"previous","lineno":156}},"keywords":[],"kwargs":null,"lineno":156,"starargs":null}}],"col_offset":16,"lineno":154,"orelse":[],"test":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"token","lineno":154}},{"ast_type":"AugAssign","col_offset":16,"lineno":157,"op":{"ast_type":"Add"},"target":{"ast_type":"Attribute","attr":"current_line","col_offset":16,"ctx":"Store","lineno":157,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":157}},"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":37,"lineno":157}}],"col_offset":12,"lineno":152,"orelse":[],"test":{"ast_type":"Compare","col_offset":18,"comparators":[{"ast_type":"Attribute","attr":"lineno","col_offset":38,"ctx":"Load","lineno":152,"value":{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"node","lineno":152}}],"left":{"ast_type":"Attribute","attr":"current_line","col_offset":18,"ctx":"Load","lineno":152,"value":{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"self","lineno":152}},"lineno":152,"ops":[{"ast_type":"Lt"}]}}],"col_offset":8,"lineno":151,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":151},{"LiteralValue":"lineno","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"hasattr","lineno":151},"keywords":[],"kwargs":null,"lineno":151,"starargs":null}},{"ast_type":"Return","col_offset":8,"lineno":158,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"previous","lineno":158}}],"col_offset":4,"decorator_list":[],"lineno":148,"name":"previous_nooplines"},{"args":{"args":[{"ast_type":"Name","col_offset":33,"ctx":"Param","id":"self","lineno":160,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":39,"ctx":"Param","id":"node","lineno":160}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":164,"value":{"LiteralValue":"\n Return a string containing the trailing (until EOL) noops for the\n node, if any. The ending newline is implicit and thus not returned\n ","ast_type":"StringLiteral"}},{"ast_type":"If","body":[{"ast_type":"Return","col_offset":12,"lineno":166,"value":{"LiteralValue":"","ast_type":"StringLiteral"}}],"col_offset":8,"lineno":165,"orelse":[],"test":{"ast_type":"UnaryOp","col_offset":11,"lineno":165,"op":{"ast_type":"Not"},"operand":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"node","lineno":165},{"LiteralValue":"lineno","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"hasattr","lineno":165},"keywords":[],"kwargs":null,"lineno":165,"starargs":null}}},{"ast_type":"Assign","col_offset":8,"lineno":168,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"tokens","lineno":168,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Subscript","col_offset":17,"ctx":"Load","lineno":168,"slice":{"ast_type":"Index","value":{"ast_type":"BinOp","col_offset":32,"left":{"ast_type":"Attribute","attr":"lineno","col_offset":32,"ctx":"Load","lineno":168,"value":{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"node","lineno":168}},"lineno":168,"op":{"ast_type":"Sub"},"right":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":46,"lineno":168}}},"value":{"ast_type":"Attribute","attr":"all_lines","col_offset":17,"ctx":"Load","lineno":168,"value":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"self","lineno":168}}}},{"ast_type":"Assign","col_offset":8,"lineno":169,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"trailing","lineno":169}],"value":{"ast_type":"List","col_offset":19,"ctx":"Load","elts":[],"lineno":169}},{"ast_type":"Assign","col_offset":8,"lineno":170,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"ltname","lineno":170}],"value":{"ast_type":"Attribute","attr":"tok_name","col_offset":17,"ctx":"Load","lineno":170,"value":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"token_module","lineno":170}}},{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":175,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"trailing","lineno":175,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # restart\n"}]}}],"value":{"ast_type":"List","col_offset":27,"ctx":"Load","elts":[],"lineno":175}}],"col_offset":12,"lineno":173,"orelse":[{"ast_type":"Expr","col_offset":16,"lineno":177,"value":{"args":[{"ast_type":"Subscript","col_offset":32,"ctx":"Load","lineno":177,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"TOKEN_VALUE","lineno":177}},"value":{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"token","lineno":177}}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"append","col_offset":16,"ctx":"Load","lineno":177,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"trailing","lineno":177}},"keywords":[],"kwargs":null,"lineno":177,"starargs":null}}],"test":{"ast_type":"Compare","col_offset":15,"comparators":[{"ast_type":"Name","col_offset":39,"ctx":"Load","id":"NOOP_TOKENS_LINE","lineno":173}],"left":{"ast_type":"Subscript","col_offset":15,"ctx":"Load","lineno":173,"slice":{"ast_type":"Index","value":{"ast_type":"Subscript","col_offset":22,"ctx":"Load","lineno":173,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":28,"lineno":173}},"value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"token","lineno":173}}},"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"ltname","lineno":173}},"lineno":173,"ops":[{"ast_type":"NotIn"}]}}],"col_offset":8,"iter":{"ast_type":"Name","col_offset":21,"ctx":"Load","id":"tokens","lineno":172},"lineno":172,"orelse":[],"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"token","lineno":172,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}},{"ast_type":"Return","col_offset":8,"lineno":178,"value":{"args":[{"ast_type":"Subscript","col_offset":23,"ctx":"Load","lineno":178,"slice":{"ast_type":"Slice","lower":null,"step":null,"upper":{"LiteralValue":-1,"NumType":"int","ast_type":"NumLiteral","col_offset":33,"lineno":178}},"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"trailing","lineno":178}}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Attribute","attr":"join","col_offset":15,"ctx":"Load","lineno":178,"value":{"LiteralValue":"","ast_type":"StringLiteral"}},"keywords":[],"kwargs":null,"lineno":178,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":160,"name":"remainder_noops_sameline"},{"args":{"args":[{"ast_type":"Name","col_offset":24,"ctx":"Param","id":"self","lineno":180,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":8,"lineno":181,"value":{"LiteralValue":"return any remaining ignored lines.","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":8,"lineno":182,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"trailing","lineno":182}],"value":{"ast_type":"List","col_offset":19,"ctx":"Load","elts":[],"lineno":182}},{"ast_type":"Assign","col_offset":8,"lineno":183,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"i","lineno":183}],"value":{"ast_type":"Attribute","attr":"current_line","col_offset":12,"ctx":"Load","lineno":183,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"self","lineno":183}}},{"ast_type":"While","body":[{"ast_type":"Assign","col_offset":12,"lineno":185,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"token","lineno":185}],"value":{"ast_type":"Subscript","col_offset":20,"ctx":"Load","lineno":185,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":42,"ctx":"Load","id":"i","lineno":185}},"value":{"ast_type":"Attribute","attr":"astmissing_lines","col_offset":20,"ctx":"Load","lineno":185,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"self","lineno":185}}}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":187,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"s","lineno":187}],"value":{"ast_type":"Subscript","col_offset":20,"ctx":"Load","lineno":187,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":26,"ctx":"Load","id":"TOKEN_RAWVALUE","lineno":187}},"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"token","lineno":187}}},{"ast_type":"Expr","col_offset":16,"lineno":188,"value":{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"s","lineno":188}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"append","col_offset":16,"ctx":"Load","lineno":188,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"trailing","lineno":188}},"keywords":[],"kwargs":null,"lineno":188,"starargs":null}}],"col_offset":12,"lineno":186,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"token","lineno":186}},{"ast_type":"AugAssign","col_offset":12,"lineno":189,"op":{"ast_type":"Add"},"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"i","lineno":189},"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":189}}],"col_offset":8,"lineno":184,"orelse":[],"test":{"ast_type":"Compare","col_offset":14,"comparators":[{"args":[{"ast_type":"Attribute","attr":"astmissing_lines","col_offset":22,"ctx":"Load","lineno":184,"value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"self","lineno":184}}],"ast_type":"Call","col_offset":18,"func":{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"len","lineno":184},"keywords":[],"kwargs":null,"lineno":184,"starargs":null}],"left":{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"i","lineno":184},"lineno":184,"ops":[{"ast_type":"Lt"}]}},{"ast_type":"Assign","col_offset":8,"lineno":190,"targets":[{"ast_type":"Attribute","attr":"current_line","col_offset":8,"ctx":"Store","lineno":190,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":190}}],"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"i","lineno":190}},{"ast_type":"Return","col_offset":8,"lineno":191,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"trailing","lineno":191}}],"col_offset":4,"decorator_list":[],"lineno":180,"name":"remainder_noops"}],"col_offset":0,"decorator_list":[],"lineno":86,"name":"NoopExtractor"},{"args":{"args":[{"ast_type":"Name","col_offset":14,"ctx":"Param","id":"node","lineno":193,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":20,"ctx":"Param","id":"newdict","lineno":193},{"ast_type":"Name","col_offset":29,"ctx":"Param","id":"ast_type","lineno":193}],"ast_type":"arguments","defaults":[{"ast_type":"Name","col_offset":38,"ctx":"Load","id":"None","lineno":193}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":197,"value":{"LiteralValue":"\n Shortcut that adds ast_type (if not specified),\n lineno and col_offset to the node-derived dictionary\n ","ast_type":"StringLiteral"}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":8,"lineno":199,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"ast_type","lineno":199}],"value":{"ast_type":"Attribute","attr":"__name__","col_offset":19,"ctx":"Load","lineno":199,"value":{"ast_type":"Attribute","attr":"__class__","col_offset":19,"ctx":"Load","lineno":199,"value":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":199}}}}],"col_offset":4,"lineno":198,"orelse":[],"test":{"ast_type":"Compare","col_offset":7,"comparators":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"None","lineno":198}],"left":{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"ast_type","lineno":198},"lineno":198,"ops":[{"ast_type":"Is"}]}},{"ast_type":"Assign","col_offset":4,"lineno":201,"targets":[{"ast_type":"Subscript","col_offset":4,"ctx":"Store","lineno":201,"slice":{"ast_type":"Index","value":{"LiteralValue":"ast_type","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"newdict","lineno":201,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}}],"value":{"ast_type":"Name","col_offset":26,"ctx":"Load","id":"ast_type","lineno":201}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":8,"lineno":203,"targets":[{"ast_type":"Subscript","col_offset":8,"ctx":"Store","lineno":203,"slice":{"ast_type":"Index","value":{"LiteralValue":"lineno","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"newdict","lineno":203}}],"value":{"ast_type":"Attribute","attr":"lineno","col_offset":28,"ctx":"Load","lineno":203,"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"node","lineno":203}}}],"col_offset":4,"lineno":202,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node","lineno":202},{"LiteralValue":"lineno","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":7,"func":{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"hasattr","lineno":202},"keywords":[],"kwargs":null,"lineno":202,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":8,"lineno":205,"targets":[{"ast_type":"Subscript","col_offset":8,"ctx":"Store","lineno":205,"slice":{"ast_type":"Index","value":{"LiteralValue":"col_offset","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"newdict","lineno":205}}],"value":{"ast_type":"Attribute","attr":"col_offset","col_offset":32,"ctx":"Load","lineno":205,"value":{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"node","lineno":205}}}],"col_offset":4,"lineno":204,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node","lineno":204},{"LiteralValue":"col_offset","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":7,"func":{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"hasattr","lineno":204},"keywords":[],"kwargs":null,"lineno":204,"starargs":null}},{"ast_type":"Return","col_offset":4,"lineno":207,"value":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"newdict","lineno":207,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}}],"col_offset":0,"decorator_list":[],"lineno":193,"name":"node_dict"},{"ast_type":"ClassDef","bases":[{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"object","lineno":209,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"body":[{"ast_type":"Assign","col_offset":4,"lineno":210,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"ast_type_field","lineno":210}],"value":{"LiteralValue":"ast_type","ast_type":"StringLiteral"}},{"args":{"args":[{"ast_type":"Name","col_offset":17,"ctx":"Param","id":"self","lineno":212,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":23,"ctx":"Param","id":"codestr","lineno":212},{"ast_type":"Name","col_offset":32,"ctx":"Param","id":"ast_parser","lineno":212},{"ast_type":"Name","col_offset":54,"ctx":"Param","id":"tsync_class","lineno":212}],"ast_type":"arguments","defaults":[{"ast_type":"Attribute","attr":"parse","col_offset":43,"ctx":"Load","lineno":212,"value":{"ast_type":"Name","col_offset":43,"ctx":"Load","id":"ast","lineno":212}},{"ast_type":"Name","col_offset":66,"ctx":"Load","id":"NoopExtractor","lineno":212}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":228,"value":{"LiteralValue":"\n Initialize the Token Syncer composited object, parse the source code\n and start visiting the node tree to add comments and other modifications\n\n Args:\n codestr (string): the string with the source code to parse and visit.\n\n ast_parser (function, optional): the AST parser function to use. It needs to take\n a string with the code as parameter. By default it will be ast.parse from stdlib.\n\n tsync_class (class, optional): the class to use to sinchronize the tokenizer with\n the AST visits. This is needed to extract aditional info like comments or whitespace\n that most AST parsers doesn't include in the tree. This class need to provide the public\n methods \"previous_nooplines\", \"remainder_noops_sameline\" and \"rmainder_noops\".\n By default astexport.NoopExtractor will be used.\n ","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":8,"lineno":229,"targets":[{"ast_type":"Attribute","attr":"codestr","col_offset":8,"ctx":"Store","lineno":229,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":229}}],"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"codestr","lineno":229}},{"ast_type":"Assign","col_offset":8,"lineno":230,"targets":[{"ast_type":"Attribute","attr":"sync","col_offset":8,"ctx":"Store","lineno":230,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":230}}],"value":{"args":[{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"codestr","lineno":230}],"ast_type":"Call","col_offset":20,"func":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"tsync_class","lineno":230},"keywords":[],"kwargs":null,"lineno":230,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":212,"name":"__init__"},{"args":{"args":[{"ast_type":"Name","col_offset":14,"ctx":"Param","id":"self","lineno":232,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":233,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"node","lineno":233}],"value":{"args":[{"ast_type":"Attribute","attr":"codestr","col_offset":25,"ctx":"Load","lineno":233,"value":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"self","lineno":233}}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Attribute","attr":"parse","col_offset":15,"ctx":"Load","lineno":233,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"ast","lineno":233}},"keywords":[{"arg":"mode","ast_type":"keyword","value":{"LiteralValue":"exec","ast_type":"StringLiteral"}}],"kwargs":null,"lineno":233,"starargs":null}},{"ast_type":"Assign","col_offset":8,"lineno":234,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"res","lineno":234}],"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"node","lineno":234}],"ast_type":"Call","col_offset":14,"func":{"ast_type":"Attribute","attr":"visit","col_offset":14,"ctx":"Load","lineno":234,"value":{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"self","lineno":234}},"keywords":[{"arg":"root","ast_type":"keyword","value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"True","lineno":234}}],"kwargs":null,"lineno":234,"starargs":null}},{"ast_type":"Return","col_offset":8,"lineno":235,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"res","lineno":235}}],"col_offset":4,"decorator_list":[],"lineno":232,"name":"parse"},{"args":{"args":[{"ast_type":"Name","col_offset":14,"ctx":"Param","id":"self","lineno":238,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":20,"ctx":"Param","id":"node","lineno":238},{"ast_type":"Name","col_offset":26,"ctx":"Param","id":"root","lineno":238}],"ast_type":"arguments","defaults":[{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"False","lineno":238}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":239,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"node_type","lineno":239}],"value":{"ast_type":"Attribute","attr":"__name__","col_offset":20,"ctx":"Load","lineno":239,"value":{"ast_type":"Attribute","attr":"__class__","col_offset":20,"ctx":"Load","lineno":239,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"node","lineno":239}}}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":244,"targets":[{"ast_type":"Attribute","attr":"ctx","col_offset":12,"ctx":"Store","lineno":244,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"node","lineno":244}}],"value":{"ast_type":"Attribute","attr":"__name__","col_offset":23,"ctx":"Load","lineno":244,"value":{"ast_type":"Attribute","attr":"__class__","col_offset":23,"ctx":"Load","lineno":244,"value":{"ast_type":"Attribute","attr":"ctx","col_offset":23,"ctx":"Load","lineno":244,"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"node","lineno":244}}}}}],"col_offset":8,"lineno":243,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":243},{"LiteralValue":"ctx","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"hasattr","lineno":243,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # the ctx property always has a \"Load\"/\"Store\"/etc nodes that\n"},{"ast_type":"NoopLine","l":" # can be perfectly converted to a string value since they don't\n"},{"ast_type":"NoopLine","l":" # hold anything more than the name\n"}]}},"keywords":[],"kwargs":null,"lineno":243,"starargs":null}},{"ast_type":"Assign","col_offset":8,"lineno":246,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"meth","lineno":246,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"self","lineno":246},{"ast_type":"BinOp","col_offset":29,"left":{"LiteralValue":"visit_","ast_type":"StringLiteral"},"lineno":246,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":40,"ctx":"Load","id":"node_type","lineno":246}},{"ast_type":"Attribute","attr":"visit_other","col_offset":51,"ctx":"Load","lineno":246,"value":{"ast_type":"Name","col_offset":51,"ctx":"Load","id":"self","lineno":246}}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"getattr","lineno":246},"keywords":[],"kwargs":null,"lineno":246,"starargs":null}},{"ast_type":"Assign","col_offset":8,"lineno":247,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"visit_result","lineno":247}],"value":{"args":[{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"node","lineno":247}],"ast_type":"Call","col_offset":23,"func":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"meth","lineno":247},"keywords":[],"kwargs":null,"lineno":247,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":252,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"noops_previous","lineno":252,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # Add all the noop (whitespace and comments) lines between the\n"},{"ast_type":"NoopLine","l":" # last node and this one\n"}]}}],"value":{"args":[{"ast_type":"Name","col_offset":58,"ctx":"Load","id":"node","lineno":252}],"ast_type":"Call","col_offset":29,"func":{"ast_type":"Attribute","attr":"previous_nooplines","col_offset":29,"ctx":"Load","lineno":252,"value":{"ast_type":"Attribute","attr":"sync","col_offset":29,"ctx":"Load","lineno":252,"value":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"self","lineno":252}}},"keywords":[],"kwargs":null,"lineno":252,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":254,"targets":[{"ast_type":"Subscript","col_offset":16,"ctx":"Store","lineno":254,"slice":{"ast_type":"Index","value":{"LiteralValue":"noops_previous","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"visit_result","lineno":254}}],"value":{"ast_type":"Dict","col_offset":49,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"lines","ast_type":"StringLiteral"}],"lineno":254,"values":[{"LiteralValue":"PreviousNoops","ast_type":"StringLiteral"},{"ast_type":"ListComp","col_offset":30,"elt":{"ast_type":"Dict","col_offset":30,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"l","ast_type":"StringLiteral"}],"lineno":256,"values":[{"LiteralValue":"NoopLine","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":60,"ctx":"Load","id":"noopline","lineno":256}]},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Name","col_offset":86,"ctx":"Load","id":"noops_previous","lineno":256},"target":{"ast_type":"Name","col_offset":74,"ctx":"Store","id":"noopline","lineno":256}}],"lineno":256}]}}],"col_offset":12,"lineno":253,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"noops_previous","lineno":253}},{"ast_type":"Assign","col_offset":12,"lineno":261,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"noops_sameline","lineno":261,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":" # Other noops at the end of its significative line except the implicit\n"},{"ast_type":"NoopLine","l":" # finishing newline\n"}]}}],"value":{"args":[{"ast_type":"Name","col_offset":64,"ctx":"Load","id":"node","lineno":261}],"ast_type":"Call","col_offset":29,"func":{"ast_type":"Attribute","attr":"remainder_noops_sameline","col_offset":29,"ctx":"Load","lineno":261,"value":{"ast_type":"Attribute","attr":"sync","col_offset":29,"ctx":"Load","lineno":261,"value":{"ast_type":"Name","col_offset":29,"ctx":"Load","id":"self","lineno":261}}},"keywords":[],"kwargs":null,"lineno":261,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":263,"targets":[{"ast_type":"Subscript","col_offset":16,"ctx":"Store","lineno":263,"slice":{"ast_type":"Index","value":{"LiteralValue":"noops_sameline","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"visit_result","lineno":263}}],"value":{"ast_type":"Dict","col_offset":49,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"lines","ast_type":"StringLiteral"}],"lineno":263,"values":[{"LiteralValue":"SameLineNoops","ast_type":"StringLiteral"},{"ast_type":"ListComp","col_offset":30,"elt":{"ast_type":"Dict","col_offset":30,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"l","ast_type":"StringLiteral"}],"lineno":265,"values":[{"LiteralValue":"NoopLine","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":60,"ctx":"Load","id":"noopline","lineno":265}]},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Name","col_offset":86,"ctx":"Load","id":"noops_sameline","lineno":265},"target":{"ast_type":"Name","col_offset":74,"ctx":"Store","id":"noopline","lineno":265}}],"lineno":265}]}}],"col_offset":12,"lineno":262,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"noops_sameline","lineno":262}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":16,"lineno":270,"targets":[{"ast_type":"Name","col_offset":16,"ctx":"Store","id":"noops_remainder","lineno":270}],"value":{"args":[],"ast_type":"Call","col_offset":34,"func":{"ast_type":"Attribute","attr":"remainder_noops","col_offset":34,"ctx":"Load","lineno":270,"value":{"ast_type":"Attribute","attr":"sync","col_offset":34,"ctx":"Load","lineno":270,"value":{"ast_type":"Name","col_offset":34,"ctx":"Load","id":"self","lineno":270}}},"keywords":[],"kwargs":null,"lineno":270,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":20,"lineno":272,"targets":[{"ast_type":"Subscript","col_offset":20,"ctx":"Store","lineno":272,"slice":{"ast_type":"Index","value":{"LiteralValue":"noops_remainder","ast_type":"StringLiteral"}},"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"visit_result","lineno":272}}],"value":{"ast_type":"Dict","col_offset":54,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"lines","ast_type":"StringLiteral"}],"lineno":272,"values":[{"LiteralValue":"RemainderNoops","ast_type":"StringLiteral"},{"ast_type":"ListComp","col_offset":34,"elt":{"ast_type":"Dict","col_offset":34,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"l","ast_type":"StringLiteral"}],"lineno":274,"values":[{"LiteralValue":"NoopLine","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":64,"ctx":"Load","id":"noopline","lineno":274}]},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Name","col_offset":90,"ctx":"Load","id":"noops_remainder","lineno":274},"target":{"ast_type":"Name","col_offset":78,"ctx":"Store","id":"noopline","lineno":274}}],"lineno":274}]}}],"col_offset":16,"lineno":271,"orelse":[],"test":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"noops_remainder","lineno":271}}],"col_offset":12,"lineno":269,"orelse":[],"test":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"root","lineno":269,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":" # Finally, if this is the root node, add all noops after the last op node\n"}]}}}],"col_offset":8,"lineno":249,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"visit_result","lineno":249},{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"dict","lineno":249}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"isinstance","lineno":249,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[],"kwargs":null,"lineno":249,"starargs":null}},{"ast_type":"Return","col_offset":8,"lineno":276,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"visit_result","lineno":276}}],"col_offset":4,"decorator_list":[],"lineno":238,"name":"visit"},{"args":{"args":[{"ast_type":"Name","col_offset":20,"ctx":"Param","id":"self","lineno":278,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":26,"ctx":"Param","id":"node","lineno":278}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":279,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"node_type","lineno":279}],"value":{"ast_type":"Attribute","attr":"__name__","col_offset":20,"ctx":"Load","lineno":279,"value":{"ast_type":"Attribute","attr":"__class__","col_offset":20,"ctx":"Load","lineno":279,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"node","lineno":279}}}},{"ast_type":"Assign","col_offset":8,"lineno":281,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"node_dict","lineno":281,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Dict","col_offset":20,"keys":[{"ast_type":"Attribute","attr":"ast_type_field","col_offset":12,"ctx":"Load","lineno":282,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"self","lineno":282}}],"lineno":281,"values":[{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"node_type","lineno":282}]}},{"ast_type":"For","body":[{"ast_type":"Assign","col_offset":12,"lineno":287,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"meth","lineno":287}],"value":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":288},{"ast_type":"BinOp","col_offset":22,"left":{"LiteralValue":"visit_","ast_type":"StringLiteral"},"lineno":288,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"node_type","lineno":288}},{"ast_type":"Attribute","attr":"visit_other_field","col_offset":16,"ctx":"Load","lineno":289,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":289}}],"ast_type":"Call","col_offset":19,"func":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"getattr","lineno":287},"keywords":[],"kwargs":null,"lineno":287,"starargs":null}},{"ast_type":"Assign","col_offset":12,"lineno":291,"targets":[{"ast_type":"Subscript","col_offset":12,"ctx":"Store","lineno":291,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"field","lineno":291}},"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"node_dict","lineno":291}}],"value":{"args":[{"args":[{"ast_type":"Name","col_offset":44,"ctx":"Load","id":"node","lineno":291},{"ast_type":"Name","col_offset":50,"ctx":"Load","id":"field","lineno":291}],"ast_type":"Call","col_offset":36,"func":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"getattr","lineno":291},"keywords":[],"kwargs":null,"lineno":291,"starargs":null}],"ast_type":"Call","col_offset":31,"func":{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"meth","lineno":291},"keywords":[],"kwargs":null,"lineno":291,"starargs":null}}],"col_offset":8,"iter":{"ast_type":"Attribute","attr":"_fields","col_offset":21,"ctx":"Load","lineno":286,"value":{"ast_type":"Name","col_offset":21,"ctx":"Load","id":"node","lineno":286}},"lineno":286,"orelse":[],"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"field","lineno":286,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":" # Visit fields\n"}]}}},{"ast_type":"For","body":[{"ast_type":"Assign","col_offset":12,"lineno":295,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"meth","lineno":295}],"value":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":296},{"ast_type":"BinOp","col_offset":49,"left":{"ast_type":"BinOp","col_offset":43,"left":{"ast_type":"BinOp","col_offset":22,"left":{"LiteralValue":"visit_","ast_type":"StringLiteral"},"lineno":296,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":33,"ctx":"Load","id":"node_type","lineno":296}},"lineno":296,"op":{"ast_type":"Add"},"right":{"LiteralValue":"_","ast_type":"StringLiteral"}},"lineno":296,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":51,"ctx":"Load","id":"attr","lineno":296}},{"ast_type":"Attribute","attr":"visit_other_field","col_offset":16,"ctx":"Load","lineno":297,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"self","lineno":297}}],"ast_type":"Call","col_offset":19,"func":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"getattr","lineno":295},"keywords":[],"kwargs":null,"lineno":295,"starargs":null}},{"ast_type":"Assign","col_offset":12,"lineno":300,"targets":[{"ast_type":"Subscript","col_offset":12,"ctx":"Store","lineno":300,"slice":{"ast_type":"Index","value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"attr","lineno":300}},"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"node_dict","lineno":300,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # Use None as default when lineno/col_offset are not set\n"}]}}}],"value":{"args":[{"args":[{"ast_type":"Name","col_offset":43,"ctx":"Load","id":"node","lineno":300},{"ast_type":"Name","col_offset":49,"ctx":"Load","id":"attr","lineno":300},{"ast_type":"Name","col_offset":55,"ctx":"Load","id":"None","lineno":300}],"ast_type":"Call","col_offset":35,"func":{"ast_type":"Name","col_offset":35,"ctx":"Load","id":"getattr","lineno":300},"keywords":[],"kwargs":null,"lineno":300,"starargs":null}],"ast_type":"Call","col_offset":30,"func":{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"meth","lineno":300},"keywords":[],"kwargs":null,"lineno":300,"starargs":null}}],"col_offset":8,"iter":{"ast_type":"Attribute","attr":"_attributes","col_offset":20,"ctx":"Load","lineno":294,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"node","lineno":294}},"lineno":294,"orelse":[],"target":{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"attr","lineno":294,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":" # Visit attributes\n"}]}}},{"ast_type":"Return","col_offset":8,"lineno":301,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node_dict","lineno":301}}],"col_offset":4,"decorator_list":[],"lineno":278,"name":"visit_other"},{"args":{"args":[{"ast_type":"Name","col_offset":26,"ctx":"Param","id":"self","lineno":303,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":32,"ctx":"Param","id":"node","lineno":303}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"If","body":[{"ast_type":"Return","col_offset":12,"lineno":305,"value":{"args":[{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"node","lineno":305}],"ast_type":"Call","col_offset":19,"func":{"ast_type":"Attribute","attr":"visit","col_offset":19,"ctx":"Load","lineno":305,"value":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"self","lineno":305}},"keywords":[],"kwargs":null,"lineno":305,"starargs":null}}],"col_offset":8,"lineno":304,"orelse":[{"ast_type":"If","body":[{"ast_type":"Return","col_offset":12,"lineno":307,"value":{"ast_type":"ListComp","col_offset":20,"elt":{"args":[{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"x","lineno":307}],"ast_type":"Call","col_offset":20,"func":{"ast_type":"Attribute","attr":"visit","col_offset":20,"ctx":"Load","lineno":307,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"self","lineno":307}},"keywords":[],"kwargs":null,"lineno":307,"starargs":null},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Name","col_offset":43,"ctx":"Load","id":"node","lineno":307},"target":{"ast_type":"Name","col_offset":38,"ctx":"Store","id":"x","lineno":307}}],"lineno":307}}],"col_offset":13,"lineno":306,"orelse":[{"ast_type":"Return","col_offset":12,"lineno":309,"value":{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":309}}],"test":{"ast_type":"BoolOp","col_offset":13,"lineno":306,"op":{"ast_type":"Or"},"values":[{"args":[{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"node","lineno":306},{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"list","lineno":306}],"ast_type":"Call","col_offset":13,"func":{"ast_type":"Name","col_offset":13,"ctx":"Load","id":"isinstance","lineno":306},"keywords":[],"kwargs":null,"lineno":306,"starargs":null},{"args":[{"ast_type":"Name","col_offset":50,"ctx":"Load","id":"node","lineno":306},{"ast_type":"Name","col_offset":56,"ctx":"Load","id":"tuple","lineno":306}],"ast_type":"Call","col_offset":39,"func":{"ast_type":"Name","col_offset":39,"ctx":"Load","id":"isinstance","lineno":306},"keywords":[],"kwargs":null,"lineno":306,"starargs":null}]}}],"test":{"args":[{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"node","lineno":304},{"ast_type":"Attribute","attr":"AST","col_offset":28,"ctx":"Load","lineno":304,"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"ast","lineno":304}}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"isinstance","lineno":304},"keywords":[],"kwargs":null,"lineno":304,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":303,"name":"visit_other_field"},{"args":{"args":[{"ast_type":"Name","col_offset":18,"ctx":"Param","id":"self","lineno":311,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":24,"ctx":"Param","id":"node","lineno":311}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":315,"value":{"LiteralValue":"\n This visits str fields inside nodes (which are represented as keys\n in the node dictionary), not Str AST nodes\n ","ast_type":"StringLiteral"}},{"ast_type":"Return","col_offset":8,"lineno":316,"value":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":316}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"str","lineno":316},"keywords":[],"kwargs":null,"lineno":316,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":311,"name":"visit_str"},{"args":{"args":[{"ast_type":"Name","col_offset":18,"ctx":"Param","id":"self","lineno":318,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":24,"ctx":"Param","id":"node","lineno":318}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Return","col_offset":8,"lineno":319,"value":{"ast_type":"Dict","col_offset":15,"keys":[{"ast_type":"Attribute","attr":"ast_type_field","col_offset":12,"ctx":"Load","lineno":320,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"self","lineno":320}},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":319,"values":[{"LiteralValue":"StringLiteral","ast_type":"StringLiteral"},{"ast_type":"Attribute","attr":"s","col_offset":28,"ctx":"Load","lineno":321,"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"node","lineno":321}}]}}],"col_offset":4,"decorator_list":[],"lineno":318,"name":"visit_Str"},{"args":{"args":[{"ast_type":"Name","col_offset":20,"ctx":"Param","id":"self","lineno":324,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":26,"ctx":"Param","id":"node","lineno":324}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"TryExcept","body":[{"ast_type":"Assign","col_offset":12,"lineno":326,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"s","lineno":326}],"value":{"args":[],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"decode","col_offset":16,"ctx":"Load","lineno":326,"value":{"ast_type":"Attribute","attr":"s","col_offset":16,"ctx":"Load","lineno":326,"value":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"node","lineno":326}}},"keywords":[],"kwargs":null,"lineno":326,"starargs":null}},{"ast_type":"Assign","col_offset":12,"lineno":327,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"encoding","lineno":327}],"value":{"LiteralValue":"utf8","ast_type":"StringLiteral"}}],"col_offset":8,"handlers":[{"ast_type":"ExceptHandler","body":[{"ast_type":"Assign","col_offset":12,"lineno":330,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"s","lineno":330,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # try with base64\n"}]}}],"value":{"args":[],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"strip","col_offset":16,"ctx":"Load","lineno":330,"value":{"args":[],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Attribute","attr":"decode","col_offset":16,"ctx":"Load","lineno":330,"value":{"args":[{"ast_type":"Attribute","attr":"s","col_offset":23,"ctx":"Load","lineno":330,"value":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"node","lineno":330}},{"LiteralValue":"base64","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":16,"func":{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"encode","lineno":330},"keywords":[],"kwargs":null,"lineno":330,"starargs":null}},"keywords":[],"kwargs":null,"lineno":330,"starargs":null}},"keywords":[],"kwargs":null,"lineno":330,"starargs":null}},{"ast_type":"Assign","col_offset":12,"lineno":331,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"encoding","lineno":331}],"value":{"LiteralValue":"base64","ast_type":"StringLiteral"}}],"col_offset":8,"lineno":328,"name":null,"type":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"UnicodeDecodeError","lineno":328}}],"lineno":325,"orelse":[]},{"ast_type":"Return","col_offset":8,"lineno":333,"value":{"ast_type":"Dict","col_offset":15,"keys":[{"ast_type":"Attribute","attr":"ast_type_field","col_offset":12,"ctx":"Load","lineno":334,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"self","lineno":334,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"},{"LiteralValue":"encoding","ast_type":"StringLiteral"}],"lineno":333,"values":[{"LiteralValue":"ByteLiteral","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"s","lineno":335},{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"encoding","lineno":336}]}}],"col_offset":4,"decorator_list":[],"lineno":324,"name":"visit_Bytes"},{"args":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Param","id":"self","lineno":339,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":29,"ctx":"Param","id":"node","lineno":339}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Return","col_offset":8,"lineno":340,"value":{"LiteralValue":"NoneLiteral","ast_type":"StringLiteral"}}],"col_offset":4,"decorator_list":[],"lineno":339,"name":"visit_NoneType"},{"args":{"args":[{"ast_type":"Name","col_offset":21,"ctx":"Param","id":"self","lineno":342,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":27,"ctx":"Param","id":"node","lineno":342}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":348,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"names_as_nodes","lineno":348,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # Python AST by default stores global and nonlocal variable names\n"},{"ast_type":"NoopLine","l":" # in a \"names\" array of strings. That breaks the structure of everything\n"},{"ast_type":"NoopLine","l":" # else in the AST (dictionaries, properties or list of objects) so we\n"},{"ast_type":"NoopLine","l":" # convert those names to Name objects\n"},{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"ListComp","col_offset":26,"elt":{"ast_type":"Dict","col_offset":26,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"id","ast_type":"StringLiteral"},{"LiteralValue":"lineno","ast_type":"StringLiteral"},{"LiteralValue":"col_offset","ast_type":"StringLiteral"}],"lineno":348,"values":[{"LiteralValue":"Name","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"i","lineno":349},{"ast_type":"Attribute","attr":"lineno","col_offset":36,"ctx":"Load","lineno":350,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":350}},{"ast_type":"Attribute","attr":"col_offset","col_offset":40,"ctx":"Load","lineno":351,"value":{"ast_type":"Name","col_offset":40,"ctx":"Load","id":"node","lineno":351}}]},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Attribute","attr":"names","col_offset":66,"ctx":"Load","lineno":351,"value":{"ast_type":"Name","col_offset":66,"ctx":"Load","id":"node","lineno":351}},"target":{"ast_type":"Name","col_offset":61,"ctx":"Store","id":"i","lineno":351}}],"lineno":348}},{"ast_type":"Return","col_offset":8,"lineno":352,"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"node","lineno":352},{"ast_type":"Dict","col_offset":31,"keys":[{"LiteralValue":"names","ast_type":"StringLiteral"}],"lineno":352,"values":[{"ast_type":"Name","col_offset":41,"ctx":"Load","id":"names_as_nodes","lineno":352}]}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node_dict","lineno":352},"keywords":[{"arg":"ast_type","ast_type":"keyword","value":{"LiteralValue":"Global","ast_type":"StringLiteral"}}],"kwargs":null,"lineno":352,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":342,"name":"visit_Global"},{"args":{"args":[{"ast_type":"Name","col_offset":23,"ctx":"Param","id":"self","lineno":354,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":29,"ctx":"Param","id":"node","lineno":354}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":356,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"names_as_nodes","lineno":356,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # ditto\n"}]}}],"value":{"ast_type":"ListComp","col_offset":26,"elt":{"ast_type":"Dict","col_offset":26,"keys":[{"LiteralValue":"ast_type","ast_type":"StringLiteral"},{"LiteralValue":"id","ast_type":"StringLiteral"},{"LiteralValue":"lineno","ast_type":"StringLiteral"},{"LiteralValue":"col_offset","ast_type":"StringLiteral"}],"lineno":356,"values":[{"LiteralValue":"Name","ast_type":"StringLiteral"},{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"i","lineno":357},{"ast_type":"Attribute","attr":"lineno","col_offset":36,"ctx":"Load","lineno":358,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":358}},{"ast_type":"Attribute","attr":"col_offset","col_offset":40,"ctx":"Load","lineno":359,"value":{"ast_type":"Name","col_offset":40,"ctx":"Load","id":"node","lineno":359}}]},"generators":[{"ast_type":"comprehension","ifs":[],"iter":{"ast_type":"Attribute","attr":"names","col_offset":66,"ctx":"Load","lineno":359,"value":{"ast_type":"Name","col_offset":66,"ctx":"Load","id":"node","lineno":359}},"target":{"ast_type":"Name","col_offset":61,"ctx":"Store","id":"i","lineno":359}}],"lineno":356}},{"ast_type":"Return","col_offset":8,"lineno":360,"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"node","lineno":360},{"ast_type":"Dict","col_offset":31,"keys":[{"LiteralValue":"names","ast_type":"StringLiteral"}],"lineno":360,"values":[{"ast_type":"Name","col_offset":41,"ctx":"Load","id":"names_as_nodes","lineno":360}]}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node_dict","lineno":360},"keywords":[{"arg":"ast_type","ast_type":"keyword","value":{"LiteralValue":"Nonlocal","ast_type":"StringLiteral"}}],"kwargs":null,"lineno":360,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":354,"name":"visit_Nonlocal"},{"args":{"args":[{"ast_type":"Name","col_offset":27,"ctx":"Param","id":"self","lineno":363,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":33,"ctx":"Param","id":"node","lineno":363}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":365,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"repr_val","lineno":365}],"value":{"args":[{"ast_type":"Attribute","attr":"value","col_offset":28,"ctx":"Load","lineno":365,"value":{"ast_type":"Name","col_offset":28,"ctx":"Load","id":"node","lineno":365}}],"ast_type":"Call","col_offset":23,"func":{"ast_type":"Name","col_offset":23,"ctx":"Load","id":"repr","lineno":365},"keywords":[],"kwargs":null,"lineno":365,"starargs":null}},{"ast_type":"If","body":[{"ast_type":"Return","col_offset":16,"lineno":367,"value":{"ast_type":"Dict","col_offset":23,"keys":[{"ast_type":"Attribute","attr":"ast_type_field","col_offset":20,"ctx":"Load","lineno":368,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"self","lineno":368}},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":367,"values":[{"LiteralValue":"BoolLiteral","ast_type":"StringLiteral"},{"ast_type":"Attribute","attr":"value","col_offset":36,"ctx":"Load","lineno":369,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":369}}]}}],"col_offset":12,"lineno":366,"orelse":[{"ast_type":"If","body":[{"ast_type":"Return","col_offset":16,"lineno":372,"value":{"ast_type":"Dict","col_offset":23,"keys":[{"ast_type":"Attribute","attr":"ast_type_field","col_offset":20,"ctx":"Load","lineno":373,"value":{"ast_type":"Name","col_offset":20,"ctx":"Load","id":"self","lineno":373}},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":372,"values":[{"LiteralValue":"NoneLiteral","ast_type":"StringLiteral"},{"ast_type":"Attribute","attr":"value","col_offset":36,"ctx":"Load","lineno":374,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":374}}]}}],"col_offset":17,"lineno":371,"orelse":[],"test":{"ast_type":"Compare","col_offset":17,"comparators":[{"LiteralValue":"None","ast_type":"StringLiteral"}],"left":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"repr_val","lineno":371},"lineno":371,"ops":[{"ast_type":"Eq"}]}}],"test":{"ast_type":"Compare","col_offset":15,"comparators":[{"ast_type":"Tuple","col_offset":28,"ctx":"Load","elts":[{"LiteralValue":"True","ast_type":"StringLiteral"},{"LiteralValue":"False","ast_type":"StringLiteral"}],"lineno":366}],"left":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"repr_val","lineno":366},"lineno":366,"ops":[{"ast_type":"In"}]}}],"col_offset":8,"lineno":364,"orelse":[],"test":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":364},{"LiteralValue":"value","ast_type":"StringLiteral"}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"hasattr","lineno":364},"keywords":[],"kwargs":null,"lineno":364,"starargs":null}},{"ast_type":"Return","col_offset":8,"lineno":376,"value":{"args":[{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"node","lineno":376}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"str","lineno":376},"keywords":[],"kwargs":null,"lineno":376,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":363,"name":"visit_NameConstant"},{"args":{"args":[{"ast_type":"Name","col_offset":18,"ctx":"Param","id":"self","lineno":378,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":24,"ctx":"Param","id":"node","lineno":378}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":380,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"retDict","lineno":380}],"value":{"ast_type":"Dict","col_offset":22,"keys":[{"LiteralValue":"NumType","ast_type":"StringLiteral"},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":380,"values":[{"LiteralValue":"int","ast_type":"StringLiteral"},{"ast_type":"Attribute","attr":"n","col_offset":36,"ctx":"Load","lineno":382,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":382}}]}}],"col_offset":8,"lineno":379,"orelse":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":385,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"retDict","lineno":385}],"value":{"ast_type":"Dict","col_offset":22,"keys":[{"LiteralValue":"NumType","ast_type":"StringLiteral"},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":385,"values":[{"LiteralValue":"float","ast_type":"StringLiteral"},{"ast_type":"Attribute","attr":"n","col_offset":36,"ctx":"Load","lineno":387,"value":{"ast_type":"Name","col_offset":36,"ctx":"Load","id":"node","lineno":387}}]}}],"col_offset":13,"lineno":384,"orelse":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":12,"lineno":390,"targets":[{"ast_type":"Name","col_offset":12,"ctx":"Store","id":"retDict","lineno":390}],"value":{"ast_type":"Dict","col_offset":22,"keys":[{"LiteralValue":"NumType","ast_type":"StringLiteral"},{"LiteralValue":"LiteralValue","ast_type":"StringLiteral"}],"lineno":390,"values":[{"LiteralValue":"complex","ast_type":"StringLiteral"},{"ast_type":"Dict","col_offset":36,"keys":[{"LiteralValue":"real","ast_type":"StringLiteral"},{"LiteralValue":"imaginary","ast_type":"StringLiteral"}],"lineno":392,"values":[{"ast_type":"Attribute","attr":"real","col_offset":45,"ctx":"Load","lineno":392,"value":{"ast_type":"Attribute","attr":"n","col_offset":45,"ctx":"Load","lineno":392,"value":{"ast_type":"Name","col_offset":45,"ctx":"Load","id":"node","lineno":392}}},{"ast_type":"Attribute","attr":"imag","col_offset":71,"ctx":"Load","lineno":392,"value":{"ast_type":"Attribute","attr":"n","col_offset":71,"ctx":"Load","lineno":392,"value":{"ast_type":"Name","col_offset":71,"ctx":"Load","id":"node","lineno":392}}}]}]}}],"col_offset":13,"lineno":389,"orelse":[],"test":{"args":[{"ast_type":"Attribute","attr":"n","col_offset":24,"ctx":"Load","lineno":389,"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"node","lineno":389}},{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"complex","lineno":389}],"ast_type":"Call","col_offset":13,"func":{"ast_type":"Name","col_offset":13,"ctx":"Load","id":"isinstance","lineno":389},"keywords":[],"kwargs":null,"lineno":389,"starargs":null}}],"test":{"args":[{"ast_type":"Attribute","attr":"n","col_offset":24,"ctx":"Load","lineno":384,"value":{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"node","lineno":384}},{"ast_type":"Name","col_offset":32,"ctx":"Load","id":"float","lineno":384}],"ast_type":"Call","col_offset":13,"func":{"ast_type":"Name","col_offset":13,"ctx":"Load","id":"isinstance","lineno":384},"keywords":[],"kwargs":null,"lineno":384,"starargs":null}}],"test":{"args":[{"ast_type":"Attribute","attr":"n","col_offset":22,"ctx":"Load","lineno":379,"value":{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"node","lineno":379}},{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"int","lineno":379}],"ast_type":"Call","col_offset":11,"func":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"isinstance","lineno":379},"keywords":[],"kwargs":null,"lineno":379,"starargs":null}},{"ast_type":"Return","col_offset":8,"lineno":395,"value":{"args":[{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"node","lineno":395},{"ast_type":"Name","col_offset":31,"ctx":"Load","id":"retDict","lineno":395}],"ast_type":"Call","col_offset":15,"func":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"node_dict","lineno":395,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[{"arg":"ast_type","ast_type":"keyword","value":{"LiteralValue":"NumLiteral","ast_type":"StringLiteral"}}],"kwargs":null,"lineno":395,"starargs":null}}],"col_offset":4,"decorator_list":[],"lineno":378,"name":"visit_Num"}],"col_offset":0,"decorator_list":[],"lineno":209,"name":"DictExportVisitor"},{"ast_type":"If","body":[{"ast_type":"Import","col_offset":4,"lineno":399,"names":[{"asname":null,"ast_type":"alias","name":"sys"}]},{"ast_type":"Assign","col_offset":4,"lineno":401,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"f","lineno":401,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"Subscript","col_offset":8,"ctx":"Load","lineno":401,"slice":{"ast_type":"Index","value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":401}},"value":{"ast_type":"Attribute","attr":"argv","col_offset":8,"ctx":"Load","lineno":401,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"sys","lineno":401}}}},{"ast_type":"With","body":[{"ast_type":"Assign","col_offset":8,"lineno":404,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"content","lineno":404}],"value":{"args":[],"ast_type":"Call","col_offset":18,"func":{"ast_type":"Attribute","attr":"read","col_offset":18,"ctx":"Load","lineno":404,"value":{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"codefile","lineno":404}},"keywords":[],"kwargs":null,"lineno":404,"starargs":null}}],"col_offset":9,"context_expr":{"args":[{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"f","lineno":403}],"ast_type":"Call","col_offset":9,"func":{"ast_type":"Name","col_offset":9,"ctx":"Load","id":"open","lineno":403,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},"keywords":[],"kwargs":null,"lineno":403,"starargs":null},"lineno":403,"optional_vars":{"ast_type":"Name","col_offset":20,"ctx":"Store","id":"codefile","lineno":403}},{"ast_type":"Expr","col_offset":4,"lineno":406,"value":{"args":[{"ast_type":"Subscript","col_offset":10,"ctx":"Load","lineno":406,"slice":{"ast_type":"Index","value":{"LiteralValue":0,"NumType":"int","ast_type":"NumLiteral","col_offset":50,"lineno":406}},"value":{"args":[{"ast_type":"Name","col_offset":22,"ctx":"Load","id":"content","lineno":406}],"ast_type":"Call","col_offset":10,"func":{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"export_json","lineno":406},"keywords":[{"arg":"pretty_print","ast_type":"keyword","value":{"ast_type":"Name","col_offset":44,"ctx":"Load","id":"True","lineno":406}}],"kwargs":null,"lineno":406,"starargs":null}}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":406,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":" # pprint(export_dict(content))\n"}]}},"keywords":[],"kwargs":null,"lineno":406,"starargs":null}}],"col_offset":0,"lineno":398,"orelse":[],"test":{"ast_type":"Compare","col_offset":3,"comparators":[{"LiteralValue":"__main__","ast_type":"StringLiteral"}],"left":{"ast_type":"Name","col_offset":3,"ctx":"Load","id":"__name__","lineno":398,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"},{"ast_type":"NoopLine","l":"\n"}]}},"lineno":398,"ops":[{"ast_type":"Eq"}]}}],"noops_remainder":{"ast_type":"RemainderNoops","lines":[{"ast_type":"NoopLine","l":" # export_graphviz(content)\n"}]}}}} diff --git a/tests/native/augassign.py.json b/tests/native/augassign.py.json deleted file mode 100644 index 1fc608e8..00000000 --- a/tests/native/augassign.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"AugAssign","col_offset":0,"lineno":1,"op":{"ast_type":"Add"},"target":{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":1},"value":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":1}},{"ast_type":"AugAssign","col_offset":0,"lineno":2,"op":{"ast_type":"Sub"},"target":{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"b","lineno":2},"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":2}},{"ast_type":"AugAssign","col_offset":0,"lineno":3,"op":{"ast_type":"Mult"},"target":{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"c","lineno":3},"value":{"LiteralValue":4,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":3}},{"ast_type":"AugAssign","col_offset":0,"lineno":4,"op":{"ast_type":"Div"},"target":{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"d","lineno":4},"value":{"LiteralValue":6,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":4}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/classdef.py.json b/tests/native/classdef.py.json deleted file mode 100644 index caa051b3..00000000 --- a/tests/native/classdef.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY2AST":{"ast_type":"Module","body":[{"ast_type":"ClassDef","bases":[],"body":[{"args":{"args":[{"ast_type":"Name","col_offset":17,"ctx":"Param","id":"self","lineno":2}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":3,"targets":[{"ast_type":"Attribute","attr":"_a","col_offset":8,"ctx":"Store","lineno":3,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":3}}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":18,"lineno":3}},{"ast_type":"Assign","col_offset":8,"lineno":4,"targets":[{"ast_type":"Name","col_offset":8,"ctx":"Store","id":"b","lineno":4}],"value":{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":12,"lineno":4}}],"col_offset":4,"decorator_list":[],"lineno":2,"name":"__init__"},{"args":{"args":[{"ast_type":"Name","col_offset":15,"ctx":"Param","id":"self","lineno":6,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}},{"ast_type":"Name","col_offset":21,"ctx":"Param","id":"arg1","lineno":6}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Pass","col_offset":8,"lineno":7}],"col_offset":4,"decorator_list":[],"lineno":6,"name":"method"},{"args":{"args":[],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Return","col_offset":8,"lineno":11,"value":{"ast_type":"Attribute","attr":"_a","col_offset":15,"ctx":"Load","lineno":11,"value":{"ast_type":"Name","col_offset":15,"ctx":"Load","id":"self","lineno":11,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}}}],"col_offset":4,"decorator_list":[{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"property","lineno":9}],"lineno":9,"name":"a"},{"args":{"args":[{"ast_type":"Name","col_offset":10,"ctx":"Param","id":"newa","lineno":14,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Assign","col_offset":8,"lineno":15,"targets":[{"ast_type":"Attribute","attr":"_a","col_offset":8,"ctx":"Store","lineno":15,"value":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"self","lineno":15}}],"value":{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"newa","lineno":15}}],"col_offset":4,"decorator_list":[{"ast_type":"Attribute","attr":"setter","col_offset":5,"ctx":"Load","lineno":13,"value":{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"a","lineno":13}}],"lineno":13,"name":"a"}],"col_offset":0,"decorator_list":[],"lineno":1,"name":"Animal"},{"ast_type":"ClassDef","bases":[{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"Animal","lineno":17,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"body":[{"ast_type":"Pass","col_offset":4,"lineno":18}],"col_offset":0,"decorator_list":[],"lineno":17,"name":"Dog"},{"ast_type":"Assign","col_offset":0,"lineno":20,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":20,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"args":[],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"Animal","lineno":20},"keywords":[],"kwargs":null,"lineno":20,"starargs":null}},{"ast_type":"Assign","col_offset":0,"lineno":21,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"b","lineno":21}],"value":{"args":[],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"Dog","lineno":21},"keywords":[],"kwargs":null,"lineno":21,"starargs":null}},{"ast_type":"Assign","col_offset":0,"lineno":22,"targets":[{"ast_type":"Attribute","attr":"a","col_offset":0,"ctx":"Store","lineno":22,"value":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"a","lineno":22}}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":6,"lineno":22}},{"ast_type":"Print","col_offset":0,"dest":null,"lineno":23,"nl":true,"values":[{"ast_type":"Attribute","attr":"a","col_offset":6,"ctx":"Load","lineno":23,"value":{"ast_type":"Name","col_offset":6,"ctx":"Load","id":"a","lineno":23}}]}],"noops_remainder":{"ast_type":"RemainderNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}}} diff --git a/tests/native/comments.py.json b/tests/native/comments.py.json deleted file mode 100644 index bf1d6b18..00000000 --- a/tests/native/comments.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assign","col_offset":0,"lineno":2,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":2,"noops_previous":{"ast_type":"PreviousNoops","end_lineno":0,"lineno":0,"lines":[{"ast_type":"NoopLine","noop_line":"# comment above\n"}]},"noops_sameline":{"ast_type":"SameLineNoops","lineno":2,"noop_line":"# line trailing comment"}}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":4,"lineno":2}}],"col_offset":0,"lineno":1,"noops_remainder":{"ast_type":"RemainderNoops","end_lineno":3,"lineno":2,"lines":[{"ast_type":"NoopLine","noop_line":"# file trailing comment\n"}]},"noops_sameline":{"ast_type":"SameLineNoops","lineno":1,"noop_line":"# comment above"}}}} diff --git a/tests/native/comprehension.py.json b/tests/native/comprehension.py.json deleted file mode 100644 index eacd5c1f..00000000 --- a/tests/native/comprehension.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assign","col_offset":0,"lineno":1,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":1}],"value":{"ast_type":"ListComp","col_offset":5,"elt":{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"i","lineno":1},"generators":[{"ast_type":"comprehension","col_offset":5,"ifs":[{"ast_type":"Compare","col_offset":27,"comparators":[{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":29,"lineno":1}],"left":{"ast_type":"Name","col_offset":27,"ctx":"Load","id":"i","lineno":1},"lineno":1,"ops":[{"ast_type":"Gt","col_offset":27,"lineno":1}]}],"is_async":0,"iter":{"ast_type":"Tuple","col_offset":17,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":1},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":19,"lineno":1},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":21,"lineno":1}],"lineno":1},"lineno":1,"target":{"ast_type":"Name","col_offset":11,"ctx":"Store","id":"i","lineno":1}}],"lineno":1}},{"ast_type":"Assign","col_offset":0,"lineno":2,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"b","lineno":2}],"value":{"ast_type":"GeneratorExp","col_offset":5,"elt":{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"i","lineno":2},"generators":[{"ast_type":"comprehension","col_offset":5,"ifs":[{"ast_type":"Compare","col_offset":27,"comparators":[{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":29,"lineno":2}],"left":{"ast_type":"Name","col_offset":27,"ctx":"Load","id":"i","lineno":2},"lineno":2,"ops":[{"ast_type":"Gt","col_offset":27,"lineno":1}]}],"is_async":0,"iter":{"ast_type":"Tuple","col_offset":17,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":2},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":19,"lineno":2},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":21,"lineno":2}],"lineno":2},"lineno":2,"target":{"ast_type":"Name","col_offset":11,"ctx":"Store","id":"i","lineno":2}}],"lineno":2}}],"col_offset":0,"lineno":1,"noops_remainder":{"ast_type":"RemainderNoops","end_lineno":3,"lineno":2,"lines":[{"ast_type":"NoopLine","noop_line":"# TODO: add dictionary and set\n"}]}}}} diff --git a/tests/native/except.py.json b/tests/native/except.py.json deleted file mode 100644 index 0278c9cc..00000000 --- a/tests/native/except.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Try","body":[{"ast_type":"Assign","col_offset":4,"lineno":2,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"a","lineno":2}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":8,"lineno":2}},{"ast_type":"Raise","cause":null,"col_offset":4,"exc":{"args":[{"LiteralValue":"gogogo","ast_type":"StringLiteral","col_offset":20,"lineno":3}],"ast_type":"Call","col_offset":10,"func":{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"Exception","lineno":3},"keywords":[],"lineno":3},"lineno":3}],"col_offset":0,"finalbody":[{"ast_type":"Expr","col_offset":4,"lineno":7,"value":{"args":[{"LiteralValue":"here we are","ast_type":"StringLiteral","col_offset":10,"lineno":7}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":7},"keywords":[],"lineno":7}}],"handlers":[{"ast_type":"ExceptHandler","body":[{"ast_type":"Expr","col_offset":4,"lineno":5,"value":{"args":[{"LiteralValue":"ayyyy","ast_type":"StringLiteral","col_offset":10,"lineno":5}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":5},"keywords":[],"lineno":5}}],"col_offset":0,"lineno":4,"name":null,"type":null}],"lineno":1,"orelse":[]}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/for.py.json b/tests/native/for.py.json deleted file mode 100644 index 8efe7f9f..00000000 --- a/tests/native/for.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"For","body":[{"ast_type":"AugAssign","col_offset":4,"lineno":2,"op":{"ast_type":"Add"},"target":{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"a","lineno":2},"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":9,"lineno":2}},{"ast_type":"Expr","col_offset":4,"lineno":3,"value":{"args":[{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"i","lineno":3}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":3},"keywords":[],"lineno":3}}],"col_offset":0,"iter":{"ast_type":"List","col_offset":9,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":10,"lineno":1},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":12,"lineno":1},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":14,"lineno":1}],"lineno":1},"lineno":1,"orelse":[],"target":{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"i","lineno":1}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/funcdef_defparams.py.json b/tests/native/funcdef_defparams.py.json deleted file mode 100644 index 12ae1ea7..00000000 --- a/tests/native/funcdef_defparams.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY2AST":{"ast_type":"Module","body":[{"args":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Param","id":"nodef1","lineno":1},{"ast_type":"Name","col_offset":24,"ctx":"Param","id":"nodef2","lineno":1},{"ast_type":"Name","col_offset":32,"ctx":"Param","id":"def1","lineno":1},{"ast_type":"Name","col_offset":40,"ctx":"Param","id":"def2","lineno":1}],"ast_type":"arguments","defaults":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":37,"lineno":1},{"ast_type":"Name","col_offset":45,"ctx":"Load","id":"None","lineno":1}],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Pass","col_offset":4,"lineno":2}],"col_offset":0,"decorator_list":[],"lineno":1,"name":"defaultargs"}]}}} diff --git a/tests/native/functioncalls.py.json b/tests/native/functioncalls.py.json deleted file mode 100644 index 24f930ba..00000000 --- a/tests/native/functioncalls.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Expr","col_offset":0,"lineno":1,"value":{"args":[{"LiteralValue":"something1","ast_type":"StringLiteral","col_offset":6,"lineno":1},{"LiteralValue":42,"NumType":"int","ast_type":"NumLiteral","col_offset":20,"lineno":1},{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"somesymbbol","lineno":1}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":1,"noops_sameline":{"ast_type":"SameLineNoops","lineno":1,"noop_line":"# function"}},"keywords":[],"lineno":1}},{"ast_type":"Assign","col_offset":0,"lineno":2,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":2}],"value":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":4,"lineno":2}},{"ast_type":"Expr","col_offset":0,"lineno":3,"value":{"args":[{"LiteralValue":"something","ast_type":"StringLiteral","col_offset":13,"lineno":3},{"LiteralValue":42,"NumType":"int","ast_type":"NumLiteral","col_offset":26,"lineno":3},{"ast_type":"Name","col_offset":30,"ctx":"Load","id":"somesymbol","lineno":3}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Attribute","attr":"bit_length","col_offset":0,"ctx":"Load","lineno":3,"value":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"a","lineno":3,"noops_sameline":{"ast_type":"SameLineNoops","lineno":3,"noop_line":"# method-style call"}}},"keywords":[],"lineno":3}},{"ast_type":"Import","col_offset":0,"lineno":5,"names":[{"asname":null,"ast_type":"alias","col_offset":0,"lineno":5,"name":"os","noops_previous":{"ast_type":"PreviousNoops","end_lineno":3,"lineno":3,"lines":[{"ast_type":"NoopLine","noop_line":"\n"}]}}]},{"ast_type":"Expr","col_offset":0,"lineno":6,"value":{"args":[{"LiteralValue":".","ast_type":"StringLiteral","col_offset":9,"lineno":6}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Attribute","attr":"chdir","col_offset":0,"ctx":"Load","lineno":6,"value":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"os","lineno":6,"noops_sameline":{"ast_type":"SameLineNoops","lineno":6,"noop_line":"# module call"}}},"keywords":[],"lineno":6}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/functiondef.py.json b/tests/native/functiondef.py.json deleted file mode 100644 index 4ae77176..00000000 --- a/tests/native/functiondef.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY2AST":{"ast_type":"Module","body":[{"args":{"args":[{"ast_type":"Name","col_offset":17,"ctx":"Param","id":"arg1","lineno":2},{"ast_type":"Name","col_offset":23,"ctx":"Param","id":"arg2","lineno":2},{"ast_type":"Name","col_offset":29,"ctx":"Param","id":"arg3","lineno":2}],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Expr","col_offset":-1,"lineno":5,"value":{"LiteralValue":"\n This is the doc\n ","ast_type":"StringLiteral"}},{"ast_type":"Assign","col_offset":4,"lineno":6,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"arg1","lineno":6}],"value":{"ast_type":"BinOp","col_offset":11,"left":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"arg2","lineno":6},"lineno":6,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":18,"ctx":"Load","id":"arg3","lineno":6}}},{"ast_type":"If","body":[{"ast_type":"Expr","col_offset":8,"lineno":8,"value":{"ast_type":"Yield","col_offset":8,"lineno":8,"value":{"ast_type":"Name","col_offset":14,"ctx":"Load","id":"arg1","lineno":8}}}],"col_offset":4,"lineno":7,"orelse":[],"test":{"ast_type":"Compare","col_offset":7,"comparators":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":14,"lineno":7}],"left":{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"arg1","lineno":7},"lineno":7,"ops":[{"ast_type":"Gt"}]}},{"ast_type":"Return","col_offset":4,"lineno":9,"value":{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"arg2","lineno":9}}],"col_offset":0,"decorator_list":[{"args":[{"ast_type":"Name","col_offset":11,"ctx":"Load","id":"param1","lineno":1},{"ast_type":"Name","col_offset":19,"ctx":"Load","id":"param2","lineno":1}],"ast_type":"Call","col_offset":1,"func":{"ast_type":"Name","col_offset":1,"ctx":"Load","id":"decorator","lineno":1},"keywords":[],"kwargs":null,"lineno":1,"starargs":null}],"lineno":1,"name":"somefunction"},{"ast_type":"Assign","col_offset":0,"lineno":11,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"l","lineno":11,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"value":{"ast_type":"List","col_offset":4,"ctx":"Load","elts":[{"LiteralValue":4,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":11},{"LiteralValue":8,"NumType":"int","ast_type":"NumLiteral","col_offset":8,"lineno":11}],"lineno":11}},{"ast_type":"Expr","col_offset":0,"lineno":12,"value":{"args":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":13,"lineno":12}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"somefunction","lineno":12},"keywords":[],"kwargs":null,"lineno":12,"starargs":{"ast_type":"Name","col_offset":17,"ctx":"Load","id":"l","lineno":12}}}]}}} diff --git a/tests/native/functiondef_args.py.json b/tests/native/functiondef_args.py.json deleted file mode 100644 index 6405c409..00000000 --- a/tests/native/functiondef_args.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"fatal","errors":["Traceback (most recent call last):\n File \"/usr/local/lib/python3.6/site-packages/python_driver/requestprocessor.py\", line 152, in process_request\n raise Exception('Could not determine Python version')\nException: Could not determine Python version\n"],"ast":null} diff --git a/tests/native/hello.py.json b/tests/native/hello.py.json deleted file mode 100644 index 299c4f7c..00000000 --- a/tests/native/hello.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Expr","col_offset":0,"lineno":1,"value":{"args":[{"LiteralValue":"hello world","ast_type":"StringLiteral","col_offset":6,"lineno":1}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":1},"keywords":[],"lineno":1}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/if.py.json b/tests/native/if.py.json deleted file mode 100644 index 89e61baf..00000000 --- a/tests/native/if.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":4,"lineno":2,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"a","lineno":2}],"value":{"LiteralValue":1.1,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":2}},{"ast_type":"Assign","col_offset":4,"lineno":3,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"x","lineno":3}],"value":{"LiteralValue":1.2,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":3}}],"col_offset":0,"lineno":1,"orelse":[{"ast_type":"If","body":[{"ast_type":"Assign","col_offset":4,"lineno":5,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"c","lineno":5}],"value":{"LiteralValue":2.1,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":5}},{"ast_type":"Assign","col_offset":4,"lineno":6,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"j","lineno":6}],"value":{"LiteralValue":2.2,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":6}}],"col_offset":5,"lineno":4,"orelse":[{"ast_type":"Assign","col_offset":4,"lineno":8,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"b","lineno":8}],"value":{"LiteralValue":3.1,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":8}},{"ast_type":"Assign","col_offset":4,"lineno":9,"targets":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"p","lineno":9}],"value":{"LiteralValue":3.2,"NumType":"float","ast_type":"NumLiteral","col_offset":8,"lineno":9}}],"test":{"ast_type":"Compare","col_offset":5,"comparators":[{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"c","lineno":4}],"left":{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"b","lineno":4},"lineno":4,"ops":[{"ast_type":"Eq","col_offset":5,"lineno":4}]}}],"test":{"ast_type":"Compare","col_offset":3,"comparators":[{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"b","lineno":1}],"left":{"ast_type":"Name","col_offset":3,"ctx":"Load","id":"a","lineno":1},"lineno":1,"ops":[{"ast_type":"Gt","col_offset":3,"lineno":1}]}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/ifexpression.py.json b/tests/native/ifexpression.py.json deleted file mode 100644 index d2dc939e..00000000 --- a/tests/native/ifexpression.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assign","col_offset":0,"lineno":1,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":1}],"value":{"ast_type":"IfExp","body":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":4,"lineno":1},"col_offset":4,"lineno":1,"orelse":{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":20,"lineno":1},"test":{"ast_type":"Compare","col_offset":9,"comparators":[{"LiteralValue":4,"NumType":"int","ast_type":"NumLiteral","col_offset":13,"lineno":1}],"left":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":9,"lineno":1},"lineno":1,"ops":[{"ast_type":"Gt","col_offset":9,"lineno":1}]}}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/import.py.json b/tests/native/import.py.json deleted file mode 100644 index 3e406def..00000000 --- a/tests/native/import.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Import","col_offset":0,"lineno":1,"names":[{"asname":null,"ast_type":"alias","col_offset":0,"lineno":1,"name":"sys"}]},{"ast_type":"Import","col_offset":0,"lineno":2,"names":[{"asname":null,"ast_type":"alias","col_offset":0,"lineno":2,"name":"sys"},{"asname":null,"ast_type":"alias","col_offset":0,"lineno":2,"name":"os"}]},{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":3,"module":"os","names":[{"asname":null,"ast_type":"alias","col_offset":0,"lineno":3,"name":"path"}]},{"ast_type":"ImportFrom","col_offset":0,"level":0,"lineno":4,"module":"os.path","names":[{"asname":null,"ast_type":"alias","col_offset":0,"lineno":4,"name":"join"},{"asname":null,"ast_type":"alias","col_offset":0,"lineno":4,"name":"exists"}]}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/line_comment.py.json b/tests/native/line_comment.py.json deleted file mode 100644 index 391eb7ab..00000000 --- a/tests/native/line_comment.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Pass","col_offset":0,"lineno":3,"noops_previous":{"ast_type":"PreviousNoops","end_lineno":1,"lineno":1,"lines":[{"ast_type":"NoopLine","noop_line":"# thse are\n"},{"ast_type":"NoopLine","noop_line":"# previous comments\n"}]},"noops_sameline":{"ast_type":"SameLineNoops","lineno":3,"noop_line":"# sameline comment"}}],"col_offset":0,"lineno":1,"noops_remainder":{"ast_type":"RemainderNoops","end_lineno":6,"lineno":3,"lines":[{"ast_type":"NoopLine","noop_line":"\n"},{"ast_type":"NoopLine","noop_line":"# remainder comment and newline\n"},{"ast_type":"NoopLine","noop_line":"# last remainder comment line\n"}]},"noops_sameline":{"ast_type":"SameLineNoops","lineno":1,"noop_line":"# thse are"}}}} diff --git a/tests/native/literals_assign.py.json b/tests/native/literals_assign.py.json deleted file mode 100644 index d4cdf5f6..00000000 --- a/tests/native/literals_assign.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assign","col_offset":0,"lineno":1,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"a","lineno":1,"noops_sameline":{"ast_type":"SameLineNoops","lineno":1,"noop_line":"# int"}}],"value":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":4,"lineno":1}},{"ast_type":"Assign","col_offset":0,"lineno":2,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"b","lineno":2,"noops_sameline":{"ast_type":"SameLineNoops","lineno":2,"noop_line":"# float"}}],"value":{"LiteralValue":3.14,"NumType":"float","ast_type":"NumLiteral","col_offset":4,"lineno":2}},{"ast_type":"Assign","col_offset":0,"lineno":3,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"c","lineno":3,"noops_sameline":{"ast_type":"SameLineNoops","lineno":3,"noop_line":"# string"}}],"value":{"LiteralValue":"somestring","ast_type":"StringLiteral","col_offset":4,"lineno":3}},{"ast_type":"Assign","col_offset":0,"lineno":4,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"d","lineno":4,"noops_sameline":{"ast_type":"SameLineNoops","lineno":4,"noop_line":"# None"}}],"value":{"LiteralValue":null,"ast_type":"NoneLiteral","col_offset":4,"lineno":4}},{"ast_type":"Assign","col_offset":0,"lineno":5,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"e","lineno":5,"noops_sameline":{"ast_type":"SameLineNoops","lineno":5,"noop_line":"# list literal"}}],"value":{"ast_type":"List","col_offset":4,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":5},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":8,"lineno":5},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":11,"lineno":5}],"lineno":5}},{"ast_type":"Assign","col_offset":0,"lineno":6,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"f","lineno":6,"noops_sameline":{"ast_type":"SameLineNoops","lineno":6,"noop_line":"# tuple literal"}}],"value":{"ast_type":"Tuple","col_offset":5,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":6},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":8,"lineno":6},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":11,"lineno":6}],"lineno":6}},{"ast_type":"Assign","col_offset":0,"lineno":7,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"g","lineno":7,"noops_sameline":{"ast_type":"SameLineNoops","lineno":7,"noop_line":"# set literal"}}],"value":{"ast_type":"Set","col_offset":4,"elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":5,"lineno":7},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":8,"lineno":7},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":11,"lineno":7}],"lineno":7}},{"ast_type":"Assign","col_offset":0,"lineno":8,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"h","lineno":8,"noops_sameline":{"ast_type":"SameLineNoops","lineno":8,"noop_line":"# dict literal"}}],"value":{"ast_type":"Dict","col_offset":4,"keys":[{"LiteralValue":"a","ast_type":"StringLiteral","col_offset":5,"lineno":8},{"LiteralValue":"b","ast_type":"StringLiteral","col_offset":13,"lineno":8}],"lineno":8,"values":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":10,"lineno":8},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":18,"lineno":8}]}},{"ast_type":"Assign","col_offset":0,"lineno":9,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"i","lineno":9,"noops_sameline":{"ast_type":"SameLineNoops","lineno":9,"noop_line":"# expression assignment"}}],"value":{"ast_type":"BinOp","col_offset":10,"left":{"ast_type":"BinOp","col_offset":4,"left":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"a","lineno":9},"lineno":9,"op":{"ast_type":"Add"},"right":{"ast_type":"Name","col_offset":8,"ctx":"Load","id":"b","lineno":9}},"lineno":9,"op":{"ast_type":"Sub"},"right":{"args":[{"ast_type":"Name","col_offset":16,"ctx":"Load","id":"d","lineno":9}],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"int","lineno":9},"keywords":[],"lineno":9}}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/loop_if.py.json b/tests/native/loop_if.py.json deleted file mode 100644 index a8a263b0..00000000 --- a/tests/native/loop_if.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Assign","col_offset":0,"lineno":1,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"something","lineno":1}],"value":{"ast_type":"List","col_offset":12,"ctx":"Load","elts":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":13,"lineno":1},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":15,"lineno":1},{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":1}],"lineno":1}},{"ast_type":"For","body":[{"ast_type":"If","body":[{"ast_type":"Continue","col_offset":8,"lineno":5}],"col_offset":4,"lineno":4,"orelse":[{"ast_type":"If","body":[{"ast_type":"Break","col_offset":8,"lineno":7}],"col_offset":9,"lineno":6,"orelse":[],"test":{"ast_type":"Name","col_offset":9,"ctx":"Load","id":"otherstuff","lineno":6}}],"test":{"ast_type":"Name","col_offset":7,"ctx":"Load","id":"stuff","lineno":4}}],"col_offset":0,"iter":{"ast_type":"Name","col_offset":9,"ctx":"Load","id":"something","lineno":3},"lineno":3,"orelse":[{"ast_type":"Expr","col_offset":4,"lineno":9,"value":{"args":[{"LiteralValue":"Python fors have elses","ast_type":"StringLiteral","col_offset":10,"lineno":9}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":9},"keywords":[],"lineno":9}}],"target":{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"i","lineno":3,"noops_previous":{"ast_type":"PreviousNoops","end_lineno":1,"lineno":1,"lines":[{"ast_type":"NoopLine","noop_line":"\n"}]}}},{"ast_type":"Assign","col_offset":0,"lineno":11,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"mydict","lineno":11,"noops_previous":{"ast_type":"PreviousNoops","end_lineno":9,"lineno":9,"lines":[{"ast_type":"NoopLine","noop_line":"\n"}]}}],"value":{"ast_type":"Dict","col_offset":9,"keys":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":10,"lineno":11},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":15,"lineno":11}],"lineno":11,"values":[{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":12,"lineno":11},{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":17,"lineno":11}]}},{"ast_type":"For","body":[{"ast_type":"Expr","col_offset":4,"lineno":13,"value":{"args":[{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"k","lineno":13}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":13},"keywords":[],"lineno":13}},{"ast_type":"Expr","col_offset":4,"lineno":14,"value":{"args":[{"ast_type":"Name","col_offset":10,"ctx":"Load","id":"v","lineno":14}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":14},"keywords":[],"lineno":14}}],"col_offset":0,"iter":{"args":[],"ast_type":"Call","col_offset":12,"func":{"ast_type":"Attribute","attr":"items","col_offset":12,"ctx":"Load","lineno":12,"value":{"ast_type":"Name","col_offset":12,"ctx":"Load","id":"mydict","lineno":12}},"keywords":[],"lineno":12},"lineno":12,"orelse":[],"target":{"ast_type":"Tuple","col_offset":4,"ctx":"Store","elts":[{"ast_type":"Name","col_offset":4,"ctx":"Store","id":"k","lineno":12},{"ast_type":"Name","col_offset":7,"ctx":"Store","id":"v","lineno":12}],"lineno":12}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/pass.py.json b/tests/native/pass.py.json deleted file mode 100644 index 4bd637cd..00000000 --- a/tests/native/pass.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY2AST":{"ast_type":"Module","body":[{"ast_type":"Pass","col_offset":0,"lineno":1,"noops_sameline":{"ast_type":"SameLineNoops","lines":[{"ast_type":"NoopLine","l":"#"},{"ast_type":"NoopLine","l":" "},{"ast_type":"NoopLine","l":"e"},{"ast_type":"NoopLine","l":"a"},{"ast_type":"NoopLine","l":"s"},{"ast_type":"NoopLine","l":"y"}]}},{"args":{"args":[],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Pass","col_offset":15,"lineno":3,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"col_offset":0,"decorator_list":[],"lineno":3,"name":"somefun"},{"args":{"args":[],"ast_type":"arguments","defaults":[],"kwarg":null,"vararg":null},"ast_type":"FunctionDef","body":[{"ast_type":"Pass","col_offset":4,"lineno":6,"noops_previous":{"ast_type":"PreviousNoops","lines":[{"ast_type":"NoopLine","l":"\n"}]}}],"col_offset":0,"decorator_list":[],"lineno":5,"name":"otherfun"}]}}} diff --git a/tests/native/sameline.py.json b/tests/native/sameline.py.json deleted file mode 100644 index cf3f9fc5..00000000 --- a/tests/native/sameline.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Expr","col_offset":0,"lineno":1,"value":{"args":[{"LiteralValue":"same line test","ast_type":"StringLiteral","col_offset":6,"lineno":1}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":1},"keywords":[],"lineno":1}},{"ast_type":"Expr","col_offset":25,"lineno":1,"value":{"args":[{"LiteralValue":"another call","ast_type":"StringLiteral","col_offset":31,"lineno":1}],"ast_type":"Call","col_offset":25,"func":{"ast_type":"Name","col_offset":25,"ctx":"Load","id":"print","lineno":1},"keywords":[],"lineno":1}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/test.py.json b/tests/native/test.py.json deleted file mode 100644 index c2f291a5..00000000 --- a/tests/native/test.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Expr","col_offset":0,"lineno":1,"value":{"args":[{"LiteralValue":"something1","ast_type":"StringLiteral","col_offset":6,"lineno":1},{"LiteralValue":42,"NumType":"int","ast_type":"NumLiteral","col_offset":20,"lineno":1},{"ast_type":"Name","col_offset":24,"ctx":"Load","id":"somesymbbol","lineno":1}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":1},"keywords":[],"lineno":1}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/while.py.json b/tests/native/while.py.json deleted file mode 100644 index 27945d84..00000000 --- a/tests/native/while.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"While","body":[{"ast_type":"Expr","col_offset":4,"lineno":2,"value":{"args":[{"LiteralValue":"surely here","ast_type":"StringLiteral","col_offset":10,"lineno":2}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":2},"keywords":[],"lineno":2}},{"ast_type":"Break","col_offset":4,"lineno":3}],"col_offset":0,"lineno":1,"orelse":[{"ast_type":"Expr","col_offset":4,"lineno":5,"value":{"args":[{"LiteralValue":"while's else","ast_type":"StringLiteral","col_offset":10,"lineno":5}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":5},"keywords":[],"lineno":5}}],"test":{"ast_type":"Compare","col_offset":6,"comparators":[{"LiteralValue":2,"NumType":"int","ast_type":"NumLiteral","col_offset":10,"lineno":1}],"left":{"LiteralValue":3,"NumType":"int","ast_type":"NumLiteral","col_offset":6,"lineno":1},"lineno":1,"ops":[{"ast_type":"Gt","col_offset":6,"lineno":1}]}}],"col_offset":0,"lineno":1}}} diff --git a/tests/native/with.py.json b/tests/native/with.py.json deleted file mode 100644 index 7407a622..00000000 --- a/tests/native/with.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"ast":{"PY3AST":{"ast_type":"Module","body":[{"ast_type":"Expr","col_offset":0,"lineno":1,"value":{"args":[{"LiteralValue":"before something","ast_type":"StringLiteral","col_offset":6,"lineno":1}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":1},"keywords":[],"lineno":1}},{"ast_type":"Assign","col_offset":0,"lineno":2,"targets":[{"ast_type":"Name","col_offset":0,"ctx":"Store","id":"something","lineno":2}],"value":{"LiteralValue":1,"NumType":"int","ast_type":"NumLiteral","col_offset":12,"lineno":2}},{"ast_type":"With","body":[{"ast_type":"Expr","col_offset":4,"lineno":4,"value":{"args":[{"LiteralValue":"doing stuff with something","ast_type":"StringLiteral","col_offset":10,"lineno":4}],"ast_type":"Call","col_offset":4,"func":{"ast_type":"Name","col_offset":4,"ctx":"Load","id":"print","lineno":4},"keywords":[],"lineno":4}}],"col_offset":0,"items":[{"ast_type":"withitem","col_offset":0,"context_expr":{"ast_type":"Name","col_offset":5,"ctx":"Load","id":"something","lineno":3},"lineno":3,"optional_vars":null}],"lineno":3},{"ast_type":"Expr","col_offset":0,"lineno":5,"value":{"args":[{"LiteralValue":"not inside something","ast_type":"StringLiteral","col_offset":6,"lineno":5}],"ast_type":"Call","col_offset":0,"func":{"ast_type":"Name","col_offset":0,"ctx":"Load","id":"print","lineno":5},"keywords":[],"lineno":5}}],"col_offset":0,"lineno":1}}} diff --git a/tests/pass.py.native b/tests/pass.py.native index 66942415..e37926ef 100644 --- a/tests/pass.py.native +++ b/tests/pass.py.native @@ -37,8 +37,8 @@ { "ast_type": "Pass", "col_offset": 16, - "end_col_offset": 1, - "end_lineno": 2, + "end_col_offset": 19, + "end_lineno": 3, "lineno": 3, "noops_previous": { "ast_type": "PreviousNoops", @@ -59,7 +59,7 @@ ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 11, + "end_col_offset": 19, "end_lineno": 3, "lineno": 3, "name": "somefun", @@ -82,8 +82,8 @@ { "ast_type": "Pass", "col_offset": 5, - "end_col_offset": 1, - "end_lineno": 4, + "end_col_offset": 8, + "end_lineno": 6, "lineno": 6, "noops_previous": { "ast_type": "PreviousNoops", @@ -104,16 +104,16 @@ ], "col_offset": 5, "decorator_list": [], - "end_col_offset": 12, - "end_lineno": 5, + "end_col_offset": 8, + "end_lineno": 6, "lineno": 5, "name": "otherfun", "returns": null } ], "col_offset": 1, - "end_col_offset": 12, - "end_lineno": 5, + "end_col_offset": 8, + "end_lineno": 6, "lineno": 1 } } diff --git a/tests/pass.py.uast b/tests/pass.py.uast index 696f5e77..7111e448 100644 --- a/tests/pass.py.uast +++ b/tests/pass.py.uast @@ -9,9 +9,9 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 45 -. . Line: 5 -. . Col: 12 +. . Offset: 57 +. . Line: 6 +. . Col: 8 . } . Children: { . . 0: Pass { @@ -59,9 +59,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 23 +. . . . Offset: 31 . . . . Line: 3 -. . . . Col: 11 +. . . . Col: 19 . . . } . . . Properties: { . . . . internalRole: body @@ -96,9 +96,9 @@ Module { . . . . . . . . Col: 16 . . . . . . . } . . . . . . . EndPosition: { -. . . . . . . . Offset: 12 -. . . . . . . . Line: 2 -. . . . . . . . Col: 1 +. . . . . . . . Offset: 31 +. . . . . . . . Line: 3 +. . . . . . . . Col: 19 . . . . . . . } . . . . . . . Children: { . . . . . . . . 0: PreviousNoops { @@ -147,9 +147,9 @@ Module { . . . . Col: 5 . . . } . . . EndPosition: { -. . . . Offset: 45 -. . . . Line: 5 -. . . . Col: 12 +. . . . Offset: 57 +. . . . Line: 6 +. . . . Col: 8 . . . } . . . Properties: { . . . . internalRole: body @@ -184,9 +184,9 @@ Module { . . . . . . . . Col: 5 . . . . . . . } . . . . . . . EndPosition: { -. . . . . . . . Offset: 33 -. . . . . . . . Line: 4 -. . . . . . . . Col: 1 +. . . . . . . . Offset: 57 +. . . . . . . . Line: 6 +. . . . . . . . Col: 8 . . . . . . . } . . . . . . . Children: { . . . . . . . . 0: PreviousNoops { diff --git a/tests/sources/assert_constant.py b/tests/sources/assert_constant.py deleted file mode 100644 index c83ee793..00000000 --- a/tests/sources/assert_constant.py +++ /dev/null @@ -1 +0,0 @@ -assert(True) diff --git a/tests/sources/augassign.py b/tests/sources/augassign.py deleted file mode 100644 index d92ed02b..00000000 --- a/tests/sources/augassign.py +++ /dev/null @@ -1,4 +0,0 @@ -a += 3 -b -= 1 -c *= 4 -d /= 6 diff --git a/tests/sources/classdef.py b/tests/sources/classdef.py deleted file mode 100644 index 055ac5c6..00000000 --- a/tests/sources/classdef.py +++ /dev/null @@ -1,24 +0,0 @@ -class Animal: - def __init__(self): - self._a = 1 - b = 2 - - def method(self, arg1): - pass - - @property - def a(): - return self._a - - @a.setter - def a(newa): - self._a = newa - -class Dog(Animal): - pass - -a = Animal() -b = Dog() -a.a = 1 -print(a.a) - diff --git a/tests/sources/comments.py b/tests/sources/comments.py deleted file mode 100644 index 68ad40a4..00000000 --- a/tests/sources/comments.py +++ /dev/null @@ -1,3 +0,0 @@ -# comment above -a = 1 # line trailing comment -# file trailing comment diff --git a/tests/sources/comprehension.py b/tests/sources/comprehension.py deleted file mode 100644 index fde79c58..00000000 --- a/tests/sources/comprehension.py +++ /dev/null @@ -1,3 +0,0 @@ -a = [i for i in (1,2,3) if i>2] -b = (i for i in (1,2,3) if i>2) -# TODO: add dictionary and set diff --git a/tests/sources/except.py b/tests/sources/except.py deleted file mode 100644 index 0e34f3e6..00000000 --- a/tests/sources/except.py +++ /dev/null @@ -1,7 +0,0 @@ -try: - a = 1 - raise Exception("gogogo") -except: - print("ayyyy") -finally: - print("here we are") diff --git a/tests/sources/for.py b/tests/sources/for.py deleted file mode 100644 index 9ddd5f44..00000000 --- a/tests/sources/for.py +++ /dev/null @@ -1,3 +0,0 @@ -for i in [1,2,3]: - a += 1 - print(i) diff --git a/tests/sources/funcdef_defparams.py b/tests/sources/funcdef_defparams.py deleted file mode 100644 index 6a05da94..00000000 --- a/tests/sources/funcdef_defparams.py +++ /dev/null @@ -1,2 +0,0 @@ -def defaultargs(nodef1, nodef2, def1=1, def2=None): - pass diff --git a/tests/sources/functioncalls.py b/tests/sources/functioncalls.py deleted file mode 100644 index 94ccf72e..00000000 --- a/tests/sources/functioncalls.py +++ /dev/null @@ -1,6 +0,0 @@ -print("something1", 42, somesymbbol) # function -a = 3 -a.bit_length("something", 42, somesymbol) # method-style call - -import os -os.chdir('.') # module call diff --git a/tests/sources/functiondef.py b/tests/sources/functiondef.py deleted file mode 100644 index 9b9f672c..00000000 --- a/tests/sources/functiondef.py +++ /dev/null @@ -1,12 +0,0 @@ -@decorator(param1, param2) -def somefunction(arg1, arg2, arg3): - """ - This is the doc - """ - arg1 = arg2 + arg3 - if arg1 > 1: - yield arg1 - return arg2 - -l = [4, 8] -somefunction(1, *l) diff --git a/tests/sources/functiondef_args.py b/tests/sources/functiondef_args.py deleted file mode 100644 index 0ebede37..00000000 --- a/tests/sources/functiondef_args.py +++ /dev/null @@ -1,14 +0,0 @@ -def classicfunc(a, b, c): - pass - -def defaultargs(a, b=1, c=None): - pass - -def argsfunc(a, *args): - pass - -def kwargsfunc(a, **kwargs): - pass - -def annotatedfunc(a: int, b: str): - pass diff --git a/tests/sources/if.py b/tests/sources/if.py deleted file mode 100644 index 15e7e4f9..00000000 --- a/tests/sources/if.py +++ /dev/null @@ -1,9 +0,0 @@ -if a > b: - a = 1.1 - x = 1.2 -elif b == c: - c = 2.1 - j = 2.2 -else: - b = 3.1 - p = 3.2 diff --git a/tests/sources/ifexpression.py b/tests/sources/ifexpression.py deleted file mode 100644 index 8e177450..00000000 --- a/tests/sources/ifexpression.py +++ /dev/null @@ -1 +0,0 @@ -a = 1 if 3 > 4 else 2 diff --git a/tests/sources/import.py b/tests/sources/import.py deleted file mode 100644 index 19c07335..00000000 --- a/tests/sources/import.py +++ /dev/null @@ -1,4 +0,0 @@ -import sys -import sys, os -from os import path -from os.path import join, exists diff --git a/tests/sources/line_comment.py b/tests/sources/line_comment.py deleted file mode 100644 index 5ae43341..00000000 --- a/tests/sources/line_comment.py +++ /dev/null @@ -1,6 +0,0 @@ -# thse are -# previous comments -pass # sameline comment - -# remainder comment and newline -# last remainder comment line diff --git a/tests/sources/literals_assign.py b/tests/sources/literals_assign.py deleted file mode 100644 index dee887e3..00000000 --- a/tests/sources/literals_assign.py +++ /dev/null @@ -1,9 +0,0 @@ -a = 3 # int -b = 3.14 # float -c = "somestring" # string -d = None # None -e = [1, 2, 3] # list literal -f = (1, 2, 3) # tuple literal -g = {1, 2, 3} # set literal -h = {'a': 1, 'b': 2} # dict literal -i = a + b - int(d) # expression assignment diff --git a/tests/sources/loop_if.py b/tests/sources/loop_if.py deleted file mode 100644 index b8d856ff..00000000 --- a/tests/sources/loop_if.py +++ /dev/null @@ -1,14 +0,0 @@ -something = [1,2,3] - -for i in something: - if stuff: - continue - elif otherstuff: - break -else: - print("Python fors have elses") - -mydict = {1:1, 2:2} -for k, v in mydict.items(): - print(k) - print(v) diff --git a/tests/sources/pass.py b/tests/sources/pass.py deleted file mode 100644 index ead00b45..00000000 --- a/tests/sources/pass.py +++ /dev/null @@ -1,6 +0,0 @@ -pass # easy - -def somefun(): pass - -def otherfun(): - pass diff --git a/tests/sources/test.py b/tests/sources/test.py deleted file mode 100644 index 4631539e..00000000 --- a/tests/sources/test.py +++ /dev/null @@ -1 +0,0 @@ -print("something1", 42, somesymbbol) diff --git a/tests/sources/while.py b/tests/sources/while.py deleted file mode 100644 index 058cdad5..00000000 --- a/tests/sources/while.py +++ /dev/null @@ -1,5 +0,0 @@ -while 3 > 2: - print("surely here") - break -else: - print("while's else") diff --git a/tests/sources/with.py b/tests/sources/with.py deleted file mode 100644 index 41398d16..00000000 --- a/tests/sources/with.py +++ /dev/null @@ -1,5 +0,0 @@ -print("before something") -something = 1 -with something: - print("doing stuff with something") -print("not inside something") diff --git a/tests/test.py.native b/tests/test.py.native index 774fb9c5..1642949c 100644 --- a/tests/test.py.native +++ b/tests/test.py.native @@ -11,12 +11,14 @@ { "ast_type": "Pass", "col_offset": 5, + "end_col_offset": 8, + "end_lineno": 2, "lineno": 2 } ], "col_offset": 1, "end_col_offset": 8, - "end_lineno": 1, + "end_lineno": 2, "lineno": 1, "orelse": [], "test": { @@ -59,7 +61,7 @@ ], "col_offset": 1, "end_col_offset": 8, - "end_lineno": 1, + "end_lineno": 2, "lineno": 1 } } diff --git a/tests/test.py.uast b/tests/test.py.uast index 6fbe77c4..54eb85e0 100644 --- a/tests/test.py.uast +++ b/tests/test.py.uast @@ -9,8 +9,8 @@ Module { . . Col: 1 . } . EndPosition: { -. . Offset: 7 -. . Line: 1 +. . Offset: 17 +. . Line: 2 . . Col: 8 . } . Children: { @@ -22,8 +22,8 @@ Module { . . . . Col: 1 . . . } . . . EndPosition: { -. . . . Offset: 7 -. . . . Line: 1 +. . . . Offset: 17 +. . . . Line: 2 . . . . Col: 8 . . . } . . . Properties: { @@ -44,11 +44,16 @@ Module { . . . . . . . . Line: 2 . . . . . . . . Col: 5 . . . . . . . } +. . . . . . . EndPosition: { +. . . . . . . . Offset: 17 +. . . . . . . . Line: 2 +. . . . . . . . Col: 8 +. . . . . . . } . . . . . . } . . . . . } . . . . } . . . . 1: Compare { -. . . . . Roles: IfCondition,BinaryExpression,Expression +. . . . . Roles: BinaryExpression,Expression,IfCondition . . . . . StartPosition: { . . . . . . Offset: 3 . . . . . . Line: 1 diff --git a/tests/uast/assert_constant.py.json b/tests/uast/assert_constant.py.json deleted file mode 100644 index 04a42700..00000000 --- a/tests/uast/assert_constant.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assert","Properties":{"internalRole":"body","msg":"0"},"Children":[{"InternalType":"BoolLiteral","Properties":{"internalRole":"test"},"Token":"true","StartPosition":{"Offset":0,"Line":1,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[50]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/astexport.py.json b/tests/uast/astexport.py.json deleted file mode 100644 index bc545f1a..00000000 --- a/tests/uast/astexport.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"print_function","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"__future__","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"ast","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]},{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"tokenize","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"token","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"StringIO","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"six","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"encode","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"codecs","StartPosition":{"Offset":0,"Line":7,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"pprint","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"pprint","StartPosition":{"Offset":0,"Line":8,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"visitor","StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"DictExportVisitor","StartPosition":{"Offset":0,"Line":13,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":13,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":13,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"visitor","StartPosition":{"Offset":0,"Line":14,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"parse","StartPosition":{"Offset":0,"Line":14,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":14,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":14,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"codestr","StartPosition":{"Offset":0,"Line":12,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"export_dict","StartPosition":{"Offset":0,"Line":12,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"json","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":18,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"dict_","StartPosition":{"Offset":0,"Line":19,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":19,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"export_dict","StartPosition":{"Offset":0,"Line":19,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":19,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":19,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"json_","StartPosition":{"Offset":0,"Line":20,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"IfExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"body"},"Token":"2","StartPosition":{"Offset":0,"Line":20,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"pretty_print","StartPosition":{"Offset":0,"Line":20,"Col":42},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"orelse"},"Token":"0","StartPosition":{"Offset":0,"Line":20,"Col":60},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":20,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]}],"Token":"indent","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"False","StartPosition":{"Offset":0,"Line":20,"Col":76},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ensure_ascii","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dict_","StartPosition":{"Offset":0,"Line":20,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"json","StartPosition":{"Offset":0,"Line":20,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"dumps","StartPosition":{"Offset":0,"Line":20,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":20,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":20,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"json_","StartPosition":{"Offset":0,"Line":21,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"dict_","StartPosition":{"Offset":0,"Line":21,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":21,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":21,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"False","StartPosition":{"Offset":0,"Line":17,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"codestr","StartPosition":{"Offset":0,"Line":17,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"pretty_print","StartPosition":{"Offset":0,"Line":17,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"export_json","StartPosition":{"Offset":0,"Line":17,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"namecounter","StartPosition":{"Offset":0,"Line":23,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":23,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":23,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":24,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n WARNING: Experimental, only compatible with Python 3 and unfinished\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":27,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"parent_nodekeys","StartPosition":{"Offset":0,"Line":30,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Set","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"body","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"names","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"targets","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"value","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"func","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"args","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"keywords","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"keys","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"left","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"right","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":30,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":30,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"Graph","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"graphviz","StartPosition":{"Offset":0,"Line":32,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Global","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"internalRole":"names"},"Token":"namecounter","StartPosition":{"Offset":0,"Line":36,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":36,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"namecounter","StartPosition":{"Offset":0,"Line":38,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":38,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":38,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"nodename","StartPosition":{"Offset":0,"Line":39,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"str","StartPosition":{"Offset":0,"Line":39,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"namecounter","StartPosition":{"Offset":0,"Line":39,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":39,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":39,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"node","StartPosition":{"Offset":0,"Line":41,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"subname","StartPosition":{"Offset":0,"Line":42,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,68]}],"StartPosition":{"Offset":0,"Line":42,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":43,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":43,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dict","StartPosition":{"Offset":0,"Line":43,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":43,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Assign","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"name","StartPosition":{"Offset":0,"Line":51,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"str","StartPosition":{"Offset":0,"Line":51,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Call","Properties":{"internalRole":"args","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"type","StartPosition":{"Offset":0,"Line":51,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":51,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":51,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,51]}],"StartPosition":{"Offset":0,"Line":51,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":51,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,22]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"ast","StartPosition":{"Offset":0,"Line":44,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":44,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"get","StartPosition":{"Offset":0,"Line":44,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":44,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":44,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"subname","StartPosition":{"Offset":0,"Line":45,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":45,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"get","StartPosition":{"Offset":0,"Line":45,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"name","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":45,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":45,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"id","StartPosition":{"Offset":0,"Line":46,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":46,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"get","StartPosition":{"Offset":0,"Line":46,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"id","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":46,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":46,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"arg","StartPosition":{"Offset":0,"Line":47,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":47,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"get","StartPosition":{"Offset":0,"Line":47,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"arg","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":47,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":47,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"separator","StartPosition":{"Offset":0,"Line":48,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"IfExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"ast","StartPosition":{"Offset":0,"Line":48,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"BoolOp","Properties":{"internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"subname","StartPosition":{"Offset":0,"Line":48,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"id","StartPosition":{"Offset":0,"Line":48,"Col":56},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"arg","StartPosition":{"Offset":0,"Line":48,"Col":62},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Or","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":48,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"And","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":48,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"orelse"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"body"},"Token":": ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":48,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,19]}],"StartPosition":{"Offset":0,"Line":48,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"name","StartPosition":{"Offset":0,"Line":49,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"BinOp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"right"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"ast","StartPosition":{"Offset":0,"Line":49,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"separator","StartPosition":{"Offset":0,"Line":49,"Col":44},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"subname","StartPosition":{"Offset":0,"Line":49,"Col":55},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"id","StartPosition":{"Offset":0,"Line":49,"Col":64},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"arg","StartPosition":{"Offset":0,"Line":49,"Col":68},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":49,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Mod","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"left"},"Token":"%s%s%s%s%s","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":49,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":49,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]}],"StartPosition":{"Offset":0,"Line":43,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"name","StartPosition":{"Offset":0,"Line":52,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"subname","StartPosition":{"Offset":0,"Line":52,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":52,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":52,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"get_name","StartPosition":{"Offset":0,"Line":41,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"name","StartPosition":{"Offset":0,"Line":54,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"origname","StartPosition":{"Offset":0,"Line":54,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":54,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,59]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":54,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"get_name","StartPosition":{"Offset":0,"Line":54,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":54,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":54,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"nodename","StartPosition":{"Offset":0,"Line":56,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"parent","StartPosition":{"Offset":0,"Line":56,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":56,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"reparent","StartPosition":{"Offset":0,"Line":55,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Compare","Properties":{"internalRole":"values"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"comparators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"list","StartPosition":{"Offset":0,"Line":55,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"tuple","StartPosition":{"Offset":0,"Line":55,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":55,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":55,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"type","StartPosition":{"Offset":0,"Line":55,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":55,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"In","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":55,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Or","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":55,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodename","StartPosition":{"Offset":0,"Line":58,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"dot","StartPosition":{"Offset":0,"Line":58,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"node","StartPosition":{"Offset":0,"Line":58,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"name","StartPosition":{"Offset":0,"Line":58,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"label","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":58,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":58,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,22]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"dot","StartPosition":{"Offset":0,"Line":60,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"edge","StartPosition":{"Offset":0,"Line":60,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"parent","StartPosition":{"Offset":0,"Line":60,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodename","StartPosition":{"Offset":0,"Line":60,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":60,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":60,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"parent","StartPosition":{"Offset":0,"Line":59,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":59,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":55,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"childkey","StartPosition":{"Offset":0,"Line":63,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"parent_nodekeys","StartPosition":{"Offset":0,"Line":63,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"comparators"},"Token":"obj","StartPosition":{"Offset":0,"Line":64,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"childkey","StartPosition":{"Offset":0,"Line":64,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"In","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":64,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"reparent","StartPosition":{"Offset":0,"Line":65,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Compare","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"childkey","StartPosition":{"Offset":0,"Line":65,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"names","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":65,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":65,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"generate","StartPosition":{"Offset":0,"Line":66,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dot","StartPosition":{"Offset":0,"Line":66,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"childkey","StartPosition":{"Offset":0,"Line":66,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"obj","StartPosition":{"Offset":0,"Line":66,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":66,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodename","StartPosition":{"Offset":0,"Line":66,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"reparent","StartPosition":{"Offset":0,"Line":66,"Col":59},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":66,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":66,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]}],"StartPosition":{"Offset":0,"Line":64,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]}],"StartPosition":{"Offset":0,"Line":63,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,33]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":62,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dict","StartPosition":{"Offset":0,"Line":62,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"isinstance","StartPosition":{"Offset":0,"Line":62,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":62,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"values","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":68,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"list","StartPosition":{"Offset":0,"Line":68,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"isinstance","StartPosition":{"Offset":0,"Line":68,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":68,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Call","Properties":{"internalRole":"values","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":68,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"tuple","StartPosition":{"Offset":0,"Line":68,"Col":54},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":68,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":68,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Or","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":68,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"generate","StartPosition":{"Offset":0,"Line":70,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dot","StartPosition":{"Offset":0,"Line":70,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"value","StartPosition":{"Offset":0,"Line":70,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodename","StartPosition":{"Offset":0,"Line":70,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":70,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":70,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"value","StartPosition":{"Offset":0,"Line":69,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"obj","StartPosition":{"Offset":0,"Line":69,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]}],"StartPosition":{"Offset":0,"Line":69,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,33]}],"StartPosition":{"Offset":0,"Line":68,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":62,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"None","StartPosition":{"Offset":0,"Line":35,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"False","StartPosition":{"Offset":0,"Line":35,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"dot","StartPosition":{"Offset":0,"Line":35,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"obj","StartPosition":{"Offset":0,"Line":35,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"parent","StartPosition":{"Offset":0,"Line":35,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"reparent","StartPosition":{"Offset":0,"Line":35,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"generate","StartPosition":{"Offset":0,"Line":35,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"dict_","StartPosition":{"Offset":0,"Line":72,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"elts","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":72,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"export_dict","StartPosition":{"Offset":0,"Line":72,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":72,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":72,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":72,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"dot","StartPosition":{"Offset":0,"Line":73,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"Graph","StartPosition":{"Offset":0,"Line":73,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ranksep","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"2.5","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":74,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"Token":"graph_attr","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"Python AST","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"comment","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"pdf","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"format","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":73,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":73,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dot","StartPosition":{"Offset":0,"Line":76,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dict_","StartPosition":{"Offset":0,"Line":76,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"generate","StartPosition":{"Offset":0,"Line":76,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"RootNode","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":76,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":76,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"With","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"dotfile","StartPosition":{"Offset":0,"Line":79,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"file","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"dot","StartPosition":{"Offset":0,"Line":79,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"source","StartPosition":{"Offset":0,"Line":79,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":79,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":79,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":79,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"optional_vars"},"Token":"dotfile","StartPosition":{"Offset":0,"Line":78,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Call","Properties":{"internalRole":"context_expr","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"open","StartPosition":{"Offset":0,"Line":78,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"ast.dot","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"w","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":78,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":78,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[43]}],"Token":"export_graphviz","StartPosition":{"Offset":0,"Line":24,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"TOKEN_VALUE","StartPosition":{"Offset":0,"Line":82,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":82,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":82,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"TOKEN_RAWVALUE","StartPosition":{"Offset":0,"Line":83,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"4","StartPosition":{"Offset":0,"Line":83,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":83,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"NOOP_TOKENS_LINE","StartPosition":{"Offset":0,"Line":84,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Set","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"COMMENT","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"INDENT","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"NL","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"NEWLINE","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":84,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":84,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"ClassDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"bases"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"object","StartPosition":{"Offset":0,"Line":86,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Tokenize the source code and extract lines with tokens that Python's\n AST generator ignore like blanks and comments\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":90,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":92,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":92,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"tokens","StartPosition":{"Offset":0,"Line":93,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"StringIO","StartPosition":{"Offset":0,"Line":93,"Col":42},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":93,"Col":51},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":93,"Col":42},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"Token":"readline","StartPosition":{"Offset":0,"Line":93,"Col":42},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"tokenize","StartPosition":{"Offset":0,"Line":93,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"generate_tokens","StartPosition":{"Offset":0,"Line":93,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":93,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":93,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":95,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":95,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"None","StartPosition":{"Offset":0,"Line":95,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":95,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":96,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"all_lines","StartPosition":{"Offset":0,"Line":96,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":96,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_create_tokenized_lines","StartPosition":{"Offset":0,"Line":96,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"tokens","StartPosition":{"Offset":0,"Line":96,"Col":54},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":96,"Col":62},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":96,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":96,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":97,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"astmissing_lines","StartPosition":{"Offset":0,"Line":97,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":97,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_create_astmissing_lines","StartPosition":{"Offset":0,"Line":97,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":97,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":97,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"Token":"__init__","StartPosition":{"Offset":0,"Line":92,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Return a copy of line_tokens containing lines ignored by the AST\n (comments and blanks-only lines)\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":103,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"lines","StartPosition":{"Offset":0,"Line":104,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":104,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":104,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"elts"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token_module","StartPosition":{"Offset":0,"Line":105,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"NEWLINE","StartPosition":{"Offset":0,"Line":105,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"elts"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"0","StartPosition":{"Offset":0,"Line":105,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"0","StartPosition":{"Offset":0,"Line":105,"Col":52},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":105,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"elts"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"0","StartPosition":{"Offset":0,"Line":105,"Col":57},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"0","StartPosition":{"Offset":0,"Line":105,"Col":60},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":105,"Col":57},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":105,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"nl_token","StartPosition":{"Offset":0,"Line":105,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":105,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"ltname","StartPosition":{"Offset":0,"Line":107,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token_module","StartPosition":{"Offset":0,"Line":107,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"tok_name","StartPosition":{"Offset":0,"Line":107,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":107,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"values"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"1","StartPosition":{"Offset":0,"Line":109,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":109,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":109,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":109,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":109,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Compare","Properties":{"internalRole":"values"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":109,"Col":61},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":109,"Col":58},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":109,"Col":47},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":109,"Col":47},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":109,"Col":47},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ltname","StartPosition":{"Offset":0,"Line":109,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":109,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"NL","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":109,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"And","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":109,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"For","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"token","StartPosition":{"Offset":0,"Line":115,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"lines","StartPosition":{"Offset":0,"Line":115,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":115,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":115,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":115,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]},{"InternalType":"Break","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":116,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[40,21]},{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"values"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":113,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":113,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":113,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ltname","StartPosition":{"Offset":0,"Line":113,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":113,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"COMMENT","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":113,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Call","Properties":{"internalRole":"values","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"TOKEN_RAWVALUE","StartPosition":{"Offset":0,"Line":114,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"lstrip","StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"Token":"startswith","StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"#","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":114,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"And","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":113,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":113,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"token","StartPosition":{"Offset":0,"Line":112,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":112,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]},{"InternalType":"Expr","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"None","StartPosition":{"Offset":0,"Line":118,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"lines","StartPosition":{"Offset":0,"Line":118,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":118,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":118,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":118,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":112,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,33]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"lines","StartPosition":{"Offset":0,"Line":110,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":110,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nl_token","StartPosition":{"Offset":0,"Line":110,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":110,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":110,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]}],"StartPosition":{"Offset":0,"Line":109,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"i","StartPosition":{"Offset":0,"Line":108,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":108,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":108,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59,31]},{"InternalType":"Call","Properties":{"internalRole":"iter","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"enumerate","StartPosition":{"Offset":0,"Line":108,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":108,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"all_lines","StartPosition":{"Offset":0,"Line":108,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":108,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,30]}],"StartPosition":{"Offset":0,"Line":108,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Assert","Properties":{"internalRole":"body","msg":"0"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"comparators","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":119,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":119,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"all_lines","StartPosition":{"Offset":0,"Line":119,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":119,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":119,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"lines","StartPosition":{"Offset":0,"Line":119,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":119,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":119,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":119,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[50]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"i","StartPosition":{"Offset":0,"Line":121,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":121,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":121,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59,31]},{"InternalType":"Call","Properties":{"internalRole":"iter","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"lines","StartPosition":{"Offset":0,"Line":121,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"enumerate","StartPosition":{"Offset":0,"Line":121,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":121,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,30]},{"InternalType":"Assign","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":126,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":126,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"lines","StartPosition":{"Offset":0,"Line":126,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":126,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":126,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":126,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"linetokens","StartPosition":{"Offset":0,"Line":122,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":123,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":123,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"i","StartPosition":{"Offset":0,"Line":123,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":123,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Break","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":124,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[40,21]}],"StartPosition":{"Offset":0,"Line":122,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]}],"StartPosition":{"Offset":0,"Line":121,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"lines","StartPosition":{"Offset":0,"Line":127,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":127,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":99,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"_create_astmissing_lines","StartPosition":{"Offset":0,"Line":99,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":129,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"tokens","StartPosition":{"Offset":0,"Line":129,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":129,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Create a list of tokenized lines\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":132,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"lines","StartPosition":{"Offset":0,"Line":133,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"IfExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"codestr","StartPosition":{"Offset":0,"Line":133,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"orelse"},"StartPosition":{"Offset":0,"Line":133,"Col":53},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Call","Properties":{"internalRole":"body","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"codestr","StartPosition":{"Offset":0,"Line":133,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"splitlines","StartPosition":{"Offset":0,"Line":133,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":133,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":133,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,19]}],"StartPosition":{"Offset":0,"Line":133,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"result","StartPosition":{"Offset":0,"Line":134,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":134,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":134,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"iter","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"range","StartPosition":{"Offset":0,"Line":135,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"args"},"Token":"0","StartPosition":{"Offset":0,"Line":135,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,54]},{"InternalType":"BinOp","Properties":{"internalRole":"args"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"right"},"Token":"1","StartPosition":{"Offset":0,"Line":135,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":135,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"lines","StartPosition":{"Offset":0,"Line":135,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":135,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":135,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":135,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,30]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"List","Properties":{"ctx":"0","internalRole":"args"},"StartPosition":{"Offset":0,"Line":136,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,59]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"result","StartPosition":{"Offset":0,"Line":136,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":136,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":136,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":136,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":135,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]}],"StartPosition":{"Offset":0,"Line":135,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"ltname","StartPosition":{"Offset":0,"Line":138,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token_module","StartPosition":{"Offset":0,"Line":138,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"tok_name","StartPosition":{"Offset":0,"Line":138,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":138,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":140,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":140,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":140,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ltname","StartPosition":{"Offset":0,"Line":140,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":140,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"tokentype","StartPosition":{"Offset":0,"Line":140,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":140,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"srow","StartPosition":{"Offset":0,"Line":141,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"scol","StartPosition":{"Offset":0,"Line":141,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":141,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,59]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":141,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"2","StartPosition":{"Offset":0,"Line":141,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":141,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":141,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3","StartPosition":{"Offset":0,"Line":142,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":142,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":142,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"erow","StartPosition":{"Offset":0,"Line":142,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"ecol","StartPosition":{"Offset":0,"Line":142,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":142,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,59]}],"StartPosition":{"Offset":0,"Line":142,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"line","StartPosition":{"Offset":0,"Line":143,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"IfExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"tokentype","StartPosition":{"Offset":0,"Line":143,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"STRING","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":143,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"BinOp","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"srow","StartPosition":{"Offset":0,"Line":143,"Col":58},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"right"},"Token":"1","StartPosition":{"Offset":0,"Line":143,"Col":65},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Sub","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":143,"Col":58},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"BinOp","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"erow","StartPosition":{"Offset":0,"Line":143,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"right"},"Token":"1","StartPosition":{"Offset":0,"Line":143,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Sub","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":143,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":143,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,19]}],"StartPosition":{"Offset":0,"Line":143,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"token","StartPosition":{"Offset":0,"Line":144,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"line","StartPosition":{"Offset":0,"Line":144,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"result","StartPosition":{"Offset":0,"Line":144,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":144,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"append","StartPosition":{"Offset":0,"Line":144,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":144,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":144,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"token","StartPosition":{"Offset":0,"Line":139,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"tokens","StartPosition":{"Offset":0,"Line":139,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]}],"StartPosition":{"Offset":0,"Line":139,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Assert","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"comparators","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"result","StartPosition":{"Offset":0,"Line":145,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":145,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":145,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"BinOp","Properties":{"internalRole":"left"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":145,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"lines","StartPosition":{"Offset":0,"Line":145,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":145,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"right"},"Token":"1","StartPosition":{"Offset":0,"Line":145,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":145,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":145,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Call","Properties":{"internalRole":"msg","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"result","StartPosition":{"Offset":0,"Line":145,"Col":50},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":145,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":145,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":145,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[50]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"result","StartPosition":{"Offset":0,"Line":146,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":146,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"_create_tokenized_lines","StartPosition":{"Offset":0,"Line":129,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"Return a list of the preceding comment and blank lines","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":149,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"previous","StartPosition":{"Offset":0,"Line":150,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":150,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":150,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"While","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":152,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":152,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"comparators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":152,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"lineno","StartPosition":{"Offset":0,"Line":152,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Lt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":152,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[35]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"token","StartPosition":{"Offset":0,"Line":153,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":153,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":153,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":153,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"astmissing_lines","StartPosition":{"Offset":0,"Line":153,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":153,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":153,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,36]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"token","StartPosition":{"Offset":0,"Line":154,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"BinOp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"left","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":155,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"TOKEN_RAWVALUE","StartPosition":{"Offset":0,"Line":155,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":155,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"rstrip","StartPosition":{"Offset":0,"Line":155,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":155,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"right"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":155,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"s","StartPosition":{"Offset":0,"Line":155,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":155,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"previous","StartPosition":{"Offset":0,"Line":156,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":156,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"s","StartPosition":{"Offset":0,"Line":156,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":156,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":156,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]}],"StartPosition":{"Offset":0,"Line":154,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,36]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":157,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":157,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":157,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":157,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[36,66]}],"StartPosition":{"Offset":0,"Line":152,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,34]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":151,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"hasattr","StartPosition":{"Offset":0,"Line":151,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":151,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":151,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"previous","StartPosition":{"Offset":0,"Line":158,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":158,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":148,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":148,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"previous_nooplines","StartPosition":{"Offset":0,"Line":148,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Return a string containing the trailing (until EOL) noops for the\n node, if any. The ending newline is implicit and thus not returned\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":164,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"UnaryOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"operand","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"hasattr","StartPosition":{"Offset":0,"Line":165,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":165,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":165,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Not","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":165,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":166,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,21]}],"StartPosition":{"Offset":0,"Line":165,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"tokens","StartPosition":{"Offset":0,"Line":168,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":168,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"all_lines","StartPosition":{"Offset":0,"Line":168,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"BinOp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":168,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"lineno","StartPosition":{"Offset":0,"Line":168,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"right"},"Token":"1","StartPosition":{"Offset":0,"Line":168,"Col":46},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Sub","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":168,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":168,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":168,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"trailing","StartPosition":{"Offset":0,"Line":169,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":169,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":169,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"ltname","StartPosition":{"Offset":0,"Line":170,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token_module","StartPosition":{"Offset":0,"Line":170,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"tok_name","StartPosition":{"Offset":0,"Line":170,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":170,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"tokens","StartPosition":{"Offset":0,"Line":172,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":177,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"TOKEN_VALUE","StartPosition":{"Offset":0,"Line":177,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":177,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"trailing","StartPosition":{"Offset":0,"Line":177,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":177,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":177,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":177,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,22]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"trailing","StartPosition":{"Offset":0,"Line":175,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":175,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":175,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"comparators"},"Token":"NOOP_TOKENS_LINE","StartPosition":{"Offset":0,"Line":173,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":173,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":173,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":173,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ltname","StartPosition":{"Offset":0,"Line":173,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":173,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NotIn","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":173,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]}],"StartPosition":{"Offset":0,"Line":173,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"token","StartPosition":{"Offset":0,"Line":172,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]}],"StartPosition":{"Offset":0,"Line":172,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Slice","Properties":{"internalRole":"slice","lower":"0","step":"0"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"upper"},"Token":"-1","StartPosition":{"Offset":0,"Line":178,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"trailing","StartPosition":{"Offset":0,"Line":178,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":178,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"join","StartPosition":{"Offset":0,"Line":178,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":178,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":178,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":160,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":160,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"remainder_noops_sameline","StartPosition":{"Offset":0,"Line":160,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"return any remaining ignored lines.","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":181,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"trailing","StartPosition":{"Offset":0,"Line":182,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"StartPosition":{"Offset":0,"Line":182,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":182,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"i","StartPosition":{"Offset":0,"Line":183,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":183,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":183,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":183,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"While","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"comparators","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"len","StartPosition":{"Offset":0,"Line":184,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":184,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"astmissing_lines","StartPosition":{"Offset":0,"Line":184,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":184,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"i","StartPosition":{"Offset":0,"Line":184,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Lt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":184,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[35]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"token","StartPosition":{"Offset":0,"Line":185,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":185,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"astmissing_lines","StartPosition":{"Offset":0,"Line":185,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"i","StartPosition":{"Offset":0,"Line":185,"Col":42},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":185,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":185,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,36]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"s","StartPosition":{"Offset":0,"Line":187,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"token","StartPosition":{"Offset":0,"Line":187,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"TOKEN_RAWVALUE","StartPosition":{"Offset":0,"Line":187,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":187,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":187,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"trailing","StartPosition":{"Offset":0,"Line":188,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"append","StartPosition":{"Offset":0,"Line":188,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"s","StartPosition":{"Offset":0,"Line":188,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":188,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":188,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"token","StartPosition":{"Offset":0,"Line":186,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":186,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,36]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":189,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":189,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":189,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[36,66]}],"StartPosition":{"Offset":0,"Line":184,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[34]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":190,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"current_line","StartPosition":{"Offset":0,"Line":190,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"i","StartPosition":{"Offset":0,"Line":190,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":190,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"trailing","StartPosition":{"Offset":0,"Line":191,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":191,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":180,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"remainder_noops","StartPosition":{"Offset":0,"Line":180,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]}],"Token":"NoopExtractor","StartPosition":{"Offset":0,"Line":86,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[10]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Shortcut that adds ast_type (if not specified),\n lineno and col_offset to the node-derived dictionary\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":197,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":199,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":199,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"__class__","StartPosition":{"Offset":0,"Line":199,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"__name__","StartPosition":{"Offset":0,"Line":199,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":199,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"comparators"},"Token":"None","StartPosition":{"Offset":0,"Line":198,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":198,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Is","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":198,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]}],"StartPosition":{"Offset":0,"Line":198,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"newdict","StartPosition":{"Offset":0,"Line":201,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":201,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":201,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":201,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"newdict","StartPosition":{"Offset":0,"Line":203,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":203,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":203,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"lineno","StartPosition":{"Offset":0,"Line":203,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":203,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":202,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"hasattr","StartPosition":{"Offset":0,"Line":202,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":202,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":202,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"hasattr","StartPosition":{"Offset":0,"Line":204,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":204,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"col_offset","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":204,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"newdict","StartPosition":{"Offset":0,"Line":205,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"col_offset","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":205,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":205,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"col_offset","StartPosition":{"Offset":0,"Line":205,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":205,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]}],"StartPosition":{"Offset":0,"Line":204,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"newdict","StartPosition":{"Offset":0,"Line":207,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":207,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"None","StartPosition":{"Offset":0,"Line":193,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"node","StartPosition":{"Offset":0,"Line":193,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"newdict","StartPosition":{"Offset":0,"Line":193,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":193,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"node_dict","StartPosition":{"Offset":0,"Line":193,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"ClassDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":210,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,68]}],"StartPosition":{"Offset":0,"Line":210,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"defaults"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ast","StartPosition":{"Offset":0,"Line":212,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"parse","StartPosition":{"Offset":0,"Line":212,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"NoopExtractor","StartPosition":{"Offset":0,"Line":212,"Col":66},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":212,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":212,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"ast_parser","StartPosition":{"Offset":0,"Line":212,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"tsync_class","StartPosition":{"Offset":0,"Line":212,"Col":54},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n Initialize the Token Syncer composited object, parse the source code\n and start visiting the node tree to add comments and other modifications\n\n Args:\n codestr (string): the string with the source code to parse and visit.\n\n ast_parser (function, optional): the AST parser function to use. It needs to take\n a string with the code as parameter. By default it will be ast.parse from stdlib.\n\n tsync_class (class, optional): the class to use to sinchronize the tokenizer with\n the AST visits. This is needed to extract aditional info like comments or whitespace\n that most AST parsers doesn't include in the tree. This class need to provide the public\n methods \"previous_nooplines\", \"remainder_noops_sameline\" and \"rmainder_noops\".\n By default astexport.NoopExtractor will be used.\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":228,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":229,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"codestr","StartPosition":{"Offset":0,"Line":229,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"codestr","StartPosition":{"Offset":0,"Line":229,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":229,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":230,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"sync","StartPosition":{"Offset":0,"Line":230,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"tsync_class","StartPosition":{"Offset":0,"Line":230,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"codestr","StartPosition":{"Offset":0,"Line":230,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":230,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":230,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"Token":"__init__","StartPosition":{"Offset":0,"Line":212,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"node","StartPosition":{"Offset":0,"Line":233,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ast","StartPosition":{"Offset":0,"Line":233,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"parse","StartPosition":{"Offset":0,"Line":233,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":233,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"codestr","StartPosition":{"Offset":0,"Line":233,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"exec","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"mode","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":233,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":233,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"res","StartPosition":{"Offset":0,"Line":234,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":234,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":234,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit","StartPosition":{"Offset":0,"Line":234,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"True","StartPosition":{"Offset":0,"Line":234,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"root","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":234,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":234,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"res","StartPosition":{"Offset":0,"Line":235,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":235,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":232,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"parse","StartPosition":{"Offset":0,"Line":232,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"False","StartPosition":{"Offset":0,"Line":238,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":238,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":238,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"root","StartPosition":{"Offset":0,"Line":238,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"node_type","StartPosition":{"Offset":0,"Line":239,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":239,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"__class__","StartPosition":{"Offset":0,"Line":239,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"__name__","StartPosition":{"Offset":0,"Line":239,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":239,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":244,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ctx","StartPosition":{"Offset":0,"Line":244,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":244,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ctx","StartPosition":{"Offset":0,"Line":244,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"__class__","StartPosition":{"Offset":0,"Line":244,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"__name__","StartPosition":{"Offset":0,"Line":244,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":244,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":243,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"hasattr","StartPosition":{"Offset":0,"Line":243,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"ctx","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":243,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":243,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"meth","StartPosition":{"Offset":0,"Line":246,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"self","StartPosition":{"Offset":0,"Line":246,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"BinOp","Properties":{"internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"node_type","StartPosition":{"Offset":0,"Line":246,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"left"},"Token":"visit_","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":246,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":246,"Col":51},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit_other","StartPosition":{"Offset":0,"Line":246,"Col":51},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"getattr","StartPosition":{"Offset":0,"Line":246,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":246,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":246,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":247,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"meth","StartPosition":{"Offset":0,"Line":247,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":247,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":247,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":247,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"noops_previous","StartPosition":{"Offset":0,"Line":252,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":252,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"sync","StartPosition":{"Offset":0,"Line":252,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"previous_nooplines","StartPosition":{"Offset":0,"Line":252,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":252,"Col":58},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":252,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":252,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"noops_previous","StartPosition":{"Offset":0,"Line":253,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":254,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"noops_previous","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":254,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"ListComp","Properties":{"internalRole":"values"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"noopline","StartPosition":{"Offset":0,"Line":256,"Col":74},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"noops_previous","StartPosition":{"Offset":0,"Line":256,"Col":86},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Dict","Properties":{"internalRole":"elt"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"noopline","StartPosition":{"Offset":0,"Line":256,"Col":60},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"NoopLine","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"l","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":256,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":256,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"lines","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"PreviousNoops","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":254,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":254,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]}],"StartPosition":{"Offset":0,"Line":253,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,19]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"noops_sameline","StartPosition":{"Offset":0,"Line":261,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":261,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"sync","StartPosition":{"Offset":0,"Line":261,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"remainder_noops_sameline","StartPosition":{"Offset":0,"Line":261,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":261,"Col":64},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":261,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":261,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":263,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"noops_sameline","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":263,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"ListComp","Properties":{"internalRole":"values"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"noopline","StartPosition":{"Offset":0,"Line":265,"Col":74},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"noops_sameline","StartPosition":{"Offset":0,"Line":265,"Col":86},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Dict","Properties":{"internalRole":"elt"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"noopline","StartPosition":{"Offset":0,"Line":265,"Col":60},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"l","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"NoopLine","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":265,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":265,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"lines","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"SameLineNoops","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":263,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":263,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"noops_sameline","StartPosition":{"Offset":0,"Line":262,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":262,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,19]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"root","StartPosition":{"Offset":0,"Line":269,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"noops_remainder","StartPosition":{"Offset":0,"Line":270,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":270,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"sync","StartPosition":{"Offset":0,"Line":270,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"remainder_noops","StartPosition":{"Offset":0,"Line":270,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":270,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":270,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"noops_remainder","StartPosition":{"Offset":0,"Line":271,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"ListComp","Properties":{"internalRole":"values"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"noops_remainder","StartPosition":{"Offset":0,"Line":274,"Col":90},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"noopline","StartPosition":{"Offset":0,"Line":274,"Col":78},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Dict","Properties":{"internalRole":"elt"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"noopline","StartPosition":{"Offset":0,"Line":274,"Col":64},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"l","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"NoopLine","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":274,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":274,"Col":34},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"RemainderNoops","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"lines","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":272,"Col":54},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":272,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"noops_remainder","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":272,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]}],"StartPosition":{"Offset":0,"Line":272,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]}],"StartPosition":{"Offset":0,"Line":271,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,19]}],"StartPosition":{"Offset":0,"Line":269,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,19]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":249,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"dict","StartPosition":{"Offset":0,"Line":249,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"isinstance","StartPosition":{"Offset":0,"Line":249,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":249,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":249,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"visit_result","StartPosition":{"Offset":0,"Line":276,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":276,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit","StartPosition":{"Offset":0,"Line":238,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":278,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":278,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"node_type","StartPosition":{"Offset":0,"Line":279,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":279,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"__class__","StartPosition":{"Offset":0,"Line":279,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"__name__","StartPosition":{"Offset":0,"Line":279,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":279,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"node_dict","StartPosition":{"Offset":0,"Line":281,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"keys"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":282,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":282,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"node_type","StartPosition":{"Offset":0,"Line":282,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":281,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":281,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"meth","StartPosition":{"Offset":0,"Line":287,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"self","StartPosition":{"Offset":0,"Line":288,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"BinOp","Properties":{"internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"node_type","StartPosition":{"Offset":0,"Line":288,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"left"},"Token":"visit_","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":288,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":289,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit_other_field","StartPosition":{"Offset":0,"Line":289,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"getattr","StartPosition":{"Offset":0,"Line":287,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":287,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":287,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"field","StartPosition":{"Offset":0,"Line":291,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node_dict","StartPosition":{"Offset":0,"Line":291,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":291,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"meth","StartPosition":{"Offset":0,"Line":291,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Call","Properties":{"internalRole":"args","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":291,"Col":44},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"field","StartPosition":{"Offset":0,"Line":291,"Col":50},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"getattr","StartPosition":{"Offset":0,"Line":291,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":291,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,51]}],"StartPosition":{"Offset":0,"Line":291,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":291,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"field","StartPosition":{"Offset":0,"Line":286,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":286,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_fields","StartPosition":{"Offset":0,"Line":286,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[30]}],"StartPosition":{"Offset":0,"Line":286,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":294,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_attributes","StartPosition":{"Offset":0,"Line":294,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[30]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"getattr","StartPosition":{"Offset":0,"Line":295,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"self","StartPosition":{"Offset":0,"Line":296,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"BinOp","Properties":{"internalRole":"args"},"Children":[{"InternalType":"BinOp","Properties":{"internalRole":"left"},"Children":[{"InternalType":"BinOp","Properties":{"internalRole":"left"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"node_type","StartPosition":{"Offset":0,"Line":296,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"left"},"Token":"visit_","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":296,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"right"},"Token":"_","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":296,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"attr","StartPosition":{"Offset":0,"Line":296,"Col":51},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":296,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":297,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit_other_field","StartPosition":{"Offset":0,"Line":297,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":295,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"meth","StartPosition":{"Offset":0,"Line":295,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":295,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"attr","StartPosition":{"Offset":0,"Line":300,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"node_dict","StartPosition":{"Offset":0,"Line":300,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":300,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"args","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"getattr","StartPosition":{"Offset":0,"Line":300,"Col":35},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":300,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"attr","StartPosition":{"Offset":0,"Line":300,"Col":49},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"None","StartPosition":{"Offset":0,"Line":300,"Col":55},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":300,"Col":35},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,51]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"meth","StartPosition":{"Offset":0,"Line":300,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":300,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":300,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,32]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"attr","StartPosition":{"Offset":0,"Line":294,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]}],"StartPosition":{"Offset":0,"Line":294,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node_dict","StartPosition":{"Offset":0,"Line":301,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":301,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_other","StartPosition":{"Offset":0,"Line":278,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":304,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":304,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"ast","StartPosition":{"Offset":0,"Line":304,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"AST","StartPosition":{"Offset":0,"Line":304,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":304,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"BoolOp","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"values","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":306,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"list","StartPosition":{"Offset":0,"Line":306,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":306,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":306,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Call","Properties":{"internalRole":"values","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":306,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":306,"Col":50},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"tuple","StartPosition":{"Offset":0,"Line":306,"Col":56},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":306,"Col":39},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Or","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":306,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Return","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":309,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":309,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,22]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"ListComp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"node","StartPosition":{"Offset":0,"Line":307,"Col":43},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"x","StartPosition":{"Offset":0,"Line":307,"Col":38},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Call","Properties":{"internalRole":"elt","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"x","StartPosition":{"Offset":0,"Line":307,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":307,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit","StartPosition":{"Offset":0,"Line":307,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":307,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":307,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":307,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,21]}],"StartPosition":{"Offset":0,"Line":306,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":305,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":305,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"visit","StartPosition":{"Offset":0,"Line":305,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":305,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":305,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,21]}],"StartPosition":{"Offset":0,"Line":304,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":303,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":303,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"visit_other_field","StartPosition":{"Offset":0,"Line":303,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":311,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":311,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n This visits str fields inside nodes (which are represented as keys\n in the node dictionary), not Str AST nodes\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":315,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":316,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"str","StartPosition":{"Offset":0,"Line":316,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":316,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":316,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_str","StartPosition":{"Offset":0,"Line":311,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":318,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":318,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"keys"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":320,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":320,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":321,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"s","StartPosition":{"Offset":0,"Line":321,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"StringLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":319,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":319,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_Str","StartPosition":{"Offset":0,"Line":318,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":324,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":324,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"TryExcept","Properties":{"internalRole":"body"},"Children":[{"InternalType":"ExceptHandler","Properties":{"internalRole":"handlers"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"type"},"Token":"UnicodeDecodeError","StartPosition":{"Offset":0,"Line":328,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"s","StartPosition":{"Offset":0,"Line":330,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":330,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"s","StartPosition":{"Offset":0,"Line":330,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"encode","StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"base64","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"Token":"decode","StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"Token":"strip","StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":330,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":330,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"encoding","StartPosition":{"Offset":0,"Line":331,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"base64","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,68]}],"StartPosition":{"Offset":0,"Line":331,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"Token":"\u003cnil\u003e","StartPosition":{"Offset":0,"Line":328,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"s","StartPosition":{"Offset":0,"Line":326,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":326,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"s","StartPosition":{"Offset":0,"Line":326,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"decode","StartPosition":{"Offset":0,"Line":326,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":326,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":326,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"encoding","StartPosition":{"Offset":0,"Line":327,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"utf8","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,68]}],"StartPosition":{"Offset":0,"Line":327,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"StartPosition":{"Offset":0,"Line":325,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[47]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"s","StartPosition":{"Offset":0,"Line":335,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"encoding","StartPosition":{"Offset":0,"Line":336,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"keys"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":334,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":334,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"ByteLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"encoding","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":333,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":333,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_Bytes","StartPosition":{"Offset":0,"Line":324,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":339,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":339,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"NoneLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":340,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_NoneType","StartPosition":{"Offset":0,"Line":339,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":342,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":342,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"ListComp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":351,"Col":61},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":351,"Col":66},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"names","StartPosition":{"Offset":0,"Line":351,"Col":66},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Dict","Properties":{"internalRole":"elt"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"i","StartPosition":{"Offset":0,"Line":349,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":350,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"lineno","StartPosition":{"Offset":0,"Line":350,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":351,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"col_offset","StartPosition":{"Offset":0,"Line":351,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"id","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"col_offset","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"Name","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":348,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":348,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"names_as_nodes","StartPosition":{"Offset":0,"Line":348,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":348,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":352,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Dict","Properties":{"internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"names_as_nodes","StartPosition":{"Offset":0,"Line":352,"Col":41},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"names","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":352,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"node_dict","StartPosition":{"Offset":0,"Line":352,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"Global","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":352,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":352,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_Global","StartPosition":{"Offset":0,"Line":342,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":354,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":354,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"names_as_nodes","StartPosition":{"Offset":0,"Line":356,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"ListComp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"elt"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"i","StartPosition":{"Offset":0,"Line":357,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":358,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"lineno","StartPosition":{"Offset":0,"Line":358,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":359,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"col_offset","StartPosition":{"Offset":0,"Line":359,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"id","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"lineno","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"col_offset","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"Name","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":356,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"comprehension","Properties":{"internalRole":"generators"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":359,"Col":61},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":359,"Col":66},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"names","StartPosition":{"Offset":0,"Line":359,"Col":66},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":356,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":356,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":360,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Dict","Properties":{"internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"values"},"Token":"names_as_nodes","StartPosition":{"Offset":0,"Line":360,"Col":41},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"names","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":360,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"node_dict","StartPosition":{"Offset":0,"Line":360,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"Nonlocal","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":360,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":360,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_Nonlocal","StartPosition":{"Offset":0,"Line":354,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":364,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"hasattr","StartPosition":{"Offset":0,"Line":364,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"value","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":364,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"repr_val","StartPosition":{"Offset":0,"Line":365,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"repr","StartPosition":{"Offset":0,"Line":365,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":365,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"value","StartPosition":{"Offset":0,"Line":365,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]}],"StartPosition":{"Offset":0,"Line":365,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":365,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"keys"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":368,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":368,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":369,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"value","StartPosition":{"Offset":0,"Line":369,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"BoolLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":367,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":367,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,21]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"comparators"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"True","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"elts"},"Token":"False","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":366,"Col":28},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"repr_val","StartPosition":{"Offset":0,"Line":366,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"In","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":366,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"keys"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":373,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"ast_type_field","StartPosition":{"Offset":0,"Line":373,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":374,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"value","StartPosition":{"Offset":0,"Line":374,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"NoneLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":372,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]}],"StartPosition":{"Offset":0,"Line":372,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44,21]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"repr_val","StartPosition":{"Offset":0,"Line":371,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"None","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":371,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]}],"StartPosition":{"Offset":0,"Line":371,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":366,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,19]}],"StartPosition":{"Offset":0,"Line":364,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"str","StartPosition":{"Offset":0,"Line":376,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":376,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":376,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":376,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":363,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":363,"Col":33},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"visit_NameConstant","StartPosition":{"Offset":0,"Line":363,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":378,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":378,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"retDict","StartPosition":{"Offset":0,"Line":380,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":382,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":382,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"NumType","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"int","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":380,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":380,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":379,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":379,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":379,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"int","StartPosition":{"Offset":0,"Line":379,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":379,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":387,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":387,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"NumType","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"float","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":385,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"retDict","StartPosition":{"Offset":0,"Line":385,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":385,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":384,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":384,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":384,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"float","StartPosition":{"Offset":0,"Line":384,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":384,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"retDict","StartPosition":{"Offset":0,"Line":390,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Dict","Properties":{"internalRole":"values"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":392,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":392,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"real","StartPosition":{"Offset":0,"Line":392,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":392,"Col":71},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":392,"Col":71},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"imag","StartPosition":{"Offset":0,"Line":392,"Col":71},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"real","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"imaginary","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":392,"Col":36},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"NumType","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"LiteralValue","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"values"},"Token":"complex","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":390,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":390,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Call","Properties":{"internalRole":"test","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"node","StartPosition":{"Offset":0,"Line":389,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"n","StartPosition":{"Offset":0,"Line":389,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"complex","StartPosition":{"Offset":0,"Line":389,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"isinstance","StartPosition":{"Offset":0,"Line":389,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":389,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":389,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":384,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":379,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"node_dict","StartPosition":{"Offset":0,"Line":395,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"node","StartPosition":{"Offset":0,"Line":395,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"retDict","StartPosition":{"Offset":0,"Line":395,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"NumLiteral","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"Token":"ast_type","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":395,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":395,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]}],"Token":"visit_Num","StartPosition":{"Offset":0,"Line":378,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"bases"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"object","StartPosition":{"Offset":0,"Line":209,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"DictExportVisitor","StartPosition":{"Offset":0,"Line":209,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[10]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"__name__","StartPosition":{"Offset":0,"Line":398,"Col":3},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"StringLiteral","Properties":{"internalRole":"comparators"},"Token":"__main__","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":398,"Col":3},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"sys","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":399,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[21,6]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"f","StartPosition":{"Offset":0,"Line":401,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":401,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"sys","StartPosition":{"Offset":0,"Line":401,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"argv","StartPosition":{"Offset":0,"Line":401,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":401,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":401,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"With","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"context_expr","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"f","StartPosition":{"Offset":0,"Line":403,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"open","StartPosition":{"Offset":0,"Line":403,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":403,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"content","StartPosition":{"Offset":0,"Line":404,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"codefile","StartPosition":{"Offset":0,"Line":404,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"read","StartPosition":{"Offset":0,"Line":404,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":404,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":404,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"optional_vars"},"Token":"codefile","StartPosition":{"Offset":0,"Line":403,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":403,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[43,21]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Subscript","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"Index","Properties":{"internalRole":"slice"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"0","StartPosition":{"Offset":0,"Line":406,"Col":50},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"content","StartPosition":{"Offset":0,"Line":406,"Col":22},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"export_json","StartPosition":{"Offset":0,"Line":406,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"keyword","Properties":{"internalRole":"keywords"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"True","StartPosition":{"Offset":0,"Line":406,"Col":44},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"pretty_print","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":406,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":406,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"print","StartPosition":{"Offset":0,"Line":406,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":406,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":406,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]}],"StartPosition":{"Offset":0,"Line":398,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"RemainderNoops","Properties":{"internalRole":"noops_remainder"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/augassign.py.json b/tests/uast/augassign.py.json deleted file mode 100644 index f8d773bf..00000000 --- a/tests/uast/augassign.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"a","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"b","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Sub","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"c","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"4","StartPosition":{"Offset":0,"Line":3,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Mult","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"d","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"6","StartPosition":{"Offset":0,"Line":4,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Div","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/classdef.py.json b/tests/uast/classdef.py.json deleted file mode 100644 index 5bf040f4..00000000 --- a/tests/uast/classdef.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"ClassDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"self","StartPosition":{"Offset":0,"Line":2,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":3,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_a","StartPosition":{"Offset":0,"Line":3,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":3,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":3,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"b","StartPosition":{"Offset":0,"Line":4,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"2","StartPosition":{"Offset":0,"Line":4,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":4,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"Token":"__init__","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":6,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"arg1","StartPosition":{"Offset":0,"Line":6,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Pass","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":7,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]}],"Token":"method","StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"self","StartPosition":{"Offset":0,"Line":11,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_a","StartPosition":{"Offset":0,"Line":11,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":11,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"decorator_list"},"Token":"property","StartPosition":{"Offset":0,"Line":9,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"a","StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"self","StartPosition":{"Offset":0,"Line":15,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"_a","StartPosition":{"Offset":0,"Line":15,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"newa","StartPosition":{"Offset":0,"Line":15,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,0]}],"StartPosition":{"Offset":0,"Line":15,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"decorator_list"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"a","StartPosition":{"Offset":0,"Line":13,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"setter","StartPosition":{"Offset":0,"Line":13,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"newa","StartPosition":{"Offset":0,"Line":14,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"a","StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]}],"Token":"Animal","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[10]},{"InternalType":"ClassDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"bases"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"Animal","StartPosition":{"Offset":0,"Line":17,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Pass","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":18,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]}],"Token":"Dog","StartPosition":{"Offset":0,"Line":17,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[10]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"a","StartPosition":{"Offset":0,"Line":20,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"Animal","StartPosition":{"Offset":0,"Line":20,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":20,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]}],"StartPosition":{"Offset":0,"Line":20,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"Dog","StartPosition":{"Offset":0,"Line":21,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":21,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,68]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"b","StartPosition":{"Offset":0,"Line":21,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":21,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"a","StartPosition":{"Offset":0,"Line":22,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"a","StartPosition":{"Offset":0,"Line":22,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":22,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":22,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Print","Properties":{"dest":"0","internalRole":"body","nl":"0"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"values"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"a","StartPosition":{"Offset":0,"Line":23,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"a","StartPosition":{"Offset":0,"Line":23,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":23,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"RemainderNoops","Properties":{"internalRole":"noops_remainder"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/comments.py.json b/tests/uast/comments.py.json deleted file mode 100644 index f9b021ef..00000000 --- a/tests/uast/comments.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# line trailing comment","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"PreviousNoops","Properties":{"end_lineno":"0","internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# comment above\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"a","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# comment above","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"RemainderNoops","Properties":{"end_lineno":"0","internalRole":"noops_remainder"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# file trailing comment\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/comprehension.py.json b/tests/uast/comprehension.py.json deleted file mode 100644 index bdd68ce7..00000000 --- a/tests/uast/comprehension.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"a","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"ListComp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"comprehension","Properties":{"internalRole":"generators","is_async":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":1,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":1,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Compare","Properties":{"internalRole":"ifs"},"Children":[{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":1,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"i","StartPosition":{"Offset":0,"Line":1,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":1,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":1,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elt"},"Token":"i","StartPosition":{"Offset":0,"Line":1,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":1,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"b","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"GeneratorExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elt"},"Token":"i","StartPosition":{"Offset":0,"Line":2,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"comprehension","Properties":{"internalRole":"generators","is_async":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":2,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":2,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":2,"Col":21},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":2,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59]},{"InternalType":"Compare","Properties":{"internalRole":"ifs"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"i","StartPosition":{"Offset":0,"Line":2,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":1,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"2","StartPosition":{"Offset":0,"Line":2,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":2,"Col":27},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":2,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":2,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"RemainderNoops","Properties":{"end_lineno":"0","internalRole":"noops_remainder"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# TODO: add dictionary and set\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/except.py.json b/tests/uast/except.py.json deleted file mode 100644 index ba7d7137..00000000 --- a/tests/uast/except.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Try","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"a","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,46]},{"InternalType":"Raise","Properties":{"cause":"0","internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"exc"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"Exception","StartPosition":{"Offset":0,"Line":3,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"gogogo","StartPosition":{"Offset":0,"Line":3,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":3,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[46,49]},{"InternalType":"ExceptHandler","Properties":{"internalRole":"handlers","type":"0"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"ayyyy","StartPosition":{"Offset":0,"Line":5,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"Token":"\u003cnil\u003e","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[47]},{"InternalType":"Expr","Properties":{"internalRole":"finalbody"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":7,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"here we are","StartPosition":{"Offset":0,"Line":7,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":7,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":7,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,48]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[45]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/for.py.json b/tests/uast/for.py.json deleted file mode 100644 index b3b7bf74..00000000 --- a/tests/uast/for.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"i","StartPosition":{"Offset":0,"Line":1,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"iter"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":1,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59,30]},{"InternalType":"AugAssign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Token":"a","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[32,66]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"i","StartPosition":{"Offset":0,"Line":3,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/funcdef_defparams.py.json b/tests/uast/funcdef_defparams.py.json deleted file mode 100644 index 60fdf54c..00000000 --- a/tests/uast/funcdef_defparams.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Pass","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"defaults"},"Token":"1","StartPosition":{"Offset":0,"Line":1,"Col":37},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"defaults"},"Token":"None","StartPosition":{"Offset":0,"Line":1,"Col":45},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodef1","StartPosition":{"Offset":0,"Line":1,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"nodef2","StartPosition":{"Offset":0,"Line":1,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"def1","StartPosition":{"Offset":0,"Line":1,"Col":32},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"def2","StartPosition":{"Offset":0,"Line":1,"Col":40},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"defaultargs","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/functioncalls.py.json b/tests/uast/functioncalls.py.json deleted file mode 100644 index c67680f4..00000000 --- a/tests/uast/functioncalls.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# function","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"something1","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"args"},"Token":"42","StartPosition":{"Offset":0,"Line":1,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"somesymbbol","StartPosition":{"Offset":0,"Line":1,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"a","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# method-style call","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"a","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"bit_length","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"something","StartPosition":{"Offset":0,"Line":3,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"args"},"Token":"42","StartPosition":{"Offset":0,"Line":3,"Col":26},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"somesymbol","StartPosition":{"Offset":0,"Line":3,"Col":30},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Children":[{"InternalType":"PreviousNoops","Properties":{"end_lineno":"0","internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"os","StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# module call","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"os","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"chdir","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":".","StartPosition":{"Offset":0,"Line":6,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/functiondef.py.json b/tests/uast/functiondef.py.json deleted file mode 100644 index 55820875..00000000 --- a/tests/uast/functiondef.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"arg1","StartPosition":{"Offset":0,"Line":2,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"arg2","StartPosition":{"Offset":0,"Line":2,"Col":23},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"arg3","StartPosition":{"Offset":0,"Line":2,"Col":29},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"\n This is the doc\n ","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]}],"StartPosition":{"Offset":0,"Line":5,"Col":4294967295},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"arg1","StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"BinOp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"arg3","StartPosition":{"Offset":0,"Line":6,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"arg2","StartPosition":{"Offset":0,"Line":6,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":6,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Yield","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"arg1","StartPosition":{"Offset":0,"Line":8,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":8,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":8,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,21]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"1","StartPosition":{"Offset":0,"Line":7,"Col":14},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"arg1","StartPosition":{"Offset":0,"Line":7,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":7,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]}],"StartPosition":{"Offset":0,"Line":7,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]},{"InternalType":"Return","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"arg2","StartPosition":{"Offset":0,"Line":9,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[44]},{"InternalType":"Call","Properties":{"internalRole":"decorator_list","kwargs":"0","starargs":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"param1","StartPosition":{"Offset":0,"Line":1,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"param2","StartPosition":{"Offset":0,"Line":1,"Col":19},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"decorator","StartPosition":{"Offset":0,"Line":1,"Col":1},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":1,"Col":1},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"Token":"somefunction","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"l","StartPosition":{"Offset":0,"Line":11,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"4","StartPosition":{"Offset":0,"Line":11,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"8","StartPosition":{"Offset":0,"Line":11,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":11,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":11,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value","kwargs":"0"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"args"},"Token":"1","StartPosition":{"Offset":0,"Line":12,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"somefunction","StartPosition":{"Offset":0,"Line":12,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"starargs"},"Token":"l","StartPosition":{"Offset":0,"Line":12,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":12,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":12,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/functiondef_args.py.json b/tests/uast/functiondef_args.py.json deleted file mode 100644 index bc9cb6ae..00000000 --- a/tests/uast/functiondef_args.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"fatal","errors":["Traceback (most recent call last):\n File \"/usr/local/lib/python3.6/site-packages/python_driver/requestprocessor.py\", line 152, in process_request\n raise Exception('Could not determine Python version')\nException: Could not determine Python version\n"],"uast":null} diff --git a/tests/uast/hello.py.json b/tests/uast/hello.py.json deleted file mode 100644 index 5e1331eb..00000000 --- a/tests/uast/hello.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"hello world","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/if.py.json b/tests/uast/if.py.json deleted file mode 100644 index f593dab4..00000000 --- a/tests/uast/if.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"a","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1.1","StartPosition":{"Offset":0,"Line":2,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"x","StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1.2","StartPosition":{"Offset":0,"Line":3,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"b","StartPosition":{"Offset":0,"Line":4,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Eq","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":4,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"comparators"},"Token":"c","StartPosition":{"Offset":0,"Line":4,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":4,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"c","StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"2.1","StartPosition":{"Offset":0,"Line":5,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"j","StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"2.2","StartPosition":{"Offset":0,"Line":6,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,21]},{"InternalType":"Assign","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"b","StartPosition":{"Offset":0,"Line":8,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3.1","StartPosition":{"Offset":0,"Line":8,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":8,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,22]},{"InternalType":"Assign","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"p","StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3.2","StartPosition":{"Offset":0,"Line":9,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66,22]}],"StartPosition":{"Offset":0,"Line":4,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]},{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"a","StartPosition":{"Offset":0,"Line":1,"Col":3},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":1,"Col":3},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"comparators"},"Token":"b","StartPosition":{"Offset":0,"Line":1,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":1,"Col":3},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[20]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/ifexpression.py.json b/tests/uast/ifexpression.py.json deleted file mode 100644 index db57add4..00000000 --- a/tests/uast/ifexpression.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"a","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"IfExp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"left"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":1,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"4","StartPosition":{"Offset":0,"Line":1,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"body"},"Token":"1","StartPosition":{"Offset":0,"Line":1,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"orelse"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,19]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/import.py.json b/tests/uast/import.py.json deleted file mode 100644 index 3f10b923..00000000 --- a/tests/uast/import.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"sys","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"Import","Properties":{"internalRole":"body"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"sys","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]},{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"os","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"path","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"os","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]},{"InternalType":"ImportFrom","Properties":{"internalRole":"body","level":"0"},"Children":[{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"join","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]},{"InternalType":"alias","Properties":{"asname":"0","internalRole":"names"},"Token":"exists","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[7]}],"Token":"os.path","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[6]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/line_comment.py.json b/tests/uast/line_comment.py.json deleted file mode 100644 index 2fbd1fc3..00000000 --- a/tests/uast/line_comment.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"RemainderNoops","Properties":{"end_lineno":"0","internalRole":"noops_remainder"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# remainder comment and newline\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# last remainder comment line\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]},{"InternalType":"Pass","Properties":{"internalRole":"body"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# sameline comment","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"PreviousNoops","Properties":{"end_lineno":"0","internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# thse are\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]},{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"# previous comments\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]},{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# thse are","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/literals_assign.py.json b/tests/uast/literals_assign.py.json deleted file mode 100644 index 38e52415..00000000 --- a/tests/uast/literals_assign.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# int","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"a","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# float","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"b","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"3.14","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# string","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"c","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"value"},"Token":"somestring","StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,68]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# None","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"d","StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NoneLiteral","Properties":{"internalRole":"value"},"Token":"\u003cnil\u003e","StartPosition":{"Offset":0,"Line":4,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,60]}],"StartPosition":{"Offset":0,"Line":4,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":5,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":5,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":5,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# list literal","StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"e","StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]}],"StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# tuple literal","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"f","StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":6,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":6,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":6,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":6,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":6,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# set literal","StartPosition":{"Offset":0,"Line":7,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"g","StartPosition":{"Offset":0,"Line":7,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Set","Properties":{"internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":7,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":7,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":7,"Col":11},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":7,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":7,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# dict literal","StartPosition":{"Offset":0,"Line":8,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"h","StartPosition":{"Offset":0,"Line":8,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"a","StartPosition":{"Offset":0,"Line":8,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"StringLiteral","Properties":{"internalRole":"keys"},"Token":"b","StartPosition":{"Offset":0,"Line":8,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"values"},"Token":"1","StartPosition":{"Offset":0,"Line":8,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"values"},"Token":"2","StartPosition":{"Offset":0,"Line":8,"Col":18},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":8,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":8,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Token":"# expression assignment","StartPosition":{"Offset":0,"Line":9,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"Token":"i","StartPosition":{"Offset":0,"Line":9,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"BinOp","Properties":{"internalRole":"value"},"Children":[{"InternalType":"BinOp","Properties":{"internalRole":"left"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"left"},"Token":"a","StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"right"},"Token":"b","StartPosition":{"Offset":0,"Line":9,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Add","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Call","Properties":{"internalRole":"right"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"int","StartPosition":{"Offset":0,"Line":9,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"d","StartPosition":{"Offset":0,"Line":9,"Col":16},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":9,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]},{"InternalType":"Sub","Properties":{"internalRole":"op"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":9,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68]}],"StartPosition":{"Offset":0,"Line":9,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/loop_if.py.json b/tests/uast/loop_if.py.json deleted file mode 100644 index 02c95473..00000000 --- a/tests/uast/loop_if.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"something","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"List","Properties":{"ctx":"0","internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"1","StartPosition":{"Offset":0,"Line":1,"Col":13},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"elts"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"PreviousNoops","Properties":{"end_lineno":"0","internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"i","StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,31]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"iter"},"Token":"something","StartPosition":{"Offset":0,"Line":3,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0,30]},{"InternalType":"If","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"stuff","StartPosition":{"Offset":0,"Line":4,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Continue","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":5,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[41,21]},{"InternalType":"If","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"test"},"Token":"otherstuff","StartPosition":{"Offset":0,"Line":6,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Break","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":7,"Col":8},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[40,21]}],"StartPosition":{"Offset":0,"Line":6,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[22,19]}],"StartPosition":{"Offset":0,"Line":4,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[19,32]},{"InternalType":"Expr","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"Python fors have elses","StartPosition":{"Offset":0,"Line":9,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":9,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Children":[{"InternalType":"PreviousNoops","Properties":{"end_lineno":"0","internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines"},"Token":"\n","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":9,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"Token":"mydict","StartPosition":{"Offset":0,"Line":11,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"Dict","Properties":{"internalRole":"value"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"keys"},"Token":"1","StartPosition":{"Offset":0,"Line":11,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"keys"},"Token":"2","StartPosition":{"Offset":0,"Line":11,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"values"},"Token":"1","StartPosition":{"Offset":0,"Line":11,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"values"},"Token":"2","StartPosition":{"Offset":0,"Line":11,"Col":17},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":11,"Col":9},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[68,59]}],"StartPosition":{"Offset":0,"Line":11,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"For","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Tuple","Properties":{"ctx":"0","internalRole":"target"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"k","StartPosition":{"Offset":0,"Line":12,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"elts"},"Token":"v","StartPosition":{"Offset":0,"Line":12,"Col":7},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":12,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[59,31]},{"InternalType":"Call","Properties":{"internalRole":"iter"},"Children":[{"InternalType":"Attribute","Properties":{"ctx":"0","internalRole":"func"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"value"},"Token":"mydict","StartPosition":{"Offset":0,"Line":12,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"Token":"items","StartPosition":{"Offset":0,"Line":12,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53]}],"StartPosition":{"Offset":0,"Line":12,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51,30]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"k","StartPosition":{"Offset":0,"Line":13,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":13,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":14,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"v","StartPosition":{"Offset":0,"Line":14,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":14,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":14,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,32]}],"StartPosition":{"Offset":0,"Line":12,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[33]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/pass.py.json b/tests/uast/pass.py.json deleted file mode 100644 index b8002baa..00000000 --- a/tests/uast/pass.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Pass","Properties":{"internalRole":"body"},"Children":[{"InternalType":"SameLineNoops","Properties":{"internalRole":"noops_sameline"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Pass","Properties":{"internalRole":"body"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":3,"Col":15},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"somefun","StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]},{"InternalType":"FunctionDef","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Pass","Properties":{"internalRole":"body"},"Children":[{"InternalType":"PreviousNoops","Properties":{"internalRole":"noops_previous"},"Children":[{"InternalType":"NoopLine","Properties":{"internalRole":"lines","l":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[70]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[72]}],"StartPosition":{"Offset":0,"Line":6,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58]},{"InternalType":"arguments","Properties":{"internalRole":"args","kwarg":"0","vararg":"0"},"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}}],"Token":"otherfun","StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[9]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/sameline.py.json b/tests/uast/sameline.py.json deleted file mode 100644 index 0d43a1e1..00000000 --- a/tests/uast/sameline.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"same line test","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"another call","StartPosition":{"Offset":0,"Line":1,"Col":31},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]}],"StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/samline.py.json b/tests/uast/samline.py.json deleted file mode 100644 index 925c8cf1..00000000 --- a/tests/uast/samline.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"same line test","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58,54]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"another call","StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[58,54]}],"StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":25},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":0,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/test.py.json b/tests/uast/test.py.json deleted file mode 100644 index 7e5b7adf..00000000 --- a/tests/uast/test.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"something1","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"args"},"Token":"42","StartPosition":{"Offset":0,"Line":1,"Col":20},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,54]},{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"args"},"Token":"somesymbbol","StartPosition":{"Offset":0,"Line":1,"Col":24},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[54,0]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/while.py.json b/tests/uast/while.py.json deleted file mode 100644 index 3dfa4bcd..00000000 --- a/tests/uast/while.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"While","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Compare","Properties":{"internalRole":"test"},"Children":[{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"left"},"Token":"3","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]},{"InternalType":"Gt","Properties":{"internalRole":"ops"},"StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"comparators"},"Token":"2","StartPosition":{"Offset":0,"Line":1,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62]}],"StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[35]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"surely here","StartPosition":{"Offset":0,"Line":2,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":2,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2,36]},{"InternalType":"Break","Properties":{"internalRole":"body"},"StartPosition":{"Offset":0,"Line":3,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[40,36]},{"InternalType":"Expr","Properties":{"internalRole":"orelse"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"while's else","StartPosition":{"Offset":0,"Line":5,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":5,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[34]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/uast/with.py.json b/tests/uast/with.py.json deleted file mode 100644 index 9ecbee9a..00000000 --- a/tests/uast/with.py.json +++ /dev/null @@ -1 +0,0 @@ -{"status":"ok","errors":[],"uast":{"InternalType":"Module","Children":[{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"before something","StartPosition":{"Offset":0,"Line":1,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]},{"InternalType":"Assign","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"targets"},"Token":"something","StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[67,0]},{"InternalType":"NumLiteral","Properties":{"NumType":"0","internalRole":"value"},"Token":"1","StartPosition":{"Offset":0,"Line":2,"Col":12},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[62,68]}],"StartPosition":{"Offset":0,"Line":2,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[66]},{"InternalType":"With","Properties":{"internalRole":"body"},"Children":[{"InternalType":"withitem","Properties":{"internalRole":"items","optional_vars":"0"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"context_expr"},"Token":"something","StartPosition":{"Offset":0,"Line":3,"Col":5},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[0]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0}},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":4,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"doing stuff with something","StartPosition":{"Offset":0,"Line":4,"Col":10},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":4,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":4,"Col":4},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":3,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[43]},{"InternalType":"Expr","Properties":{"internalRole":"body"},"Children":[{"InternalType":"Call","Properties":{"internalRole":"value"},"Children":[{"InternalType":"Name","Properties":{"ctx":"0","internalRole":"func"},"Token":"print","StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[53,53,0]},{"InternalType":"StringLiteral","Properties":{"internalRole":"args"},"Token":"not inside something","StartPosition":{"Offset":0,"Line":5,"Col":6},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[61,54]}],"StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[51]}],"StartPosition":{"Offset":0,"Line":5,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[2]}],"StartPosition":{"Offset":0,"Line":1,"Col":0},"EndPosition":{"Offset":0,"Line":0,"Col":0},"Roles":[4]}} diff --git a/tests/while.py.uast b/tests/while.py.uast index 33103291..2615fd80 100644 --- a/tests/while.py.uast +++ b/tests/while.py.uast @@ -191,7 +191,7 @@ Module { . . . . . } . . . . } . . . . 2: Compare { -. . . . . Roles: WhileCondition +. . . . . Roles: BinaryExpression,Expression,WhileCondition . . . . . StartPosition: { . . . . . . Offset: 6 . . . . . . Line: 1 @@ -207,7 +207,7 @@ Module { . . . . . } . . . . . Children: { . . . . . . 0: Compare.comparators { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionRight . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } @@ -232,7 +232,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 1: NumLiteral { -. . . . . . . Roles: NumberLiteral,Expression +. . . . . . . Roles: NumberLiteral,Expression,BinaryExpressionLeft . . . . . . . TOKEN "3" . . . . . . . StartPosition: { . . . . . . . . Offset: 6 @@ -250,7 +250,7 @@ Module { . . . . . . . } . . . . . . } . . . . . . 2: Compare.ops { -. . . . . . . Roles: Unannotated +. . . . . . . Roles: BinaryExpressionOp . . . . . . . Properties: { . . . . . . . . promotedPropertyList: true . . . . . . . } diff --git a/tests/with.py.uast b/tests/with.py.uast index bd81cb18..08cb46d9 100644 --- a/tests/with.py.uast +++ b/tests/with.py.uast @@ -31,7 +31,7 @@ Module { . . . } . . . Children: { . . . . 0: With.body { -. . . . . Roles: Unannotated +. . . . . Roles: BlockScope,Expression,Incomplete . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . } @@ -90,7 +90,7 @@ Module { . . . . . } . . . . } . . . . 1: With.items { -. . . . . Roles: Unannotated +. . . . . Roles: SimpleIdentifier,Expression,Incomplete . . . . . Properties: { . . . . . . promotedPropertyList: true . . . . . }