首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin多平台预期注释返回‘这个类没有一个带有neo4j实际类型的构造器’

Kotlin多平台预期注释返回‘这个类没有一个带有neo4j实际类型的构造器’
EN

Stack Overflow用户
提问于 2019-01-10 08:20:48
回答 2查看 1.1K关注 0票数 4

我有一个带有模态类的多平台项目,用户。

User.kt

代码语言:javascript
复制
class User {
    val id = -1
    val username = ""
    val age = -1
    val nickname = ""
}

我还期望和实际的注释。

Annotation.kt公共模块

代码语言:javascript
复制
expect annotation class NodeEntity
expect annotation class Id
expect annotation class GeneratedValue

更重要的是,我有它们的实际实现。

Annotation.kt JVM模块

代码语言:javascript
复制
actual typealias ValueFor = org.neo4j.ogm.annotation.ValueFor

actual typealias NodeEntity = org.neo4j.ogm.annotation.NodeEntity

actual typealias Id = org.neo4j.ogm.annotation.Id

actual typealias GeneratedValue = org.neo4j.ogm.annotation.GeneratedValue

actual typealias Relationship = org.neo4j.ogm.annotation.Relationship

然后我回去注释我的User.kt

代码语言:javascript
复制
@NodeEntity
class User {
    @Id
    @GeneratedValue
    val id = -1
    val username = ""
    val age = -1
    val nickname = ""
}

但是当我编译它时,我会得到这个错误。

代码语言:javascript
复制
Task :compileKotlinJvm FAILED
e: ...User.kt: (13, 2): This class does not have a constructor
e: ...User.kt: (21, 6): This class does not have a constructor
e: ...User.kt: (22, 6): This class does not have a constructor

我做错什么了?

N:B.所做的尝试

  • 使预期的注释没有构造函数成功。
  • 使预期的注释与构造函数错误匹配:参数‘{0}’在预期注释和实际注释中有冲突的值

FYI:我的build.gradle已经有了noArg,所以User.kt类是用一个无参数的公共构造函数编译的

EN

Stack Overflow用户

发布于 2019-01-10 14:05:55

您的expect注释可能需要显式括号。

代码语言:javascript
复制
expect annotation class SharedImmutable()
代码语言:javascript
复制
actual typealias SharedImmutable = kotlin.native.SharedImmutable

https://github.com/touchlab/Stately/blob/4b17057ad5d55f51f4ccf971cf79e51585ad2324/src/commonMain/kotlin/co/touchlab/stately/annotation/Annotations.kt#L26

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54124454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档