private static int copyEscaped(String vr, int pos, String breakChars, StringBuffer sb) { int top = vr.length(); pos = VersionParser.skipWhite(vr, pos); if (pos >= top) throw new IllegalArgumentException(); char c = vr.charAt(pos); for (;;) { if (c == '\\' && ++pos < top) c = vr.charAt(pos); else { if (c <= ' ') return VersionParser.skipWhite(vr, pos); if (breakChars != null && breakChars.indexOf(c) >= 0) break; } sb.append(c); if (++pos >= top) break; c = vr.charAt(pos); } return pos; }
private static IVersionFormat parseFormat(String versionRange, int[] position) { int pos = VersionParser.skipWhite(versionRange, position[0]); if (!versionRange.startsWith("format(", pos)) //$NON-NLS-1$ return null; pos += 7; int end = VersionParser.findEndOfFormat(versionRange, pos, versionRange.length()); try { position[0] = end + 1; return VersionFormat.compile(versionRange, pos, end); } catch (VersionFormatException e) { throw new IllegalArgumentException(e.getMessage()); } }
if (versionRange != null) { top = versionRange.length(); pos = VersionParser.skipWhite(versionRange, 0); top = VersionParser.skipTrailingWhite(versionRange, pos, top); pos = VersionParser.skipWhite(versionRange, pos); if (pos >= top) throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange)); String origMin = null; String origMax = null; pos = VersionParser.skipWhite(versionRange, pos); if (pos < top && versionRange.charAt(pos) == '/') { if (++pos == top) position[0] = pos; fmt = parseFormat(versionRange, position); pos = VersionParser.skipWhite(versionRange, position[0]); if (pos < top) { boolean origUseIncDelims = false; pos = VersionParser.skipWhite(versionRange, ++pos); if (pos == top) throw new IllegalArgumentException(NLS.bind(Messages.original_stated_but_missing_0, versionRange)); if (includeMin != (c == '[') || maxStr == null) throw new IllegalArgumentException(NLS.bind(Messages.raw_and_original_must_use_same_range_inclusion_0, versionRange)); pos = VersionParser.skipWhite(versionRange, ++pos); origUseIncDelims = true;
int pos = skipWhite(version, start); maxPos = skipTrailingWhite(version, start, maxPos); if (pos == maxPos)