QL: Improve dead-code query · github/codeql@104dab4 · GitHub
Skip to content

Commit 104dab4

Browse files
committed
QL: Improve dead-code query
1 parent 04f388f commit 104dab4

3 files changed

Lines changed: 54 additions & 4 deletions

File tree

ql/ql/src/codeql_ql/ast/Ast.qll

Lines changed: 44 additions & 1 deletion

ql/ql/src/codeql_ql/style/DeadCodeQuery.qll

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,16 @@ private AstNode aliveStep(AstNode prev) {
186186
result = prev.(Module).getImplements(_)
187187
or
188188
result = prev.(PredicateExpr).getQualifier()
189+
or
190+
// a module argument is live if the constructed module is
191+
result = prev.(ModuleExpr).getArgument(_)
192+
or
193+
// a type declaration is live if a reference to it is live
194+
result = prev.(TypeExpr).getResolvedType().getDeclaration()
195+
or
196+
// a module member that implements a signature member is live if the module is
197+
prev.(Module).getAMember() = result and
198+
result.(Declaration).implements(_)
189199
}
190200

191201
private AstNode deprecated() {
Lines changed: 0 additions & 3 deletions

0 commit comments

Comments
 (0)