Uploaded image for project: 'Scala Programming Language'
  1. Scala Programming Language
  2. SI-6759

seek clarification about necessary and sufficient conditions for inclusion in InnerClasses JVM attribute

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Scala 2.11.3
    • Component/s: Compiler Backend
    • Labels:
      None

      Description

      The JVM spec states in Sec. 4.7.6 that for each CONSTANT_Class_info (constant-pool entry) which represents a class or interface that is not a member of a package an entry should be made in the class' InnerClasses JVM attribute.

      According to the above, the mere fact an inner class is mentioned in, for example, an annotation wouldn't be reason enough for adding it to the InnerClasses JVM attribute.

      However that's what GenASM (apparently?) does.

      As an aside, this issue came up in the context of GenBCode, where refreshInnerClasses() in file BCodeOpt.scala follows a literal interpretation of the spec.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rytz Lukas Rytz
                Reporter:
                magarcia Miguel Garcia
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: