Uploaded image for project: 'Code Tools'
  1. Code Tools
  2. CODETOOLS-7902066

Jdec sometimes generates class names matching jcoder keywords or constant values

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • asm_tools_6.0
    • asm_tools_6.0
    • tools
    • None

      Jdec sometimes generates class names matching jcoder keywords or constant values, for example:

      $ cat Method.java I.java z.java
      // JcodTokens.ConstType.CONSTANT_METHOD
      class Method {}

      // Tables.StackMapType.ITEM_Integer
      interface I {}

      // JcodTokens.Token.ZEROINDEX
      class z {}

      $ javac Method.java I.java z.java
      $ java -jar asmtools.jar jdec Method.class > Method.jcod
      $ java -jar asmtools.jar jcoder Method.jcod
      org.openjdk.asmtools.jcoder.SyntaxError
          [...]
      Method.jcod:1: Name expected.
      class Method {
           ^
      1 error

      $ java -jar asmtools.jar jdec I.class > I.jcod
      $ java -jar asmtools.jar jcoder I.jcod
      org.openjdk.asmtools.jcoder.SyntaxError
          [...]
      I.jcod:1: Name expected.
      class I {
           ^
      1 error

      $ java -jar asmtools.jar jdec z.class > z.jcod
      $ java -jar asmtools.jar jcoder z.jcod
      org.openjdk.asmtools.jcoder.SyntaxError
          [...]
      z.jcod:1: Name expected.
      class z {
           ^
      1 error

      A possible fix (in ClassData.decodeClass()) would be to make jdec print the file name instead of the class name when the latter matches a jcoder keyword or constant value.

            bsrbnd Bernard Blaser
            bsrbnd Bernard Blaser
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: