- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想生成这样的代码:
class B private constructor() : A {
companion object {
val instance: B by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {
B()
}
}
}
private fun genCompanionObject() = TypeSpec.companionObjectBuilder()
.addProperty(PropertySpec.builder("instance", A::class.java).build()).build()
by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED)
?我在
document 中找不到一些有用的 API .
最佳答案
您正在寻找 PropertySpec.Builder.delegate
方法。您提供 CodeBlock
表示代表委托(delegate)的初始化程序。
专门针对您想要的代码:
.delegate(CodeBlock.builder()
.beginControlFlow("lazy(mode = %T.SYNCHRONIZED)", LazyThreadSafetyMode::class.asTypeName())
.add("B()") // Or however you want to implement this
.endControlFlow()
.build())
关于kotlin - 如何使用 KotlinPoet 生成 `by lazy`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51132110/
我卡在了这个特性上,下面是预期生成的代码,参数总数不是固定的,可能有 2 个,或者 3 个或更多。 val 实例:InstanceType = Instance(parameter1, paramet
我正在使用以下代码生成与 KotlinPoet 的接口(interface) val funspec = FunSpec.builder("test").build() val interfacesp
我是 KotlinPoet 的新手,我找不到如何创建以下 Koin 模块语句: internal val apiModules = module { single { get().create
我正在使用以下代码生成与 KotlinPoet 的接口(interface) val funspec = FunSpec.builder("test").build() val interfacesp
我想用 KotlinPoet 生成简单的数据类: data class User(val id: Int) 我就是这样做的: val builder = KotlinFile.builder("",
我想生成这样的代码: class B private constructor() : A { companion object { val instance: B by laz
我是使用 kotlinpoet 的新手,我一直在阅读文档,它似乎是一个很棒的库,但我找不到解决我问题的示例。 我有一个依赖 lib-domain-0.1.jar我在其中有业务对象,例如: packag
我想生成一个kotlin类定义,这个类实现了自定义接口(interface),目标类定义如下: data class TemplateState(val data: String) : Contrac
使用 KotlinPoet,为了生成用于向类和构造函数添加属性的 PropertySpec,您需要一个 TypeName 对象。 TypeMirror.asTypeName() KotlinPoet
给定一个界面 interface Builder { fun build() : R } 我如何生成使用 kotlinpoet 实现此接口(interface)的类 BooBuilder。 我
直截了当;有没有办法从字符串生成有效的 Kotlin 字符串文字(非原始,如非三重引号);我目前正在尝试使用 KotlinPoet 来完成此操作. 为了清楚起见,示例输入: Hello, how ar
我正在尝试添加此third party在我的项目中,这个第三方使用 kotlinpoet 的注释处理来生成分析类,用于在 firebase 或任何分析工具上记录用户事件,但我遇到了这个问题 e: [k
我是一名优秀的程序员,十分优秀!