@@ -61,15 +61,15 @@ class ExitNode extends ControlFlowNode, TExitNode {
6161/**
6262 * A node for an AST node.
6363 *
64- * Each AST node maps to zero or more `AstCfgNode `s: zero when the node is unreachable
64+ * Each AST node maps to zero or more `CfgNode `s: zero when the node is unreachable
6565 * (dead) code or not important for control flow, and multiple when there are different
6666 * splits for the AST node.
6767 */
68- class AstCfgNode extends ControlFlowNode , TElementNode {
68+ class CfgNode extends ControlFlowNode , TElementNode {
6969 private Splits splits ;
70- private ControlFlowElement n ;
70+ ControlFlowElement n ;
7171
72- AstCfgNode ( ) { this = TElementNode ( _, n , splits ) }
72+ CfgNode ( ) { this = TElementNode ( _, n , splits ) }
7373
7474 final override ControlFlowElement getNode ( ) { result = n }
7575
@@ -94,7 +94,7 @@ class AstCfgNode extends ControlFlowNode, TElementNode {
9494}
9595
9696/** A control-flow node that wraps an AST expression. */
97- class ExprCfgNode extends AstCfgNode {
97+ class ExprCfgNode extends CfgNode {
9898 Expr e ;
9999
100100 ExprCfgNode ( ) { e = this .getNode ( ) .asAstNode ( ) }
@@ -103,6 +103,20 @@ class ExprCfgNode extends AstCfgNode {
103103 Expr getExpr ( ) { result = e }
104104}
105105
106+ /** A control-flow node that wraps a property getter. */
107+ class PropertyGetterCfgNode extends CfgNode {
108+ override PropertyGetterElement n ;
109+
110+ Expr getRef ( ) { result = n .getRef ( ) }
111+ }
112+
113+ /** A control-flow node that wraps a property setter. */
114+ class PropertySetterCfgNode extends CfgNode {
115+ override PropertySetterElement n ;
116+
117+ AssignExpr getAssignExpr ( ) { result = n .getAssignExpr ( ) }
118+ }
119+
106120class ApplyExprCfgNode extends ExprCfgNode {
107121 override ApplyExpr e ;
108122
0 commit comments