ParamsValue (AbstractInsnNode insn, ParamsValue value1, ParamsValue value2) { switch (insn.getOpcode()) { case IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD -> { boolean[] params = value1.params; for (int i = 0; i < arity; i++) { leaking[i] |= params[i]; } } case PUTFIELD -> { boolean[] params = value1.params; for (int i = 0; i < arity; i++) { leaking[i] |= params[i]; } params = value2.params; for (int i = 0; i < arity; i++) { nullableLeaking[i] |= params[i]; } } default -> {} } return super.binaryOperation(insn, value1, value2); }