public LocalVarRemapper(Parameters params, int additionalShift) { this.additionalShift = additionalShift; this.params = params; remapValues = new StackValue[params.getArgsSizeOnStack()]; int realSize = 0; for (ParameterInfo info : params) { Integer shift = params.getDeclarationSlot(info); if (!info.isSkippedOrRemapped()) { remapValues[shift] = StackValue.local(realSize, AsmTypes.OBJECT_TYPE); realSize += info.getType().getSize(); } else { remapValues[shift] = info.isRemapped() ? info.getRemapValue() : null; } } actualParamsSize = realSize; }