Rename EOL (End Of Line) to EOI (End Of Input)
This commit is contained in:
parent
f3f9b81838
commit
97c768eab1
@ -104,7 +104,7 @@ class VersionParser implements Parser<Version> {
|
||||
return chr == '+';
|
||||
}
|
||||
},
|
||||
EOL {
|
||||
EOI {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@ -256,17 +256,17 @@ class VersionParser implements Parser<Version> {
|
||||
MetadataVersion preRelease = MetadataVersion.NULL;
|
||||
MetadataVersion build = MetadataVersion.NULL;
|
||||
|
||||
Character next = consumeNextCharacter(HYPHEN, PLUS, EOL);
|
||||
Character next = consumeNextCharacter(HYPHEN, PLUS, EOI);
|
||||
if (HYPHEN.isMatchedBy(next)) {
|
||||
preRelease = parsePreRelease();
|
||||
next = consumeNextCharacter(PLUS, EOL);
|
||||
next = consumeNextCharacter(PLUS, EOI);
|
||||
if (PLUS.isMatchedBy(next)) {
|
||||
build = parseBuild();
|
||||
}
|
||||
} else if (PLUS.isMatchedBy(next)) {
|
||||
build = parseBuild();
|
||||
}
|
||||
consumeNextCharacter(EOL);
|
||||
consumeNextCharacter(EOI);
|
||||
return new Version(normal, preRelease, build);
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@ class VersionParser implements Parser<Version> {
|
||||
*/
|
||||
private String preReleaseIdentifier() {
|
||||
checkForEmptyIdentifier();
|
||||
CharType boundary = nearestCharType(DOT, PLUS, EOL);
|
||||
CharType boundary = nearestCharType(DOT, PLUS, EOI);
|
||||
if (chars.positiveLookaheadBefore(boundary, LETTER, HYPHEN)) {
|
||||
return alphanumericIdentifier();
|
||||
} else {
|
||||
@ -382,7 +382,7 @@ class VersionParser implements Parser<Version> {
|
||||
*/
|
||||
private String buildIdentifier() {
|
||||
checkForEmptyIdentifier();
|
||||
CharType boundary = nearestCharType(DOT, EOL);
|
||||
CharType boundary = nearestCharType(DOT, EOI);
|
||||
if (chars.positiveLookaheadBefore(boundary, LETTER, HYPHEN)) {
|
||||
return alphanumericIdentifier();
|
||||
} else {
|
||||
@ -454,7 +454,7 @@ class VersionParser implements Parser<Version> {
|
||||
* Finds the nearest character type.
|
||||
*
|
||||
* @param types the character types to choose from
|
||||
* @return the nearest character type or {@code EOL}
|
||||
* @return the nearest character type or {@code EOI}
|
||||
*/
|
||||
private CharType nearestCharType(CharType... types) {
|
||||
for (Character chr : chars) {
|
||||
@ -464,7 +464,7 @@ class VersionParser implements Parser<Version> {
|
||||
}
|
||||
}
|
||||
}
|
||||
return EOL;
|
||||
return EOI;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -490,7 +490,7 @@ class VersionParser implements Parser<Version> {
|
||||
*/
|
||||
private void checkForEmptyIdentifier() {
|
||||
Character la = chars.lookahead(1);
|
||||
if (DOT.isMatchedBy(la) || PLUS.isMatchedBy(la) || EOL.isMatchedBy(la)) {
|
||||
if (DOT.isMatchedBy(la) || PLUS.isMatchedBy(la) || EOI.isMatchedBy(la)) {
|
||||
throw new ParseException(
|
||||
"Identifiers MUST NOT be empty",
|
||||
new UnexpectedCharacterException(
|
||||
|
@ -85,7 +85,7 @@ public class ExpressionParser implements Parser<Expression> {
|
||||
public Expression parse(String input) {
|
||||
tokens = lexer.tokenize(input);
|
||||
Expression expr = parseSemVerExpression();
|
||||
consumeNextToken(EOL);
|
||||
consumeNextToken(EOI);
|
||||
return expr;
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ class Lexer {
|
||||
LEFT_PAREN("\\("),
|
||||
RIGHT_PAREN("\\)"),
|
||||
WHITESPACE("\\s+"),
|
||||
EOL("?!");
|
||||
EOI("?!");
|
||||
|
||||
/**
|
||||
* A pattern matching this type.
|
||||
@ -218,7 +218,7 @@ class Lexer {
|
||||
throw new LexerException(input);
|
||||
}
|
||||
}
|
||||
tokens.add(new Token(Token.Type.EOL, null, tokenPos));
|
||||
tokens.add(new Token(Token.Type.EOI, null, tokenPos));
|
||||
return new Stream<Token>(tokens.toArray(new Token[tokens.size()]));
|
||||
}
|
||||
}
|
||||
|
@ -95,11 +95,11 @@ public class ParserErrorHandlingTest {
|
||||
{ "v1.2.3", 'v', 0, new CharType[] { DIGIT } },
|
||||
{ "1.2.3-", null, 6, new CharType[] { DIGIT, LETTER, HYPHEN } },
|
||||
{ "1.2. 3", ' ', 4, new CharType[] { DIGIT } },
|
||||
{ "1.2.3=alpha", '=', 5, new CharType[] { HYPHEN, PLUS, EOL } },
|
||||
{ "1.2.3~beta", '~', 5, new CharType[] { HYPHEN, PLUS, EOL } },
|
||||
{ "1.2.3-be$ta", '$', 8, new CharType[] { PLUS, EOL } },
|
||||
{ "1.2.3+b1+b2", '+', 8, new CharType[] { EOL } },
|
||||
{ "1.2.3-rc!", '!', 8, new CharType[] { PLUS, EOL } },
|
||||
{ "1.2.3=alpha", '=', 5, new CharType[] { HYPHEN, PLUS, EOI } },
|
||||
{ "1.2.3~beta", '~', 5, new CharType[] { HYPHEN, PLUS, EOI } },
|
||||
{ "1.2.3-be$ta", '$', 8, new CharType[] { PLUS, EOI } },
|
||||
{ "1.2.3+b1+b2", '+', 8, new CharType[] { EOI } },
|
||||
{ "1.2.3-rc!", '!', 8, new CharType[] { PLUS, EOI } },
|
||||
{ "1.2.3-+", '+', 6, new CharType[] { DIGIT, LETTER, HYPHEN } },
|
||||
{ "1.2.3-@", '@', 6, new CharType[] { DIGIT, LETTER, HYPHEN } },
|
||||
{ "1.2.3+@", '@', 6, new CharType[] { DIGIT, LETTER, HYPHEN } },
|
||||
|
@ -76,10 +76,10 @@ public class VersionParserCharTypeTest {
|
||||
|
||||
@Test
|
||||
public void shouldBeMatchedByEol() {
|
||||
assertTrue(EOL.isMatchedBy(null));
|
||||
assertFalse(EOL.isMatchedBy('-'));
|
||||
assertFalse(EOL.isMatchedBy('a'));
|
||||
assertFalse(EOL.isMatchedBy('0'));
|
||||
assertTrue(EOI.isMatchedBy(null));
|
||||
assertFalse(EOI.isMatchedBy('-'));
|
||||
assertFalse(EOI.isMatchedBy('a'));
|
||||
assertFalse(EOI.isMatchedBy('0'));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -97,7 +97,7 @@ public class VersionParserCharTypeTest {
|
||||
assertEquals(DOT, CharType.forCharacter('.'));
|
||||
assertEquals(HYPHEN, CharType.forCharacter('-'));
|
||||
assertEquals(PLUS, CharType.forCharacter('+'));
|
||||
assertEquals(EOL, CharType.forCharacter(null));
|
||||
assertEquals(EOI, CharType.forCharacter(null));
|
||||
assertEquals(ILLEGAL, CharType.forCharacter('!'));
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class LexerTest {
|
||||
new Token(NUMERIC, "0", 3),
|
||||
new Token(DOT, ".", 4),
|
||||
new Token(NUMERIC, "0", 5),
|
||||
new Token(EOL, null, 6),
|
||||
new Token(EOI, null, 6),
|
||||
};
|
||||
Lexer lexer = new Lexer();
|
||||
Stream<Token> stream = lexer.tokenize(">1.0.0");
|
||||
@ -56,7 +56,7 @@ public class LexerTest {
|
||||
Token[] expected = {
|
||||
new Token(GREATER, ">", 0),
|
||||
new Token(NUMERIC, "1", 2),
|
||||
new Token(EOL, null, 3),
|
||||
new Token(EOI, null, 3),
|
||||
};
|
||||
Lexer lexer = new Lexer();
|
||||
Stream<Token> stream = lexer.tokenize("> 1");
|
||||
@ -71,7 +71,7 @@ public class LexerTest {
|
||||
new Token(NUMERIC, "2", 2),
|
||||
new Token(DOT, ".", 3),
|
||||
new Token(NUMERIC, "3", 4),
|
||||
new Token(EOL, null, 5),
|
||||
new Token(EOI, null, 5),
|
||||
};
|
||||
Lexer lexer = new Lexer();
|
||||
Stream<Token> stream = lexer.tokenize("1.2.3");
|
||||
|
@ -69,10 +69,10 @@ public class ParserErrorHandlingTest {
|
||||
@Parameters(name = "{0}")
|
||||
public static Collection<Object[]> parameters() {
|
||||
return Arrays.asList(new Object[][] {
|
||||
{ "1)", new Token(RIGHT_PAREN, ")", 1), new Token.Type[] { EOL } },
|
||||
{ "(>1.0.1", new Token(EOL, null, 7), new Token.Type[] { RIGHT_PAREN } },
|
||||
{ "((>=1 & <2)", new Token(EOL, null, 11), new Token.Type[] { RIGHT_PAREN } },
|
||||
{ ">=1.0.0 &", new Token(EOL, null, 9), new Token.Type[] { NUMERIC } },
|
||||
{ "1)", new Token(RIGHT_PAREN, ")", 1), new Token.Type[] { EOI } },
|
||||
{ "(>1.0.1", new Token(EOI, null, 7), new Token.Type[] { RIGHT_PAREN } },
|
||||
{ "((>=1 & <2)", new Token(EOI, null, 11), new Token.Type[] { RIGHT_PAREN } },
|
||||
{ ">=1.0.0 &", new Token(EOI, null, 9), new Token.Type[] { NUMERIC } },
|
||||
{ "(>2.0 |)", new Token(RIGHT_PAREN, ")", 7), new Token.Type[] { NUMERIC } },
|
||||
{ "& 1.2", new Token(AND, "&", 0), new Token.Type[] { NUMERIC } },
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user