RFR: minor fix of DescriptorParser
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Wed Jun 6 14:03:36 UTC 2018
Whoops
Thanks
Maurizio
On 06/06/18 14:44, Henry Jen wrote:
> While investigating some other issue, I noticed nextToken(Token) is not throwing, turns out it was not implemented consistently.
>
> Following is a patch that check expected Token as it should be current token as it was mostly used pattern. Although I feel the naming maybe a bit of unclear on that matter.
>
> Anyhow, the patch allows the TestDescriptorGrammar.java to pass, and throw exception as it should.
>
> Cheers,
> Henry
>
>
> diff -r 36a9696fad6e src/java.base/share/classes/jdk/internal/nicl/types/DescriptorParser.java
> --- a/src/java.base/share/classes/jdk/internal/nicl/types/DescriptorParser.java Sun Jun 03 22:40:37 2018 -0700
> +++ b/src/java.base/share/classes/jdk/internal/nicl/types/DescriptorParser.java Wed Jun 06 06:38:54 2018 -0700
> @@ -51,10 +51,10 @@
> }
>
> void nextToken(Token expected) {
> + if (token != expected) {
> + throw scanner.error("expected: " + expected + "; found: " + token);
> + }
> nextToken();
> - if (token != expected) {
> - scanner.error("expected: " + expected + "; found: " + token);
> - }
> }
>
> /**
> @@ -129,9 +129,9 @@
> private Value parseValue() {
> Value.Kind kind = lastKind();
> Endianness endianness = lastEndianness();
> - nextToken(Token.NUMERIC);
> + nextToken(Token.VALUE);
> int size = parseSize();
> - nextToken(); //NUMERIC
> + nextToken(Token.NUMERIC); //NUMERIC
> Value value;
> switch (kind) {
> case INTEGRAL_UNSIGNED:
> @@ -177,7 +177,7 @@
> if (token != Token.EQ) {
> return value;
> }
> - nextToken(Token.LBRACKET);
> + nextToken();
> boolean prevAllowSubByteSizes = allowSubByteSizes;
> try {
> allowSubByteSizes = true;
> @@ -282,7 +282,7 @@
> * group = '[' (structOrUnionRest / sequenceRest) ']' [annotations]
> */
> private Group parseGroup() {
> - nextToken();
> + nextToken(Token.LBRACKET);
> Group group;
> if (token == Token.NUMERIC) {
> group = parseSequenceRest();
More information about the panama-dev
mailing list