Uploaded image for project: 'SR Platform'
  1. SR Platform
  2. SRPLAT-2027

Inner class in Script Editor causes autocomplete to fail and errors output in server log

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Done
    • Low
    • Resolution: Done
    • 6.56.0, 6.58.0
    • 7.0.0
    • Script Editor
    • SR4J Sprint 132 (7.02)
    • 1

    Description

      Importing class with inner class in Console cause autocomplete to fail and errors output in server.

      Steps to Reproduce

      1. Define a class with inner class in Script Editor:

      class ClassA {
          class ClassB {}
      }

      2. Attempt to trigger autocomplete fails in Console:

      import com.atlassian.jira.component.ComponentAccessor
      import ClassA
      
      def issue = Co

      3. Errors are output in atlassian-jira.log:

      2022-09-06 21:07:09,520+0000 http-nio-8080-exec-322 ERROR mlim 1267x9940x1 wlwodc 172.18.0.1,172.18.0.6 /rest/scriptrunner/latest/codeinsight/completions [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: BUG! exception in phase 'conversion' in source unit 'Script947.groovy' The lookup for ClassA caused a failed compilation. There should not have been any compilation from this call.
      BUG! exception in phase 'conversion' in source unit 'Script947.groovy' The lookup for ClassA caused a failed compilation. There should not have been any compilation from this call.
      	at org.codehaus.groovy.control.ClassNodeResolver.findByClassLoading(ClassNodeResolver.java:214)
      	at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:198)
      	at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java)
      // More stack traces
      General error during instruction selection: Cannot cast object 'org.codehaus.groovy.ast.expr.TupleExpression@d9f41[]' with class 'org.codehaus.groovy.ast.expr.TupleExpression' to class 'org.codehaus.groovy.ast.expr.ArgumentListExpression'
      org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'org.codehaus.groovy.ast.expr.TupleExpression@d9f41[]' with class 'org.codehaus.groovy.ast.expr.TupleExpression' to class 'org.codehaus.groovy.ast.expr.ArgumentListExpression'
      	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:415)
      	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:329)
      	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:243)
      // More stack traces
      

       

      Expected Behaviour

      Autocomplete works as expected, no error output in server logs.

      Actual Behaviour

      Autocomplete fails, error output in server logs.

      Attachments

        Activity

          People

            jechlin Jamie Echlin
            mlim Max Lim
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: