Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-4225

Wrong generation of import statements in stubs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.2
    • 1.7.3, 1.8-beta-1
    • Compiler
    • None
    • Windows XP, Sun JDK 1.6.0_19
    • Patch

    Description

      Single-type import declarations in Groovy files are collected/converted into type-on-demand import declarations by the stub compiler – in other words,

      import my.package.Type1
      import my.package.Type2

      becomes

      import my.package.*;

      This breaks the type shadowing mechanisms described in Section 7.5.1 of the Java Language Specification (3rd edition) and leads to Java compiler errors like "cannot decide which of the classes to use".

      Moreover, current implementations is based on an unordered set, thus destroying the order of import declarations.

      Attached patch solves these issues by preserving both the form and the order of original import declarations.

      Attachments

        1. test1.zip
          2 kB
          Dmytro Rud
        2. groovy-patch-20100526.patch
          2 kB
          Dmytro Rud

        Activity

          People

            paulk Paul King
            rnd Dmytro Rud
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: