mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
Merge pull request #13685 from RasmusWL/captured-variables-default-param-value
Python: Model parameter with default value as `DefinitionNode`
This commit is contained in:
@@ -65,6 +65,19 @@ def to_inner_scope():
|
||||
also_x = foo() # $ tracked
|
||||
print(also_x) # $ tracked
|
||||
|
||||
|
||||
def from_parameter_default():
|
||||
x_alias = tracked # $tracked
|
||||
def outer(x=tracked): # $tracked
|
||||
print(x) # $tracked
|
||||
def inner():
|
||||
print(x) # $ tracked
|
||||
print(x_alias) # $tracked
|
||||
return x # $tracked
|
||||
also_x = outer() # $tracked
|
||||
print(also_x) # $tracked
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Function decorator
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
| test.py:3:5:3:9 | ControlFlowNode for fail5 | test.py:3:1:3:13 | ControlFlowNode for FunctionExpr |
|
||||
| test.py:4:5:4:8 | ControlFlowNode for Tuple | test.py:4:12:4:12 | ControlFlowNode for t |
|
||||
| test.py:7:5:7:26 | ControlFlowNode for default_value_in_param | test.py:7:1:7:33 | ControlFlowNode for FunctionExpr |
|
||||
| test.py:7:28:7:28 | ControlFlowNode for x | test.py:7:30:7:31 | ControlFlowNode for IntegerLiteral |
|
||||
@@ -0,0 +1,4 @@
|
||||
import python
|
||||
|
||||
from DefinitionNode d
|
||||
select d, d.getValue()
|
||||
@@ -1,4 +1,6 @@
|
||||
| 3 | 5 | ControlFlowNode for fail5 |
|
||||
| 4 | 5 | ControlFlowNode for Tuple |
|
||||
| 4 | 5 | ControlFlowNode for x |
|
||||
| 4 | 8 | ControlFlowNode for y |
|
||||
| 4 | 8 | ControlFlowNode for y |
|
||||
| 7 | 5 | ControlFlowNode for default_value_in_param |
|
||||
| 7 | 28 | ControlFlowNode for x |
|
||||
|
||||
@@ -3,3 +3,6 @@
|
||||
def fail5(t):
|
||||
x, y = t
|
||||
return x
|
||||
|
||||
def default_value_in_param(x=42):
|
||||
print(x)
|
||||
|
||||
Reference in New Issue
Block a user