mirror of
https://github.com/github/codeql.git
synced 2025-12-20 18:56:32 +01:00
Python: Add variable scope example with subclass
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable MyClass | in_class.py:5:7:5:13 | MyClass |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable MyClass | in_class.py:30:6:30:12 | MyClass |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable MyClass | in_class.py:33:6:33:12 | MyClass |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable MyClass | in_class.py:41:7:41:13 | MyClass |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable NameError | in_class.py:17:16:17:24 | NameError |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable bar | in_class.py:2:1:2:3 | bar |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable bar | in_class.py:14:15:14:17 | bar |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable foo | in_class.py:1:1:1:3 | foo |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:30:1:30:2 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:32:1:32:2 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:35:7:35:8 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:33:1:33:2 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:35:1:35:2 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable mc | in_class.py:38:7:38:8 | mc |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable object | in_class.py:5:15:5:20 | object |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable object | in_class.py:30:15:30:20 | object |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:9:9:9:13 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:12:9:12:13 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:13:9:13:13 | print |
|
||||
@@ -17,15 +19,19 @@
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:21:9:21:13 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:22:9:22:13 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:25:9:25:13 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:31:1:31:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:34:1:34:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:35:1:35:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:37:1:37:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:38:1:38:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:40:1:40:5 | print |
|
||||
| in_class.py:0:0:0:0 | Module in_class | Global Variable print | in_class.py:41:1:41:5 | print |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable Sub | in_class.py:30:11:30:13 | Sub |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable baz | in_class.py:6:5:6:7 | baz |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable baz | in_class.py:16:19:16:21 | baz |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable baz | in_class.py:28:15:28:17 | baz |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable ex | in_class.py:28:5:28:6 | ex |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable foo | in_class.py:8:9:8:11 | foo |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable foo | in_class.py:13:15:13:17 | foo |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable foo | in_class.py:31:17:31:19 | foo |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable func | in_class.py:24:9:24:12 | func |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable func | in_class.py:28:10:28:13 | func |
|
||||
| in_class.py:5:1:5:22 | Class MyClass | Local Variable use | in_class.py:11:9:11:11 | use |
|
||||
@@ -35,6 +41,7 @@
|
||||
| in_class.py:11:5:11:18 | Function use | Local Variable self | in_class.py:22:15:22:18 | self |
|
||||
| in_class.py:24:5:24:18 | Function func | Local Variable arg | in_class.py:24:14:24:16 | arg |
|
||||
| in_class.py:24:5:24:18 | Function func | Local Variable arg | in_class.py:25:27:25:29 | arg |
|
||||
| in_class.py:30:5:30:22 | Class Sub | Local Variable stuff | in_class.py:31:9:31:13 | stuff |
|
||||
| test.py:0:0:0:0 | Module test | Global Variable C | test.py:30:7:30:7 | C |
|
||||
| test.py:0:0:0:0 | Module test | Global Variable base | test.py:30:9:30:12 | base |
|
||||
| test.py:0:0:0:0 | Module test | Global Variable func0 | test.py:5:5:5:9 | func0 |
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
| Local Variable baz | in_class.py:5:1:5:22 | Class MyClass | in_class.py:11:5:11:18 | Function use |
|
||||
| Local Variable foo | in_class.py:5:1:5:22 | Class MyClass | in_class.py:11:5:11:18 | Function use |
|
||||
| Local Variable foo | in_class.py:5:1:5:22 | Class MyClass | in_class.py:30:5:30:22 | Class Sub |
|
||||
| Local Variable local2 | test.py:15:1:15:12 | Function func2 | test.py:17:5:17:23 | Function inner1 |
|
||||
| Local Variable local4 | test.py:22:1:22:26 | Function func3 | test.py:24:5:24:22 | Function inner_outer |
|
||||
| Local Variable local4 | test.py:22:1:22:26 | Function func3 | test.py:25:9:25:27 | Function inner2 |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
foo = "foo"
|
||||
bar = "bar"
|
||||
foo = "foo-text"
|
||||
bar = "bar-text"
|
||||
|
||||
|
||||
class MyClass(object):
|
||||
@@ -10,8 +10,8 @@ class MyClass(object):
|
||||
|
||||
def use(self):
|
||||
print("! use()")
|
||||
print(foo)
|
||||
print(bar)
|
||||
print(foo) # foo-text
|
||||
print(bar) # bar-text
|
||||
try:
|
||||
print(baz)
|
||||
except NameError:
|
||||
@@ -27,9 +27,15 @@ class MyClass(object):
|
||||
|
||||
ex = func(baz)
|
||||
|
||||
class Sub(object):
|
||||
stuff = foo
|
||||
|
||||
mc = MyClass()
|
||||
print()
|
||||
mc.use()
|
||||
|
||||
print("\n! mc.ex")
|
||||
print(mc.ex)
|
||||
|
||||
print("\n! MyClass.Sub.stuff")
|
||||
print(MyClass.Sub().stuff) # foo-text
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
| Local Variable .0 | test.py:48:12:48:29 | Function listcomp | fast |
|
||||
| Local Variable .0 | test.py:52:5:52:25 | Function listcomp | fast |
|
||||
| Local Variable Local | test.py:38:1:38:18 | Function func4 | fast |
|
||||
| Local Variable Sub | in_class.py:5:1:5:22 | Class MyClass | name |
|
||||
| Local Variable arg | in_class.py:24:5:24:18 | Function func | fast |
|
||||
| Local Variable baz | in_class.py:5:1:5:22 | Class MyClass | name |
|
||||
| Local Variable class_local | test.py:30:1:30:14 | Class C | name |
|
||||
@@ -33,6 +34,7 @@
|
||||
| Local Variable self | test.py:40:9:40:29 | Function meth_inner | fast |
|
||||
| Local Variable seq | test.py:44:1:44:15 | Function func5 | fast |
|
||||
| Local Variable seq | test.py:51:1:51:21 | Function use_in_loop | fast |
|
||||
| Local Variable stuff | in_class.py:30:5:30:22 | Class Sub | name |
|
||||
| Local Variable use | in_class.py:5:1:5:22 | Class MyClass | name |
|
||||
| Local Variable v | test.py:51:1:51:21 | Function use_in_loop | fast |
|
||||
| Local Variable v | test.py:52:5:52:25 | Function listcomp | fast |
|
||||
|
||||
@@ -17,12 +17,17 @@
|
||||
| in_class.py:25:27:25:29 | ControlFlowNode for arg | local |
|
||||
| in_class.py:28:10:28:13 | ControlFlowNode for func | local |
|
||||
| in_class.py:28:15:28:17 | ControlFlowNode for baz | local |
|
||||
| in_class.py:30:6:30:12 | ControlFlowNode for MyClass | global |
|
||||
| in_class.py:31:1:31:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:32:1:32:2 | ControlFlowNode for mc | global |
|
||||
| in_class.py:30:15:30:20 | ControlFlowNode for object | global |
|
||||
| in_class.py:31:17:31:19 | ControlFlowNode for foo | global |
|
||||
| in_class.py:33:6:33:12 | ControlFlowNode for MyClass | global |
|
||||
| in_class.py:34:1:34:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:35:1:35:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:35:7:35:8 | ControlFlowNode for mc | global |
|
||||
| in_class.py:35:1:35:2 | ControlFlowNode for mc | global |
|
||||
| in_class.py:37:1:37:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:38:1:38:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:38:7:38:8 | ControlFlowNode for mc | global |
|
||||
| in_class.py:40:1:40:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:41:1:41:5 | ControlFlowNode for print | global |
|
||||
| in_class.py:41:7:41:13 | ControlFlowNode for MyClass | global |
|
||||
| test.py:6:12:6:17 | ControlFlowNode for param0 | local |
|
||||
| test.py:6:21:6:26 | ControlFlowNode for param1 | local |
|
||||
| test.py:12:5:12:16 | ControlFlowNode for global_local | global |
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
| Local Variable .0 | test.py:48:12:48:29 | Function listcomp |
|
||||
| Local Variable .0 | test.py:52:5:52:25 | Function listcomp |
|
||||
| Local Variable Local | test.py:38:1:38:18 | Function func4 |
|
||||
| Local Variable Sub | in_class.py:5:1:5:22 | Class MyClass |
|
||||
| Local Variable arg | in_class.py:24:5:24:18 | Function func |
|
||||
| Local Variable baz | in_class.py:5:1:5:22 | Class MyClass |
|
||||
| Local Variable class_local | test.py:30:1:30:14 | Class C |
|
||||
@@ -59,6 +60,7 @@
|
||||
| Local Variable self | test.py:40:9:40:29 | Function meth_inner |
|
||||
| Local Variable seq | test.py:44:1:44:15 | Function func5 |
|
||||
| Local Variable seq | test.py:51:1:51:21 | Function use_in_loop |
|
||||
| Local Variable stuff | in_class.py:30:5:30:22 | Class Sub |
|
||||
| Local Variable use | in_class.py:5:1:5:22 | Class MyClass |
|
||||
| Local Variable v | test.py:51:1:51:21 | Function use_in_loop |
|
||||
| Local Variable v | test.py:52:5:52:25 | Function listcomp |
|
||||
|
||||
Reference in New Issue
Block a user