File tree Expand file tree Collapse file tree
powershell/ql/lib/semmle/code/powershell Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -701,6 +701,13 @@ module API {
701701 positionalParameterEdge ( pred , n , succ )
702702 }
703703
704+ pragma [ nomagic]
705+ private DataFlow:: CallNode getStaticConstructorLikeCall ( ) {
706+ exists ( string type |
707+ typeModel ( type , type + "!" , "Method[" + result .getLowerCaseName ( ) + "].ReturnValue" )
708+ )
709+ }
710+
704711 cached
705712 predicate instanceEdge ( Node pred , Node succ ) {
706713 // TODO: Also model parameters with a given type here
@@ -709,6 +716,12 @@ module API {
709716 succ = getForwardStartNode ( objCreation )
710717 )
711718 or
719+ exists ( DataFlow:: CallNode call |
720+ call = getStaticConstructorLikeCall ( ) and
721+ pred = getForwardEndNode ( call .getQualifier ( ) ) and
722+ succ = getForwardStartNode ( call )
723+ )
724+ or
712725 pred .( TypeNameNode ) .instanceEdge ( ) = succ
713726 }
714727
You can’t perform that action at this time.
0 commit comments