C#: Add test for parameter modifiers.

This commit is contained in:
Michael Nebel
2024-02-23 15:12:50 +01:00
parent d8bff14365
commit 18c7e73805
3 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
using System;
public class ParameterModifiers
{
public void M1(object p1) { }
public void M2(in object p2) { }
public void M3(out object p3)
{
p3 = new object();
}
public void M4(ref object p4) { }
public void M5(params object[] p5) { }
public void M6(ref readonly object p6) { }
}

View File

@@ -0,0 +1,18 @@
parameterModifier
| ParameterModifiers.cs:5:27:5:28 | p1 | 0 |
| ParameterModifiers.cs:6:30:6:31 | p2 | 5 |
| ParameterModifiers.cs:8:31:8:32 | p3 | 2 |
| ParameterModifiers.cs:13:31:13:32 | p4 | 1 |
| ParameterModifiers.cs:15:36:15:37 | p5 | 3 |
| ParameterModifiers.cs:17:40:17:41 | p6 | 0 |
parameterIsValue
| ParameterModifiers.cs:5:27:5:28 | p1 |
| ParameterModifiers.cs:17:40:17:41 | p6 |
parameterIsIn
| ParameterModifiers.cs:6:30:6:31 | p2 |
parameterIsOut
| ParameterModifiers.cs:8:31:8:32 | p3 |
parameterIsRef
| ParameterModifiers.cs:13:31:13:32 | p4 |
parameterIsParams
| ParameterModifiers.cs:15:36:15:37 | p5 |

View File

@@ -0,0 +1,17 @@
import csharp
class TestParameter extends Parameter {
TestParameter() { this.getFile().getBaseName() = "ParameterModifiers.cs" }
}
query predicate parameterModifier(TestParameter p, int kind) { params(p, _, _, _, kind, _, _) }
query predicate parameterIsValue(TestParameter p) { p.isValue() }
query predicate parameterIsIn(TestParameter p) { p.isIn() }
query predicate parameterIsOut(TestParameter p) { p.isOut() }
query predicate parameterIsRef(TestParameter p) { p.isRef() }
query predicate parameterIsParams(TestParameter p) { p.isParams() }