[
https://issues.apache.org/jira/browse/GROOVY-9707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188953#comment-17188953
]
Radoslav Ivanov commented on GROOVY-9707:
-----------------------------------------
Please find an example, which is reproducing the problem, and let me know what
is wrong:
{code:java}
import groovy.lang.GroovyClassLoader;
import groovy.transform.CompileStatic;
import org.codehaus.groovy.control.CompilerConfiguration;
import org.codehaus.groovy.control.customizers.ASTTransformationCustomizer;
import java.util.Arrays;
public class NoSuchMethod {
public static void main(String[] args) throws Exception {
String script = "@groovy.transform.TypeChecked\n" +
"class NoSuchMethodTest {\n" +
" void invoke() {\n" +
" \" a \" + \" b \"\n" +
" }\n" +
"}";
CompilerConfiguration confiuration = new CompilerConfiguration();
confiuration.addCompilationCustomizers(new
ASTTransformationCustomizer(CompileStatic.class));
GroovyClassLoader groovyClassLoader = new
GroovyClassLoader(Thread.currentThread().getContextClassLoader(), confiuration);
Class scriptClass = groovyClassLoader.parseClass(script);
Object scriptObject = scriptClass.getConstructor().newInstance();
Arrays.stream(scriptClass.getMethods())
.filter(m -> "invoke".equals(m.getName()))
.findFirst()
.get()
.invoke(scriptObject, null);
}
}
{code}
> TypeChecked: NoSuchMethodError: DefaultGroovyMethods.plus(java.lang.String,
> java.lang.Object)
> ---------------------------------------------------------------------------------------------
>
> Key: GROOVY-9707
> URL: https://issues.apache.org/jira/browse/GROOVY-9707
> Project: Groovy
> Issue Type: Bug
> Components: groovy-runtime
> Affects Versions: 3.0.5
> Reporter: Radoslav Ivanov
> Priority: Major
>
> Looking for advice around resolving a problem after upgrading Groovy from
> 2.5.9 to 3.0.5.
> Most of the @TypeChecked scripts start hitting NoSuchMethodError when
> concatenating two strings ("a" + "b"), which is resolved if @TypeChecked is
> removed... The removed method's deprecation java doc (in 2.4.7) says to "Use
> the CharSequence version"...
> {code:java}
> java.lang.NoSuchMethodError: 'java.lang.String
> org.codehaus.groovy.runtime.DefaultGroovyMethods.plus(java.lang.String,
> java.lang.Object){code}
> May be I am missing something.. any advice will be appreciated...
--
This message was sent by Atlassian Jira
(v8.3.4#803005)