mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
import csharp
|
|
|
|
class TypeRef extends @typeref {
|
|
string toString() { hasName(result) }
|
|
|
|
predicate hasName(string name) { typerefs(this, name) }
|
|
|
|
Type getType() { typeref_type(this, result) }
|
|
}
|
|
|
|
class MissingType extends TypeRef {
|
|
MissingType() { not exists(getType()) }
|
|
}
|
|
|
|
from
|
|
Class class1, MissingType class2, MissingType class3, MissingType class4, MissingType class5,
|
|
MissingType del2, Field a, Method b, Method c, Method d, Method e, Method f, Method g
|
|
where
|
|
class1.hasQualifiedName("Assembly1.Class1") and
|
|
class2.hasName("Class2") and
|
|
class3.hasName("Class3") and
|
|
class4.hasName("Class4") and
|
|
class5.hasName("Class5") and
|
|
del2.hasName("del2") and
|
|
a.hasName("a") and
|
|
b.hasName("b") and
|
|
c.hasName("c") and
|
|
d.hasName("d") and
|
|
e.hasName("e") and
|
|
f.hasName("f") and
|
|
g.hasName("g") and
|
|
a.getDeclaringType() = class1 and
|
|
a.getDeclaringType() = class1 and
|
|
b.getDeclaringType() = class1 and
|
|
c.getDeclaringType() = class1 and
|
|
not exists(c.getParameter(0).getType()) and
|
|
not exists(a.getType()) and
|
|
not exists(b.getReturnType()) and
|
|
not exists(c.getReturnType()) and
|
|
not exists(e.getReturnType()) and
|
|
not exists(g.getReturnType()) and
|
|
not exists(g.getParameter(0).getType())
|
|
select "Test passed"
|