Python: Add tests for getParameter[byName]

These already have results for BoundMethodValue, although

1) it's a bit strange that `getParameter(-1)` has results
2) why does `Method(Function C.n, class C)` exists? this would only be relevant
if `n` was a classmethod, but it isn't. It's not a problem that it exsits per
se, but curious.
This commit is contained in:
Rasmus Wriedt Larsen
2020-05-04 20:51:04 +02:00
parent e9859ad96d
commit 96fdb7a5b6
4 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
| Function C.n | 0 | ControlFlowNode for self |
| Function C.n | 1 | ControlFlowNode for arg1 |
| Function D.foo | 0 | ControlFlowNode for arg |
| Function f | 0 | ControlFlowNode for arg0 |
| Function f | 1 | ControlFlowNode for arg1 |
| Function f | 2 | ControlFlowNode for arg2 |
| Method(Function C.n, C()) | 0 | ControlFlowNode for arg1 |
| Method(Function C.n, C()) | -1 | ControlFlowNode for self |
| Method(Function C.n, class C) | 0 | ControlFlowNode for arg1 |
| Method(Function C.n, class C) | -1 | ControlFlowNode for self |
| Method(Function f, C()) | 0 | ControlFlowNode for arg1 |
| Method(Function f, C()) | 1 | ControlFlowNode for arg2 |
| Method(Function f, C()) | -1 | ControlFlowNode for arg0 |

View File

@@ -0,0 +1,4 @@
import python
from CallableValue callable, int i
select callable.toString(), i, callable.getParameter(i).toString()

View File

@@ -0,0 +1,13 @@
| Function C.n | arg1 | ControlFlowNode for arg1 |
| Function C.n | self | ControlFlowNode for self |
| Function D.foo | arg | ControlFlowNode for arg |
| Function f | arg0 | ControlFlowNode for arg0 |
| Function f | arg1 | ControlFlowNode for arg1 |
| Function f | arg2 | ControlFlowNode for arg2 |
| Method(Function C.n, C()) | arg1 | ControlFlowNode for arg1 |
| Method(Function C.n, C()) | self | ControlFlowNode for self |
| Method(Function C.n, class C) | arg1 | ControlFlowNode for arg1 |
| Method(Function C.n, class C) | self | ControlFlowNode for self |
| Method(Function f, C()) | arg0 | ControlFlowNode for arg0 |
| Method(Function f, C()) | arg1 | ControlFlowNode for arg1 |
| Method(Function f, C()) | arg2 | ControlFlowNode for arg2 |

View File

@@ -0,0 +1,4 @@
import python
from CallableValue callable, string name
select callable.toString(), name, callable.getParameterByName(name).toString()