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 {
744
744
745
745
override Type getResultType ( ) {
746
746
exists ( CallExpr c | this .getBase ( ) = evalExprInstruction ( c ) |
747
- result = c .getTarget ( ) .getResultType ( i )
747
+ result = c .getCalleeType ( ) .getResultType ( i )
748
748
)
749
749
or
750
750
exists ( Expr e | this .getBase ( ) = evalExprInstruction ( e ) |
Original file line number Diff line number Diff line change @@ -149,7 +149,9 @@ predicate golangSpecificParamArgFilter(
149
149
// Interface methods calls may be passed strictly to that exact method's model receiver:
150
150
arg .getPosition ( ) != - 1
151
151
or
152
- exists ( Function callTarget | callTarget = call .getNode ( ) .( DataFlow:: CallNode ) .getTarget ( ) |
152
+ exists ( Function callTarget |
153
+ callTarget = call .getNode ( ) .( DataFlow:: CallNode ) .getACalleeIncludingExternals ( ) .asFunction ( )
154
+ |
153
155
not isInterfaceMethod ( callTarget )
154
156
or
155
157
callTarget = p .getCallable ( ) .asSummarizedCallable ( ) .asFunction ( )
Original file line number Diff line number Diff line change @@ -439,8 +439,8 @@ module Public {
439
439
CallNode getCallNode ( ) { result = call }
440
440
441
441
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 )
444
444
)
445
445
}
446
446
You can’t perform that action at this time.
0 commit comments