private static List splitCommandArgumentsAndUnquote()

in src/org/jetbrains/jps/runConf/java/JavaBasedRunConfigurationLauncher.groovy [124:148]


  private static List<String> splitCommandArgumentsAndUnquote(String line) {
    final ArrayList<String> result = new ArrayList<String>();
    final StringBuilder builder = new StringBuilder();
    boolean inQuotes = false;
    for (int i = 0; i < line.length(); i++) {
      final char c = line.charAt(i);
      if (c == ' ' && !inQuotes) {
        if (builder.length() > 0) {
          result.add(builder.toString());
          builder.setLength(0);
        }
        continue;
      }

      if ((c == '"' || c == '\'') && isNotEscapedQuote(line, i)) {
        inQuotes = !inQuotes;
      }
      builder.append(c);
    }

    if (builder.length() > 0) {
      result.add(builder.toString());
    }
    return removeQuotes(result);
  }