Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8318811

Compiler directives parser swallows a character after line comments

    XMLWordPrintable

Details

    • 9
    • b22
    • generic

    Description

      Currently, the following valid compiler directive file:
      ```
      [{
        match: "*::*",
        c2: { Exclude: true } // c1 only for startup
      }]
      ```
      will be rejected by the parser:
      ```
      Syntax error on line 4 byte 2: Expected value separator or object end (one of ',}').
        At ']'.
      }]

      Parsing of compiler directives failed
      ```

      This is because `JSON::skip_line_comment()`, in contradiction to its specification, does **not** "*return the first token after the line comment without consuming it*" but does consumes it.

      The fix is trivial:
      ```
      --- a/src/hotspot/share/utilities/json.cpp
      +++ b/src/hotspot/share/utilities/json.cpp
      @@ -580,7 +580,7 @@ u_char JSON::skip_line_comment() {
           return 0;
         }
         next();
      - return next();
      + return peek();
       }
      ```

      Attachments

        Issue Links

          Activity

            People

              simonis Volker Simonis
              simonis Volker Simonis
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: