File tree Expand file tree Collapse file tree 3 files changed +6
-4
lines changed Expand file tree Collapse file tree 3 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -744,7 +744,7 @@ module IR {
744744
745745 override Type getResultType ( ) {
746746 exists ( CallExpr c | this .getBase ( ) = evalExprInstruction ( c ) |
747- result = c .getTarget ( ) .getResultType ( i )
747+ result = c .getCalleeType ( ) .getResultType ( i )
748748 )
749749 or
750750 exists ( Expr e | this .getBase ( ) = evalExprInstruction ( e ) |
Original file line number Diff line number Diff line change @@ -149,7 +149,9 @@ predicate golangSpecificParamArgFilter(
149149 // Interface methods calls may be passed strictly to that exact method's model receiver:
150150 arg .getPosition ( ) != - 1
151151 or
152- exists ( Function callTarget | callTarget = call .getNode ( ) .( DataFlow:: CallNode ) .getTarget ( ) |
152+ exists ( Function callTarget |
153+ callTarget = call .getNode ( ) .( DataFlow:: CallNode ) .getACalleeIncludingExternals ( ) .asFunction ( )
154+ |
153155 not isInterfaceMethod ( callTarget )
154156 or
155157 callTarget = p .getCallable ( ) .asSummarizedCallable ( ) .asFunction ( )
Original file line number Diff line number Diff line change @@ -439,8 +439,8 @@ module Public {
439439 CallNode getCallNode ( ) { result = call }
440440
441441 override Type getType ( ) {
442- exists ( Function f | f = call .getTarget ( ) |
443- result = f .getParameterType ( f .getNumParameter ( ) - 1 )
442+ exists ( SignatureType t | t = call .getCall ( ) . getCalleeType ( ) |
443+ result = t .getParameterType ( t .getNumParameter ( ) - 1 )
444444 )
445445 }
446446
You can’t perform that action at this time.
0 commit comments