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

Using method pointers results in warning

    XMLWordPrintable

    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 Unassigned
              Reporter:
              brucebrouwer Bruce Brouwer
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: