GP-0: Stronger ObjcMessageAnalzyer.canAnalyze() check (prevents it from

running on Swift-only programs)
This commit is contained in:
Ryan Kurtz
2026-03-25 09:07:49 -04:00
parent 2f6e25e19b
commit 04b6322964

View File

@@ -89,7 +89,18 @@ public class ObjcMessageAnalyzer extends AbstractAnalyzer {
@Override
public boolean canAnalyze(Program program) {
return Objc2Constants.isObjectiveC2(program);
if (Objc2Constants.isObjectiveC2(program)) {
Memory mem = program.getMemory();
if (mem.getBlock(Objc2Constants.OBJC2_STUBS) != null) {
return true;
}
for (Symbol s : program.getSymbolTable().getExternalSymbols()) {
if (s.getName().startsWith(Objc1Constants.OBJC_MSG_SEND)) {
return true;
}
}
}
return false;
}
@Override