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

Per-instance MetaClass not respected by InvokerHelper.getMetaClass

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5.6
    • 1.6.9
    • groovy-jdk
    • None

    Description

      The script

      def list = [2, 3, 5]
      def c = {it < 5}
      
      c.metaClass = new ExpandoMetaClass(c.class, false)
      c.metaClass.isCase = {p -> true}
      c.metaClass.initialize()
      
      assert c.isCase(5) == true
      assert [2, 3] == list.findAll(c)
      assert [2, 3, 5] == list.grep(c) // fails
      

      throws an AssertionError.

      It seems that InvokerHelper.getMetaClass does not respect per-instance MetaClasses.

      Attachments

        Activity

          People

            blackdrag Jochen Theodorou
            veita Alexander Veit
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: