[jira] [Commented] (GROOVY-8875) NullObject.metaClass

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (GROOVY-8875) NullObject.metaClass

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/GROOVY-8875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16690666#comment-16690666 ]

Pruteanu Dragos commented on GROOVY-8875:
-----------------------------------------

Below a stack trace with Java 11 on Ubuntu. Is any other alternative to tell Groovy not to print NULL on null objects in templates (and just empty string) ?

 

07:38:03 BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' null
  at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:972)
  at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:633)
  at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:582)
  at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:354)
  at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:87)
  at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:323)
  at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:320)
  at org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:162)
  at org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:153)
  at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:318)
  at groovy.lang.GroovyShell.parseClass(GroovyShell.java:547)
  at groovy.lang.GroovyShell.parse(GroovyShell.java:559)
  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:443)
  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:482)
  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:453)
  at com.wisecoders.dbs.rdbms.sync.engine.diffs.SimpleStatement.toString(SimpleStatement.java:70)

> NullObject.metaClass
> --------------------
>
>                 Key: GROOVY-8875
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8875
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Pruteanu Dragos
>            Priority: Major
>             Fix For: 3.x
>
>
> Hi,
> I execute this. The third shell.evaluate throws an exception:
> {code}
> final GroovyShell shell = new GroovyShell( binding, FormsGroovyConfiguration.CONFIG );
> // THIS WILL FORCE NULL VARIABLES TO PRINT AS '' INSTEAD OF NULL
> // http://stackoverflow.com/questions/10517817/how-to-get-rid-of-null-when-concating-string-in-groovy
> shell.evaluate("org.codehaus.groovy.runtime.NullObject.metaClass.toString = { return '' }");
> {code}
> And got the next exception. This used to work in Java 10 and before, it crashes under Java 11. Could have something to do with java modules ?
> {noformat}
> Exception in thread "JavaFX Application Thread" BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' null
>  at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:970)
>  at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:633)
>  at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:582)
>  at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:324)
>  at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:294)
>  at groovy.lang.GroovyShell.parseClass(GroovyShell.java:558)
>  at groovy.lang.GroovyShell.parse(GroovyShell.java:570)
>  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:454)
>  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:493)
>  at groovy.lang.GroovyShell.evaluate(GroovyShell.java:464)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)