Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-60636

Using method pointers results in warning

    Details

    • Similar Issues:

      Description

      When invoking a closure created from a method pointer, the following warning is printed in the log:

      expected to call org.codehaus.groovy.runtime.MethodClosure.call but wound up catching my.method; see:
      https://jenkins.io/redirect/pipeline-cps-method-mismatches/ 

      The code works correctly, but produces this warning:

      def method() {
        // do stuff
      }
      def runIt(Closure closure) {
        closure.call()
      }
      runIt(this.&method)

      The workaround gets rid of the warning:

      def method() {
        // do stuff
      }
      def runIt(Closure closure) {
        closure.call()
      }
      runIt({ method() }) 

      I would prefer to not have to create this extra closure.

      My situation is a little more complex than this as the method is from another vars script, but it should be the same situation.

       

        Attachments

          Issue Links

            Activity

            Hide
            brucebrouwer Bruce Brouwer added a comment -

            Sorry, didn't see the previous issue in my search. 

            Show
            brucebrouwer Bruce Brouwer added a comment - Sorry, didn't see the previous issue in my search. 

              People

              • Assignee:
                Unassigned
                Reporter:
                brucebrouwer Bruce Brouwer
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: