1: it compiles, but reports error while running in glassfish:
jaxrs.kt:
public trait RecordsWrapper<T> {
Expose var records:List<T>?
fun toJsonString(recordsJson:String):String
}
com.google.gson.annotations.Expose.java:
``
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD)
public @interface Expose { public boolean serialize() default true; public boolean deserialize() default true;
}
SEVERE: Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.ClassFormatError: Method records$annotations in class name/my/lib/jaxrs/RecordsWrapper has illegal modifiers: 0x101A
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:168)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
2: can not compile at all:
if the next two class are defined in the same project , it compiles. But if they are seperated into two maven projects , it can not compile.
[ERROR] java.lang.UnsupportedOperationException
at org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer.loadValueParameterAnnotations(AnnotationDescriptorDeserializer.java:463)
at org.jetbrains.jet.descriptors.serialization.DescriptorDeserializer.getAnnotations(DescriptorDeserializer.java:408)
at org.jetbrains.jet.descriptors.serialization.DescriptorDeserializer.valueParameter(DescriptorDeserializer.java:397)
at org.jetbrains.jet.descriptors.serialization.DescriptorDeserializer.valueParameters(DescriptorDeserializer.java:391)
at org.jetbrains.jet.descriptors.serialization.DescriptorDeserializer.loadFunction(DescriptorDeserializer.java:236)
at org.jetbrains.jet.descriptors.serialization.DescriptorDeserializer.loadCallable(DescriptorDeserializer.java:127)
Path("/rs/test{uriOptions:(:[^/]+?)?}/")
public open class OrgService() : AbstractEntityService<String>() {
override fun beanType() : Class<String> = javaClass<String>()
}
public abstract class AbstractEntityService<T:Any>() {
/**
* The root entity bean type.
*/
abstract fun beanType(): Class<T>