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

Static import of method with default parameter value: MissingMethodException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5.4
    • 1.6-rc-1, 1.5.8, 1.7-beta-1
    • None
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: