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.
19 lines
561 B
Plaintext
19 lines
561 B
Plaintext
import python
|
|
import semmle.python.dataflow.StateTracking
|
|
|
|
predicate callTo(CallNode call, string name) { call.getFunction().(NameNode).getId() = name }
|
|
|
|
class Initialized extends TrackableState {
|
|
Initialized() { this = "initialized" }
|
|
|
|
override predicate startsAt(ControlFlowNode f) { callTo(f, "initialize") }
|
|
}
|
|
|
|
class Frobnicated extends TrackableState {
|
|
Frobnicated() { this = "frobnicated" }
|
|
|
|
override predicate startsAt(ControlFlowNode f) { callTo(f, "frobnicate") }
|
|
|
|
override predicate endsAt(ControlFlowNode f) { callTo(f, "defrobnicate") }
|
|
}
|