mirror of
https://github.com/github/codeql.git
synced 2026-04-27 09:45:15 +02:00
C#: Add more conditional access tests
This commit is contained in:
11
csharp/ql/test/library-tests/csharp6/MemberAccess.expected
Normal file
11
csharp/ql/test/library-tests/csharp6/MemberAccess.expected
Normal file
@@ -0,0 +1,11 @@
|
||||
memberAccess
|
||||
| csharp6.cs:25:83:25:89 | access to property Length | csharp6.cs:25:79:25:81 | access to local variable bar | Conditional |
|
||||
| csharp6.cs:27:77:27:83 | access to property Length | csharp6.cs:27:73:27:75 | access to local variable bar | Conditional |
|
||||
| csharp6.cs:32:68:32:70 | access to indexer | csharp6.cs:32:38:32:66 | object creation of type Dictionary<Int32,String> | Conditional |
|
||||
| csharp6.cs:32:68:32:73 | access to indexer | csharp6.cs:32:68:32:70 | access to indexer | Unconditional |
|
||||
methodCall
|
||||
| csharp6.cs:30:35:30:44 | call to method ToUpper | csharp6.cs:30:31:30:33 | access to local variable foo | Conditional |
|
||||
extensionMethodCall
|
||||
| csharp6.cs:29:39:29:44 | call to method Any<Char> | csharp6.cs:29:35:29:37 | access to local variable bar | Conditional |
|
||||
| csharp6.cs:30:35:30:66 | call to method Select<Char,Boolean> | csharp6.cs:30:35:30:44 | call to method ToUpper | Unconditional |
|
||||
| csharp6.cs:30:68:30:75 | call to method Count<Boolean> | csharp6.cs:30:35:30:66 | call to method Select<Char,Boolean> | Conditional |
|
||||
16
csharp/ql/test/library-tests/csharp6/MemberAccess.ql
Normal file
16
csharp/ql/test/library-tests/csharp6/MemberAccess.ql
Normal file
@@ -0,0 +1,16 @@
|
||||
import csharp
|
||||
|
||||
query predicate memberAccess(MemberAccess ma, Expr qualifier, string conditional) {
|
||||
qualifier = ma.getQualifier() and
|
||||
if ma.isConditional() then conditional = "Conditional" else conditional = "Unconditional"
|
||||
}
|
||||
|
||||
query predicate methodCall(MethodCall mc, Expr qualifier, string conditional) {
|
||||
qualifier = mc.getQualifier() and
|
||||
if mc.isConditional() then conditional = "Conditional" else conditional = "Unconditional"
|
||||
}
|
||||
|
||||
query predicate extensionMethodCall(ExtensionMethodCall mc, Expr qualifier, string conditional) {
|
||||
qualifier = mc.getArgument(0) and
|
||||
if mc.isConditional() then conditional = "Conditional" else conditional = "Unconditional"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
| csharp6.cs:25:83:25:89 | access to property Length | csharp6.cs:25:79:25:81 | access to local variable bar | Conditional |
|
||||
| csharp6.cs:27:77:27:83 | access to property Length | csharp6.cs:27:73:27:75 | access to local variable bar | Conditional |
|
||||
| csharp6.cs:32:68:32:70 | access to indexer | csharp6.cs:32:38:32:66 | object creation of type Dictionary<Int32,String> | Conditional |
|
||||
| csharp6.cs:32:68:32:73 | access to indexer | csharp6.cs:32:68:32:70 | access to indexer | Unconditional |
|
||||
@@ -1,12 +0,0 @@
|
||||
/**
|
||||
* @name Tests member access
|
||||
*/
|
||||
|
||||
import csharp
|
||||
|
||||
from MemberAccess ma, string conditional
|
||||
where
|
||||
ma.isConditional() and conditional = "Conditional"
|
||||
or
|
||||
not ma.isConditional() and conditional = "Unconditional"
|
||||
select ma, ma.getQualifier(), conditional
|
||||
@@ -1 +0,0 @@
|
||||
| csharp6.cs:30:35:30:44 | call to method ToUpper | csharp6.cs:30:31:30:33 | access to local variable foo | Conditional |
|
||||
@@ -1,12 +0,0 @@
|
||||
/**
|
||||
* @name Tests conditional method calls
|
||||
*/
|
||||
|
||||
import csharp
|
||||
|
||||
from MethodCall mc, string conditional
|
||||
where
|
||||
mc.isConditional() and conditional = "Conditional"
|
||||
or
|
||||
not mc.isConditional() and conditional = "Unconditional"
|
||||
select mc, mc.getQualifier(), conditional
|
||||
Reference in New Issue
Block a user