Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.5.5
-
None
-
None
Description
Let’s say I have the following class:
@ToString(includes = 'someId') @CompileStatic @AutoClone class SomeClass { String someId }
When I call clone, I get the following exception:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.some.package.SomeClass(null)' with class 'com.some.package.SomeClass' to class 'java.lang.StringBuilder'
When I look at the decompiled .class file in Intellij, I see the following clone method has been generated:
@Generated public SomeClass clone() throws CloneNotSupportedException { StringBuilder _result = (StringBuilder)ScriptBytecodeAdapter.castToType((SomeClass)ScriptBytecodeAdapter.castToType(super.clone(), SomeClass.class), StringBuilder.class); return (SomeClass)ScriptBytecodeAdapter.castToType(_result, SomeClass.class); }
The issue is not reproducible if I remove the @ToString on the class.
Attachments
Issue Links
- links to