This is an automated email from the git hooks/post-receive script. reazem-guest pushed a commit to branch master in repository jsemver.
commit abaca661ff4f0d60063b5244558d1676f03455b9 Author: Zafar Khaja <[email protected]> Date: Mon Jan 27 14:09:47 2014 +0400 Refactor VersionParser, make some improvements --- .../github/zafarkhaja/semver/VersionParser.java | 54 ++++++++++------------ 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/github/zafarkhaja/semver/VersionParser.java b/src/main/java/com/github/zafarkhaja/semver/VersionParser.java index bbeb0d1..1911e61 100644 --- a/src/main/java/com/github/zafarkhaja/semver/VersionParser.java +++ b/src/main/java/com/github/zafarkhaja/semver/VersionParser.java @@ -224,18 +224,18 @@ class VersionParser implements Parser<Version> { * @return a valid version object */ private Version parseValidSemVer() { - NormalVersion normalVersion = parseVersionCore(); - MetadataVersion preReleaseVersion = MetadataVersion.NULL; - MetadataVersion buildMetadata = MetadataVersion.NULL; + NormalVersion normal = parseVersionCore(); + MetadataVersion preRelease = MetadataVersion.NULL; if (chars.positiveLookahead(HYPHEN)) { chars.consume(); - preReleaseVersion = parsePreRelease(); + preRelease = parsePreRelease(); } + MetadataVersion build = MetadataVersion.NULL; if (chars.positiveLookahead(PLUS)) { chars.consume(); - buildMetadata = parseBuild(); + build = parseBuild(); } - return new Version(normalVersion, preReleaseVersion, buildMetadata); + return new Version(normal, preRelease, build); } /** @@ -277,23 +277,21 @@ class VersionParser implements Parser<Version> { * @throws ParseException if the pre-release version has empty identifier(s) */ private MetadataVersion parsePreRelease() { + List<String> idents = new ArrayList<String>(); CharType end = closestEndpoint(PLUS, EOL); CharType before = closestEndpoint(DOT, end); - List<String> idents = new ArrayList<String>(); - while (!chars.positiveLookahead(end)) { - if (before == DOT) { - checkForEmptyIdentifier(); - } + do { + checkForEmptyIdentifier(); if (chars.positiveLookaheadBefore(before, LETTER, HYPHEN)) { idents.add(alphanumericIdentifier()); } else { idents.add(numericIdentifier()); } if (before == DOT) { - chars.consume(); + chars.consume(DOT); + before = closestEndpoint(DOT, end); } - before = closestEndpoint(DOT, end); - } + } while (!chars.positiveLookahead(end)); return new MetadataVersion(idents.toArray(new String[idents.size()])); } @@ -316,23 +314,21 @@ class VersionParser implements Parser<Version> { * @throws ParseException if the build metadata has empty identifier(s) */ private MetadataVersion parseBuild() { + List<String> idents = new ArrayList<String>(); CharType end = EOL; CharType before = closestEndpoint(DOT, end); - List<String> idents = new ArrayList<String>(); - while (!chars.positiveLookahead(end)) { - if (before == DOT) { - checkForEmptyIdentifier(); - } + do { + checkForEmptyIdentifier(); if (chars.positiveLookaheadBefore(before, LETTER, HYPHEN)) { idents.add(alphanumericIdentifier()); } else { idents.add(digits()); } if (before == DOT) { - chars.consume(); + chars.consume(DOT); + before = closestEndpoint(DOT, end); } - before = closestEndpoint(DOT, end); - } + } while (!chars.positiveLookahead(end)); return new MetadataVersion(idents.toArray(new String[idents.size()])); } @@ -371,10 +367,9 @@ class VersionParser implements Parser<Version> { */ private String alphanumericIdentifier() { StringBuilder sb = new StringBuilder(); - sb.append(chars.consume(DIGIT, LETTER, HYPHEN)); - while (chars.positiveLookahead(DIGIT, LETTER, HYPHEN)) { - sb.append(chars.consume()); - } + do { + sb.append(chars.consume(DIGIT, LETTER, HYPHEN)); + } while (chars.positiveLookahead(DIGIT, LETTER, HYPHEN)); return sb.toString(); } @@ -392,10 +387,9 @@ class VersionParser implements Parser<Version> { */ private String digits() { StringBuilder sb = new StringBuilder(); - sb.append(chars.consume(DIGIT)); - while (chars.positiveLookahead(DIGIT)) { - sb.append(chars.consume()); - } + do { + sb.append(chars.consume(DIGIT)); + } while (chars.positiveLookahead(DIGIT)); return sb.toString(); } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jsemver.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

