mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
Will need subsequent PRs fixing up test failures (due to deprecated methods moving around), but other than that everything should be straight-forward.
21 lines
570 B
Plaintext
21 lines
570 B
Plaintext
import python
|
|
|
|
from ClassValue cls, string res
|
|
where
|
|
exists(CallNode call |
|
|
call.getFunction().(NameNode).getId() = "test" and
|
|
call.getAnArg().pointsTo(cls)
|
|
) and
|
|
(
|
|
cls.isSequence() and
|
|
cls.isMapping() and
|
|
res = "IS BOTH. SHOULD NOT HAPPEN. THEY ARE MUTUALLY EXCLUSIVE."
|
|
or
|
|
cls.isSequence() and not cls.isMapping() and res = "sequence"
|
|
or
|
|
not cls.isSequence() and cls.isMapping() and res = "mapping"
|
|
or
|
|
not cls.isSequence() and not cls.isMapping() and res = "neither sequence nor mapping"
|
|
)
|
|
select res, cls.toString()
|