Skip to content

Commit 1af5c68

Browse files
committed
ruby: drop the CallableCfgNode classes
1 parent 687602b commit 1af5c68

File tree

3 files changed

+8
-29
lines changed

3 files changed

+8
-29
lines changed

ruby/ql/lib/codeql/ruby/controlflow/CfgNodes.qll

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -751,23 +751,4 @@ module ExprNodes {
751751
/** Gets a pair of this hash literal. */
752752
PairCfgNode getAKeyValuePair() { result = this.getAnArgument() }
753753
}
754-
755-
private class CallableExprChildMapping extends ExprChildMapping, Callable {
756-
// TODO: parameters?, callable body?
757-
override predicate relevantChild(AstNode n) { none() }
758-
}
759-
760-
/** A control-flow node that wraps a `Callable` AST expression. */
761-
class CallableCfgNode extends ExprCfgNode {
762-
override CallableExprChildMapping e;
763-
764-
override Callable getExpr() { result = super.getExpr() }
765-
}
766-
767-
/** A control-flow node that wraps a `MethodBase` AST expression. */
768-
class MethodBaseCfgNode extends CallableCfgNode {
769-
MethodBaseCfgNode() { super.getExpr() instanceof MethodBase }
770-
771-
override MethodBase getExpr() { result = super.getExpr() }
772-
}
773754
}

ruby/ql/lib/codeql/ruby/experimental/Rbi.qll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,13 @@ module Rbi {
231231
/**
232232
* Gets the method whose type signature is defined by this call.
233233
*/
234-
ExprNodes::MethodBaseCfgNode getAssociatedMethod() {
234+
Method getAssociatedMethod() {
235235
result =
236-
min(ExprNodes::MethodBaseCfgNode m, int i |
237-
methodSignatureSuccessorNodeRanked(this, m, i)
236+
min(ExprCfgNode methodCfgNode, int i |
237+
methodSignatureSuccessorNodeRanked(this, methodCfgNode, i)
238238
|
239-
m order by i
240-
)
239+
methodCfgNode order by i
240+
).getExpr()
241241
}
242242

243243
/**
@@ -397,13 +397,13 @@ module Rbi {
397397

398398
private SignatureCall getOuterMethodSignatureCall() { this = result.getAParameterType() }
399399

400-
private ExprNodes::MethodBaseCfgNode getAssociatedMethod() {
400+
private Method getAssociatedMethod() {
401401
result = this.getOuterMethodSignatureCall().(MethodSignatureCall).getAssociatedMethod()
402402
}
403403

404404
/** Gets the parameter to which this type applies. */
405405
NamedParameter getParameter() {
406-
result = this.getAssociatedMethod().getExpr().getAParameter() and
406+
result = this.getAssociatedMethod().getAParameter() and
407407
result.getName() = this.getKey().getConstantValue().getStringlikeValue()
408408
}
409409
}

ruby/ql/test/library-tests/experimental/Rbi.ql

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ query predicate procParameterTypes(
4343
pc = prtc.getProcCall()
4444
}
4545

46-
query predicate sigMethods(MethodSignatureCall sig, ExprNodes::MethodBaseCfgNode m) {
47-
m = sig.getAssociatedMethod()
48-
}
46+
query predicate sigMethods(MethodSignatureCall sig, Method m) { m = sig.getAssociatedMethod() }
4947

5048
query predicate sigAttrReaders(MethodSignatureCall sig, ExprNodes::MethodCallCfgNode attr_reader) {
5149
attr_reader = sig.getAssociatedAttrReaderCall()

0 commit comments

Comments
 (0)