Ruby: Add SelfVariableAccessCfgNode

This commit is contained in:
Harry Maclean
2022-08-05 15:36:34 +12:00
parent 898689f550
commit 09ad1c29bd

View File

@@ -711,6 +711,19 @@ module ExprNodes {
final CfgNode getReceiver() { e.hasCfgChild(e.getReceiver(), this, result) }
}
private class SelfVariableAccessMapping extends ExprChildMapping, SelfVariableAccess {
override predicate relevantChild(AstNode n) { none() }
}
/** A control-flow node that wraps a `SelfVariableAccess` AST expression. */
class SelfVariableAccessCfgNode extends ExprCfgNode {
final override string getAPrimaryQlClass() { result = "SelfVariableAccessCfgNode" }
override SelfVariableAccessMapping e;
override SelfVariableAccess getExpr() { result = ExprCfgNode.super.getExpr() }
}
/** A control-flow node that wraps a `VariableWriteAccess` AST expression. */
class VariableWriteAccessCfgNode extends ExprCfgNode {
override string getAPrimaryQlClass() { result = "VariableWriteAccessCfgNode" }