diff --git a/ql/src/codeql_ruby/ast/Statement.qll b/ql/src/codeql_ruby/ast/Statement.qll index 7557799e712..b4d7ff892db 100644 --- a/ql/src/codeql_ruby/ast/Statement.qll +++ b/ql/src/codeql_ruby/ast/Statement.qll @@ -11,8 +11,6 @@ private import codeql_ruby.controlflow.internal.ControlFlowGraphImpl class Stmt extends AstNode { override Stmt::Range range; - Stmt() { this = range } - /** Gets a control-flow node for this statement, if any. */ CfgNodes::AstCfgNode getAControlFlowNode() { result.getNode() = this } diff --git a/ql/src/codeql_ruby/controlflow/CfgNodes.qll b/ql/src/codeql_ruby/controlflow/CfgNodes.qll index 9b419871753..4ab22541942 100644 --- a/ql/src/codeql_ruby/controlflow/CfgNodes.qll +++ b/ql/src/codeql_ruby/controlflow/CfgNodes.qll @@ -135,14 +135,16 @@ abstract private class ExprChildMapping extends Expr { */ abstract predicate relevantChild(Expr child); - private AstNode getAChildStar() { + private Generated::AstNode getAChildStar() { result = this or result.(Generated::AstNode).getParent() = this.getAChildStar() } pragma[noinline] - private BasicBlock getABasicBlockInScope() { result.getANode().getNode() = this.getAChildStar() } + private BasicBlock getABasicBlockInScope() { + result.getANode() = TAstNode(this.getAChildStar(), _) + } pragma[nomagic] private predicate reachesBasicBlockBase(Expr child, CfgNode cfn, BasicBlock bb) {