import { scanSlotCounts } from "./util.js";
import { inferBytecodeReturnsValue } from "./type-return-effects.js";
export function buildDirectCallEffectsByOffset(methodGroups, methodTokens = []) {
const effects = new Map();
for (const group of methodGroups) {
let paramCount = scanSlotCounts(group.instructions)[1];
let returnsValue = inferBytecodeReturnsValue(group.instructions, methodTokens);
if (group.source) {
paramCount = group.source.parameters.length;
returnsValue = !/^void$/i.test(group.source.returnType ?? "");
}
effects.set(group.start, { paramCount, returnsValue });
}
return effects;
}