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

Static import of method with default parameter value: MissingMethodException

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.4
    • Fix Version/s: 1.6-rc-1, 1.5.8, 1.7-beta-1
    • Component/s: None
    • Labels:
      None
    • Environment:
      Java 1.6, Ubuntu and Windows XP

      Description

      A static method with a default parameter is not found, when it is imported statically and called without prefixing his class:

      === test.groovy ===

      import static Settings.*
      import static ConsoleUI.*

      class Settings
      {
      static void initialize()

      { writeln("working", 100) writeln("failing") }

      }

      class ConsoleUI
      {
      static void writeln(String s, int delay = 0)

      { sleep delay println s }

      }

      Settings.initialize()

      === Output ===

      working
      Caught: groovy.lang.MissingMethodException: No signature of method: static Settings.writeln() is applicable for argument types: (java.lang.String) values:

      {"failing"}

      at Settings.initialize(test.groovy:8)
      at test.run(test.groovy:20)
      at test.main(test.groovy)

      Exited: 256

        Attachments

        1. 2746_v15x_v2.diff
          2 kB
          Roshan Dawrani
        2. 2746_v16x_v2.diff
          2 kB
          Roshan Dawrani
        3. 2746_v17x_v2.diff
          2 kB
          Roshan Dawrani

          Issue Links

            Activity

              People

              • Assignee:
                blackdrag Jochen Theodorou
                Reporter:
                dolvich Ivan Dolvich
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: