mirror of
https://github.com/github/codeql.git
synced 2026-02-11 20:51:06 +01:00
C#: Add some more tests.
This commit is contained in:
@@ -17,5 +17,8 @@ public class C
|
||||
|
||||
// Conditional access might be null as the qualifier might be null.
|
||||
var s1 = (o as C)?.Prop;
|
||||
|
||||
// Conditional access might be null as the qualifier might be null.
|
||||
var i = o?.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,3 +5,4 @@
|
||||
| MaybeNullExpr.cs:16:17:16:22 | ... as ... |
|
||||
| MaybeNullExpr.cs:19:18:19:31 | access to property Prop |
|
||||
| MaybeNullExpr.cs:19:19:19:24 | ... as ... |
|
||||
| MaybeNullExpr.cs:22:17:22:32 | call to method GetHashCode |
|
||||
|
||||
11
csharp/ql/test/query-tests/Nullness/ConditionalAccess.cs
Normal file
11
csharp/ql/test/query-tests/Nullness/ConditionalAccess.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
class ConditionalAccessTest
|
||||
{
|
||||
void M1(object o)
|
||||
{
|
||||
var t = o?.GetType();
|
||||
Console.WriteLine(t.FullName); // $ Alert[cs/dereferenced-value-may-be-null]
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,7 @@
|
||||
| C.cs:229:22:229:30 | ... != ... | C.cs:229:22:229:22 | access to local variable s |
|
||||
| C.cs:235:24:235:32 | ... == ... | C.cs:235:24:235:24 | access to local variable s |
|
||||
| C.cs:235:24:235:32 | ... == ... | C.cs:235:29:235:32 | null |
|
||||
| ConditionalAccess.cs:8:17:8:17 | access to parameter o | ConditionalAccess.cs:8:17:8:17 | access to parameter o |
|
||||
| D.cs:28:13:28:25 | ... != ... | D.cs:28:13:28:17 | access to parameter param |
|
||||
| D.cs:38:13:38:21 | ... == ... | D.cs:38:13:38:13 | access to parameter x |
|
||||
| D.cs:39:16:39:24 | ... == ... | D.cs:39:16:39:16 | access to parameter x |
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
| C.cs:203:13:203:13 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:185:13:185:13 | s | s | C.cs:204:13:204:20 | ... = ... | this |
|
||||
| C.cs:223:9:223:9 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:210:13:210:13 | s | s | C.cs:222:13:222:20 | ... = ... | this |
|
||||
| C.cs:242:13:242:13 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:228:16:228:16 | s | s | C.cs:240:24:240:31 | ... = ... | this |
|
||||
| ConditionalAccess.cs:9:27:9:27 | access to local variable t | Variable $@ may be null at this access because of $@ assignment. | ConditionalAccess.cs:8:13:8:13 | t | t | ConditionalAccess.cs:8:13:8:28 | Type t = ... | this |
|
||||
| D.cs:23:9:23:13 | access to parameter param | Variable $@ may be null at this access because of $@ null argument. | D.cs:21:32:21:36 | param | param | D.cs:17:17:17:20 | null | this |
|
||||
| D.cs:32:9:32:13 | access to parameter param | Variable $@ may be null at this access as suggested by $@ null check. | D.cs:26:32:26:36 | param | param | D.cs:28:13:28:25 | ... != ... | this |
|
||||
| D.cs:73:13:73:14 | access to local variable o7 | Variable $@ may be null at this access because of $@ assignment. | D.cs:68:13:68:14 | o7 | o7 | D.cs:68:13:68:34 | String o7 = ... | this |
|
||||
|
||||
Reference in New Issue
Block a user