Skip to content

Commit 3441963

Browse files
authored
Revert "Fix selector parsing with errant break tokens" (#3080)
This reverts commit 6f72eec.
1 parent da5120c commit 3441963

5 files changed

Lines changed: 4 additions & 40 deletions

File tree

.changes/next-release/bugfix-d3f8cb56f24737e46d719b83f7f8bff142c3c705.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

smithy-model/src/main/java/software/amazon/smithy/model/selector/SelectorParser.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,7 @@ static Selector parse(String selector) {
4747
}
4848

4949
List<InternalSelector> parse() {
50-
List<InternalSelector> result = recursiveParse();
51-
ws();
52-
if (!eof()) {
53-
throw syntax("Unexpected selector character: " + peek());
54-
}
55-
return result;
50+
return recursiveParse();
5651
}
5752

5853
private List<InternalSelector> recursiveParse() {

smithy-model/src/test/java/software/amazon/smithy/model/selector/SelectorTest.java

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,7 @@ public void canQueryVariablesAtPointTheyWereMatched() {
901901
+ "~>\n"
902902
+ "operation\n"
903903
+ "[trait|auth]"
904-
+ ":not([@: @{trait|auth|(values)} {<} @{var|authTraits|id}])");
904+
+ ":not([@: @{trait|auth|(values)} {<} @{var|authTraits|id}]))");
905905

906906
List<Pair<Shape, Map<String, Set<Shape>>>> results = new ArrayList<>();
907907
selector.runner().model(result).selectMatches((s, vars) -> results.add(Pair.of(s, vars)));
@@ -1195,28 +1195,4 @@ public void rootDoesNotSupportMoreThanOneSelector() {
11951195
public void rootRequiresOneSelector() {
11961196
Assertions.assertThrows(SelectorSyntaxException.class, () -> Selector.parse(":root()"));
11971197
}
1198-
1199-
@Test
1200-
public void rejectsTopLevelComma() {
1201-
SelectorSyntaxException e = Assertions.assertThrows(
1202-
SelectorSyntaxException.class,
1203-
() -> Selector.parse("string, integer"));
1204-
assertThat(e.getMessage(), containsString(","));
1205-
}
1206-
1207-
@Test
1208-
public void rejectsUnmatchedTopLevelCloseBracket() {
1209-
SelectorSyntaxException e = Assertions.assertThrows(
1210-
SelectorSyntaxException.class,
1211-
() -> Selector.parse("string ] extra"));
1212-
assertThat(e.getMessage(), containsString("]"));
1213-
}
1214-
1215-
@Test
1216-
public void rejectsUnmatchedTopLevelCloseParen() {
1217-
SelectorSyntaxException e = Assertions.assertThrows(
1218-
SelectorSyntaxException.class,
1219-
() -> Selector.parse("string ) extra"));
1220-
assertThat(e.getMessage(), containsString(")"));
1221-
}
12221198
}

smithy-model/src/test/resources/software/amazon/smithy/model/errorfiles/validators/traitValidators/find-incompatible-shapes.smithy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace com.amazonaws.simple
1010
message: "Document types are not supported"
1111
}
1212
"com.amazonaws.simple.myProtocol.NoEventStreams": {
13-
selector: "~> operation -[input, output]-> :test(> member > union [trait|streaming])"
13+
selector: "~> operation -[input, output]-> :test(> member > union [trait|streaming]))"
1414
message: "Event streams are not supported"
1515
}
1616
"com.amazonaws.simple.myProtocol.NoErrors": {

smithy-model/src/test/resources/software/amazon/smithy/model/selector/cases/variables.smithy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ metadata selectorTests = [
2626
~>
2727
operation
2828
[trait|auth]
29-
:not([@: @{trait|auth|(values)} {<} @{var|authTraits|id}])
29+
:not([@: @{trait|auth|(values)} {<} @{var|authTraits|id}]))
3030
"""
3131
matches: [
3232
smithy.example#HasDigestAuth

0 commit comments

Comments
 (0)