@Override
  public BasicValue naryOperation(AbstractInsnNode insn, List<? extends BasicValue> values) throws AnalyzerException {
    int opcode = insn.getOpcode();
    switch (opcode) {
      case INVOKEINTERFACE:
      case INVOKESPECIAL:
      case INVOKESTATIC:
      case INVOKEVIRTUAL:
        MethodInsnNode methodNode = (MethodInsnNode)insn;
        methodCall(opcode, new Member(methodNode.owner, methodNode.name, methodNode.desc), values);
        break;
      case INVOKEDYNAMIC:
        LambdaIndy lambda = LambdaIndy.from((InvokeDynamicInsnNode)insn);
        if (lambda != null) {
          int targetOpcode = lambda.getAssociatedOpcode();
          if (targetOpcode != -1) {
            methodCall(targetOpcode, lambda.getMethod(), lambda.getLambdaMethodArguments(values, this::newValue));
          }
        }
      default:
    }
    return super.naryOperation(insn, values);
  }
@Override
  public BasicValue naryOperation(AbstractInsnNode insn, List<? extends BasicValue> values)