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 @@ -367,6 +367,8 @@ module API {
367367
368368 Node methodEdge ( string name ) { none ( ) }
369369
370+ Node instanceEdge ( ) { none ( ) }
371+
370372 final predicate isImplicit ( ) { not this .isExplicit ( _) }
371373
372374 predicate isExplicit ( DataFlow:: Node node ) { none ( ) }
@@ -431,6 +433,14 @@ module API {
431433 result = Impl:: MkNewObjectTypeNameNode ( prefix + "." + name )
432434 }
433435
436+ final override Node instanceEdge ( ) {
437+ exists ( DataFlow:: ObjectCreationNode creation |
438+ prefix = creation .getLowerCaseConstructedTypeName ( ) and
439+ Specific:: needsNewObjectTypeNameNode ( creation , prefix ) and
440+ result = getForwardStartNode ( creation )
441+ )
442+ }
443+
434444 final override predicate isExplicit ( DataFlow:: Node node ) {
435445 Specific:: needsNewObjectTypeNameNode ( node , prefix )
436446 }
@@ -698,6 +708,8 @@ module API {
698708 pred = getForwardEndNode ( objCreation .getConstructedTypeNode ( ) ) and
699709 succ = getForwardStartNode ( objCreation )
700710 )
711+ or
712+ pred .( TypeNameNode ) .instanceEdge ( ) = succ
701713 }
702714
703715 cached
You can’t perform that action at this time.
0 commit comments