[
https://issues.apache.org/jira/browse/GROOVY-11304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17813085#comment-17813085
]
Paul King commented on GROOVY-11304:
------------------------------------
I don't know why but it seems the generated Closure under CompileStatic has a
generics array containing null:
!image-2024-02-01-17-51-02-281.png!
> The script running reports a null pointer.
> ------------------------------------------
>
> Key: GROOVY-11304
> URL: https://issues.apache.org/jira/browse/GROOVY-11304
> Project: Groovy
> Issue Type: Bug
> Components: Static compilation
> Affects Versions: 4.0.18
> Reporter: cong yang
> Priority: Major
> Attachments: image-2024-02-01-17-51-02-281.png
>
>
> code:
> {code:java}
> import groovy.transform.CompileStatic;
> import java.util.function.Function;
> import java.util.stream.Collectors;
> @CompileStatic
> class Main {
> static void main(String[] args) {
> List<String> list = ["aaaa", "bbbb", "aaa"];
> Map<String, Integer> map =
> list.stream().collect(Collectors.toMap(Function.identity(), k -> 1, { a, b ->
> a + b }));
> }
> }
> {code}
> error:
> {code:java}
> Exception in thread "main" java.lang.NullPointerException
> at com.sun.beans.TypeResolver.resolve(TypeResolver.java:203)
> at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
> at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:96)
> at
> java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:387)
> at java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:116)
> at java.beans.MethodDescriptor.<init>(MethodDescriptor.java:72)
> at java.beans.MethodDescriptor.<init>(MethodDescriptor.java:56)
> at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1205)
> at java.beans.Introspector.getBeanInfo(Introspector.java:426)
> at java.beans.Introspector.getBeanInfo(Introspector.java:173)
> at
> groovy.lang.MetaClassImpl.lambda$addProperties$25(MetaClassImpl.java:3466)
> at java.security.AccessController.doPrivileged(Native Method)
> at groovy.lang.MetaClassImpl.doPrivileged(MetaClassImpl.java:3519)
> at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3466)
> at groovy.lang.MetaClassImpl.reinitialize(MetaClassImpl.java:3448)
> at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3441)
> at
> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:272)
> at
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314)
> at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269)
> at
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:596)
> at
> groovy.lang.GroovyObjectSupport.getDefaultMetaClass(GroovyObjectSupport.java:46)
> at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
> at groovy.lang.Closure.<init>(Closure.java:215)
> at Main$_main_lambda1.<init>(Main.groovy)
> at Main.main(Main.groovy:8)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)