| [case testEmptyFile] | |
| [out] | |
| MypyFile:1() | |
| [case testGlobalVariable] | |
| x = 1 | |
| x | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(1) | |
| builtins.int) | |
| ExpressionStmt:2( | |
| NameExpr(x [__main__.x]))) | |
| [case testMultipleGlobals] | |
| x = y = 2 | |
| z = 3 | |
| (x, y, z) | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| Lvalues( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(y* [__main__.y])) | |
| IntExpr(2)) | |
| AssignmentStmt:2( | |
| NameExpr(z [__main__.z]) | |
| IntExpr(3) | |
| builtins.int) | |
| ExpressionStmt:3( | |
| TupleExpr:3( | |
| NameExpr(x [__main__.x]) | |
| NameExpr(y [__main__.y]) | |
| NameExpr(z [__main__.z])))) | |
| [case testEmptyFunction] | |
| def f(): pass | |
| f() | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Block:1( | |
| PassStmt:1())) | |
| ExpressionStmt:2( | |
| CallExpr:2( | |
| NameExpr(f [__main__.f]) | |
| Args()))) | |
| [case testAccessingGlobalNameBeforeDefinition] | |
| # flags: --disable-error-code used-before-def | |
| x | |
| f() | |
| x = 1 | |
| def f(): pass | |
| [out] | |
| MypyFile:1( | |
| ExpressionStmt:2( | |
| NameExpr(x [__main__.x])) | |
| ExpressionStmt:3( | |
| CallExpr:3( | |
| NameExpr(f [__main__.f]) | |
| Args())) | |
| AssignmentStmt:4( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(1) | |
| builtins.int) | |
| FuncDef:5( | |
| f | |
| Block:5( | |
| PassStmt:5()))) | |
| [case testFunctionArgs] | |
| def f(x, y): | |
| (x, y) | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Args( | |
| Var(x) | |
| Var(y)) | |
| Block:2( | |
| ExpressionStmt:2( | |
| TupleExpr:2( | |
| NameExpr(x [l]) | |
| NameExpr(y [l])))))) | |
| [case testLocalVar] | |
| def f(): | |
| x = 1 | |
| x | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Block:2( | |
| AssignmentStmt:2( | |
| NameExpr(x* [l]) | |
| IntExpr(1)) | |
| ExpressionStmt:3( | |
| NameExpr(x [l]))))) | |
| [case testAccessGlobalInFn] | |
| def f(): | |
| x | |
| g() | |
| x = 1 | |
| def g(): pass | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Block:2( | |
| ExpressionStmt:2( | |
| NameExpr(x [__main__.x])) | |
| ExpressionStmt:3( | |
| CallExpr:3( | |
| NameExpr(g [__main__.g]) | |
| Args())))) | |
| AssignmentStmt:4( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(1) | |
| builtins.int) | |
| FuncDef:5( | |
| g | |
| Block:5( | |
| PassStmt:5()))) | |
| [case testAssignmentAfterInit] | |
| x = 1 | |
| x = 2 | |
| def f(y): | |
| y = 1 | |
| z = 1 | |
| z = 2 | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(1) | |
| builtins.int) | |
| AssignmentStmt:2( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(2)) | |
| FuncDef:3( | |
| f | |
| Args( | |
| Var(y)) | |
| Block:4( | |
| AssignmentStmt:4( | |
| NameExpr(y [l]) | |
| IntExpr(1)) | |
| AssignmentStmt:5( | |
| NameExpr(z* [l]) | |
| IntExpr(1)) | |
| AssignmentStmt:6( | |
| NameExpr(z [l]) | |
| IntExpr(2))))) | |
| [case testLocalAndGlobalAliasing] | |
| x = 1 | |
| def f(): | |
| x = 2 | |
| x | |
| x | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x [__main__.x]) | |
| IntExpr(1) | |
| builtins.int) | |
| FuncDef:2( | |
| f | |
| Block:3( | |
| AssignmentStmt:3( | |
| NameExpr(x* [l]) | |
| IntExpr(2)) | |
| ExpressionStmt:4( | |
| NameExpr(x [l])))) | |
| ExpressionStmt:5( | |
| NameExpr(x [__main__.x]))) | |
| [case testArgumentInitializers] | |
| def f(x = f, y = object): | |
| x, y | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Args( | |
| default( | |
| Var(x) | |
| NameExpr(f [__main__.f])) | |
| default( | |
| Var(y) | |
| NameExpr(object [builtins.object]))) | |
| Block:2( | |
| ExpressionStmt:2( | |
| TupleExpr:2( | |
| NameExpr(x [l]) | |
| NameExpr(y [l])))))) | |
| [case testVarArgs] | |
| def f(x, *y): | |
| x, y | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Args( | |
| Var(x)) | |
| VarArg( | |
| Var(y)) | |
| Block:2( | |
| ExpressionStmt:2( | |
| TupleExpr:2( | |
| NameExpr(x [l]) | |
| NameExpr(y [l])))))) | |
| [case testGlobalDecl] | |
| x = None | |
| def f(): | |
| global x | |
| x = None | |
| x | |
| class A: pass | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(None [builtins.None])) | |
| FuncDef:2( | |
| f | |
| Block:3( | |
| GlobalDecl:3( | |
| x) | |
| AssignmentStmt:4( | |
| NameExpr(x [__main__.x]) | |
| NameExpr(None [builtins.None])) | |
| ExpressionStmt:5( | |
| NameExpr(x [__main__.x])))) | |
| ClassDef:6( | |
| A | |
| PassStmt:6())) | |
| [case testMultipleNamesInGlobalDecl] | |
| x, y = None, None | |
| def f(): | |
| global x, y | |
| x = y | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| TupleExpr:1( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(y* [__main__.y])) | |
| TupleExpr:1( | |
| NameExpr(None [builtins.None]) | |
| NameExpr(None [builtins.None]))) | |
| FuncDef:2( | |
| f | |
| Block:3( | |
| GlobalDecl:3( | |
| x | |
| y) | |
| AssignmentStmt:4( | |
| NameExpr(x [__main__.x]) | |
| NameExpr(y [__main__.y]))))) | |
| [case testGlobalDeclScope] | |
| x = None | |
| def f(): | |
| global x | |
| def g(): | |
| x = None | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(None [builtins.None])) | |
| FuncDef:2( | |
| f | |
| Block:3( | |
| GlobalDecl:3( | |
| x))) | |
| FuncDef:4( | |
| g | |
| Block:5( | |
| AssignmentStmt:5( | |
| NameExpr(x* [l]) | |
| NameExpr(None [builtins.None]))))) | |
| [case testGlobalDeclScope2] | |
| x = None | |
| def f(): | |
| global x | |
| def g(): | |
| x = None | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(None [builtins.None])) | |
| FuncDef:2( | |
| f | |
| Block:3( | |
| GlobalDecl:3( | |
| x))) | |
| FuncDef:4( | |
| g | |
| Block:5( | |
| AssignmentStmt:5( | |
| NameExpr(x* [l]) | |
| NameExpr(None [builtins.None]))))) | |
| [case testGlobaWithinMethod] | |
| x = None | |
| class A: | |
| def f(self): | |
| global x | |
| x = self | |
| [out] | |
| MypyFile:1( | |
| AssignmentStmt:1( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(None [builtins.None])) | |
| ClassDef:2( | |
| A | |
| FuncDef:3( | |
| f | |
| Args( | |
| Var(self)) | |
| Block:4( | |
| GlobalDecl:4( | |
| x) | |
| AssignmentStmt:5( | |
| NameExpr(x [__main__.x]) | |
| NameExpr(self [l])))))) | |
| [case testGlobalDefinedInBlock] | |
| # flags: --allow-redefinition | |
| if object: | |
| x = object() | |
| x = x | |
| x | |
| [out] | |
| MypyFile:1( | |
| IfStmt:2( | |
| If( | |
| NameExpr(object [builtins.object])) | |
| Then( | |
| AssignmentStmt:3( | |
| NameExpr(x'* [__main__.x']) | |
| CallExpr:3( | |
| NameExpr(object [builtins.object]) | |
| Args())) | |
| AssignmentStmt:4( | |
| NameExpr(x* [__main__.x]) | |
| NameExpr(x' [__main__.x'])))) | |
| ExpressionStmt:5( | |
| NameExpr(x [__main__.x]))) | |
| [case testNonlocalDecl] | |
| def g(): | |
| x = None | |
| def f(): | |
| nonlocal x | |
| x = None | |
| x | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| g | |
| Block:2( | |
| AssignmentStmt:2( | |
| NameExpr(x* [l]) | |
| NameExpr(None [builtins.None])) | |
| FuncDef:3( | |
| f | |
| Block:4( | |
| NonlocalDecl:4( | |
| x) | |
| AssignmentStmt:5( | |
| NameExpr(x [l]) | |
| NameExpr(None [builtins.None])) | |
| ExpressionStmt:6( | |
| NameExpr(x [l]))))))) | |
| [case testNonlocalClass] | |
| def f() -> None: | |
| a = 0 | |
| class C: | |
| nonlocal a | |
| a = 1 | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| def () | |
| Block:2( | |
| AssignmentStmt:2( | |
| NameExpr(a* [l]) | |
| IntExpr(0)) | |
| ClassDef:3( | |
| C | |
| NonlocalDecl:4( | |
| a) | |
| AssignmentStmt:5( | |
| NameExpr(a* [m]) | |
| IntExpr(1)))))) | |
| [case testMultipleNamesInNonlocalDecl] | |
| def g(): | |
| x, y = None, None | |
| def f(z): | |
| nonlocal x, y | |
| x = y | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| g | |
| Block:2( | |
| AssignmentStmt:2( | |
| TupleExpr:2( | |
| NameExpr(x* [l]) | |
| NameExpr(y* [l])) | |
| TupleExpr:2( | |
| NameExpr(None [builtins.None]) | |
| NameExpr(None [builtins.None]))) | |
| FuncDef:3( | |
| f | |
| Args( | |
| Var(z)) | |
| Block:4( | |
| NonlocalDecl:4( | |
| x | |
| y) | |
| AssignmentStmt:5( | |
| NameExpr(x [l]) | |
| NameExpr(y [l]))))))) | |
| [case testNestedFunctions] | |
| def f(x): | |
| def g(y): | |
| z = y + x | |
| return g | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Args( | |
| Var(x)) | |
| Block:2( | |
| FuncDef:2( | |
| g | |
| Args( | |
| Var(y)) | |
| Block:3( | |
| AssignmentStmt:3( | |
| NameExpr(z* [l]) | |
| OpExpr:3( | |
| + | |
| NameExpr(y [l]) | |
| NameExpr(x [l]))))) | |
| ReturnStmt:4( | |
| NameExpr(g [l]))))) | |
| [case testNestedFunctionWithOverlappingName] | |
| def f(x): | |
| def g(): | |
| x = 1 | |
| [out] | |
| MypyFile:1( | |
| FuncDef:1( | |
| f | |
| Args( | |
| Var(x)) | |
| Block:2( | |
| FuncDef:2( | |
| g | |
| Block:3( | |
| AssignmentStmt:3( | |
| NameExpr(x* [l]) | |
| IntExpr(1))))))) | |
| [case testFinalValuesOnVar] | |
| from typing import Final, Any | |
| def func() -> Any: ... | |
| x: Final = 1 | |
| y: Final = 1.0 | |
| s: Final = "hi" | |
| t: Final = True | |
| n: Final = func() | |
| [out] | |
| MypyFile:1( | |
| ImportFrom:1(typing, [Final, Any]) | |
| FuncDef:3( | |
| func | |
| def () -> Any | |
| Block:3( | |
| ExpressionStmt:3( | |
| Ellipsis))) | |
| AssignmentStmt:4( | |
| NameExpr(x [__main__.x] = 1) | |
| IntExpr(1) | |
| Literal[1]?) | |
| AssignmentStmt:5( | |
| NameExpr(y [__main__.y] = 1.0) | |
| FloatExpr(1.0) | |
| Literal[1.0]?) | |
| AssignmentStmt:6( | |
| NameExpr(s [__main__.s] = hi) | |
| StrExpr(hi) | |
| Literal['hi']?) | |
| AssignmentStmt:7( | |
| NameExpr(t [__main__.t] = True) | |
| NameExpr(True [builtins.True]) | |
| Literal[True]?) | |
| AssignmentStmt:8( | |
| NameExpr(n* [__main__.n] = None) | |
| CallExpr:8( | |
| NameExpr(func [__main__.func]) | |
| Args()))) |