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

Support property references in addition to the method references from Java 8

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 2.6.0-alpha-1
    • None
    • parser-antlr2
    • None

    Description

      It would be great if the method reference syntax from Java (Class::method or obj::method) could also be extended to support Groovy properties. The new parser currently already parses the syntax without error, but it gets treated as a method reference.

      Potential example usage:

      class Test {
          String property
      }
      
      def test = new Test(property: 'Hello')
      def boundReference = test::property
      def unboundReference = Test::property
      
      // getting/setting property using bound reference
      println boundReference.get()
      boundReference.set('Hello to you!')
      
      // getting/setting property using unbound reference
      println unboundReference.get(test)
      unboundReference.set(test, 'Hello to you!')
      
      // retrieving meta information
      println boundReference.type
      println boundReference.name
      println boundReference.target
      
      

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            Yesterdave David Kron

            Dates

              Created:
              Updated:

              Slack

                Issue deployment