private void loadArguments()

in java/io/bazel/rules/closure/worker/PersistentWorker.java [162:187]


  private void loadArguments(boolean isWorker) {
    try {
      String lastArg = Iterables.getLast(arguments, "");
      if (lastArg.startsWith("@")) {
        Path flagFile = fs.getPath(CharMatcher.is('@').trimLeadingFrom(lastArg));
        if ((isWorker && lastArg.startsWith("@@")) || Files.exists(flagFile)) {
          arguments.clear();
          arguments.addAll(Files.readAllLines(flagFile, UTF_8));
        }
      } else {
        List<String> newArguments = new ArrayList<>();
        for (String argument : arguments) {
          if (argument.startsWith(FLAGFILE_ARG)) {
            newArguments.addAll(
                Files.readAllLines(fs.getPath(argument.substring(FLAGFILE_ARG.length())), UTF_8));
          }
        }
        if (!newArguments.isEmpty()) {
          arguments.clear();
          arguments.addAll(newArguments);
        }
      }
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  }