[jsemver] 73/95: Refactor VersionParser, make some improvements
Alexandre Viau
reazem-guest at moszumanska.debian.org
Mon Feb 16 14:58:32 UTC 2015
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 <zafarkhaja at gmail.com>
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
More information about the pkg-java-commits
mailing list