Skip to content

[BUG] Force call type when resolving unknown call types #191

@lucaneg

Description

@lucaneg

Description
When resolving unknown calls (that might be static or instance) the CallType of the call being resolved is set to UNKNOWN. When trying to resolve it as a static call, BaseCallGraph creates a copy of it forcing the static call type:

UnresolvedCall tempCall = new UnresolvedCall(..., CallType.STATIC, ...);
resolveNonInstance(...);

Instead, when trying to resolve it as an instance call, the original object is used. This means that all matching strategies that need to know if the call is static or not will not be able to determine it, since its type is still set to UNKNOWN. We should resolve a modified copy of the call instead, as for the static case.

Metadata

Metadata

Assignees

Labels

‼ priority:p1Priority planning - level 1🌍 scope:interprocWork regarding interprocedural analyses or call graphs🎊 resolution:resolvedBug or feature resolved - might not have been merged to master yet🐛 type:bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions