File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed
powershell/ql/lib/semmle/code/powershell Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -1061,6 +1061,20 @@ module ExprNodes {
10611061
10621062 ExprCfgNode getAnOperand ( ) { e .hasCfgChild ( e .getAnOperand ( ) , this , result ) }
10631063 }
1064+
1065+ private class AutomaticVariableChildMapping extends ExprChildMapping , AutomaticVariable {
1066+ override predicate relevantChild ( Ast child ) { none ( ) }
1067+ }
1068+
1069+ class AutomaticVariableCfgNode extends ExprCfgNode {
1070+ override string getAPrimaryQlClass ( ) { result = "AutomaticVariableCfgNode" }
1071+
1072+ override AutomaticVariableChildMapping e ;
1073+
1074+ override AutomaticVariable getExpr ( ) { result = e }
1075+
1076+ string getName ( ) { result = e .getName ( ) }
1077+ }
10641078}
10651079
10661080module StmtNodes {
Original file line number Diff line number Diff line change @@ -555,3 +555,12 @@ class QualifiedTypeNameNode extends TypeNameNode {
555555
556556 final override CfgNodes:: ExprNodes:: QualifiedTypeNameExprCfgNode getExprNode ( ) { result = n }
557557}
558+
559+ /** A use of an automatic variable, viewed as a node in a data flow graph. */
560+ class AutomaticVariableNode extends ExprNode {
561+ override CfgNodes:: ExprNodes:: AutomaticVariableCfgNode n ;
562+
563+ final override CfgNodes:: ExprNodes:: AutomaticVariableCfgNode getExprNode ( ) { result = n }
564+
565+ string getName ( ) { result = n .getName ( ) }
566+ }
You can’t perform that action at this time.
0 commit comments