ebean-orm / ebean-agent

Enhancer Agent for EbeanORM
Apache License 2.0
12 stars 13 forks source link

Kotlin KAPT with Gradle can throw NPE in EnhanceContext.isQueryBean(EnhanceContext.java:150) #135

Closed rbygrave closed 4 years ago

rbygrave commented 4 years ago
> Task :compileKotlin
java.lang.NullPointerException
        at io.ebean.enhance.common.EnhanceContext.isQueryBean(EnhanceContext.java:150)
        at io.ebean.enhance.querybean.MethodAdapter.isQueryBean(MethodAdapter.java:49)
        at io.ebean.enhance.querybean.MethodAdapter.visitFieldInsn(MethodAdapter.java:54)
        at io.ebean.enhance.asm.ClassReader.readCode(ClassReader.java:2210)
        at io.ebean.enhance.asm.ClassReader.readMethod(ClassReader.java:1283)
        at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:688)
        at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:400)
        at io.ebean.enhance.Transformer.enhanceQueryBean(Transformer.java:343)
        at io.ebean.enhance.Transformer.transform(Transformer.java:186)
        at java_lang_instrument_ClassFileTransformer$transform$0.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at io.ebean.gradle.EbeanEnhancer$_enhanceClassFile_closure2.doCall(EbeanEnhancer.groovy:90)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:411)
        at groovy.lang.Closure.call(Closure.java:427)
        at org.codehaus.groovy.runtime.IOGroovyMethods.withStream(IOGroovyMethods.java:1191)
        at org.codehaus.groovy.runtime.ResourceGroovyMethods.withInputStream(ResourceGroovyMethods.java:1878)
        at org.codehaus.groovy.runtime.dgm$1072.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:246)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:55)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at io.ebean.gradle.EbeanEnhancer.enhanceClassFile(EbeanEnhancer.groovy:82)