Reified generics for lists
This commit is contained in:
parent
0879e5e7a9
commit
404c3dd6d1
@ -29,7 +29,7 @@ data class MaterialModifier(
|
||||
.plain(MaterialModifier::health)
|
||||
.plain(MaterialModifier::harvestLevel)
|
||||
.plain(MaterialModifier::breaksWithTile)
|
||||
.list(MaterialModifier::miningSounds, String::class)
|
||||
.list(MaterialModifier::miningSounds)
|
||||
.plain(MaterialModifier::miningParticle)
|
||||
.plain(MaterialModifier::renderTemplate, RenderTemplate.CACHE)
|
||||
.plain(MaterialModifier::renderParameters)
|
||||
|
@ -113,7 +113,7 @@ data class RenderRuleList(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderRuleList::class)
|
||||
.list(RenderRuleList::entries, Entry::class)
|
||||
.list(RenderRuleList::entries)
|
||||
.plain(RenderRuleList::join)
|
||||
.build()
|
||||
}
|
||||
@ -200,10 +200,10 @@ data class RenderMatch(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderMatch::class)
|
||||
.list(RenderMatch::pieces, Piece::class)
|
||||
.list(RenderMatch::matchAllPoints, Matcher::class)
|
||||
.list(RenderMatch::matchAnyPoints, Matcher::class)
|
||||
.list(RenderMatch::subMatches, RenderMatch::class)
|
||||
.list(RenderMatch::pieces)
|
||||
.list(RenderMatch::matchAllPoints)
|
||||
.list(RenderMatch::matchAnyPoints)
|
||||
.list(RenderMatch::subMatches)
|
||||
.plain(RenderMatch::haltOnMatch)
|
||||
.plain(RenderMatch::haltOnSubMatch)
|
||||
.build()
|
||||
@ -233,7 +233,7 @@ data class RenderMatchList(
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderMatchList::class)
|
||||
.plain(RenderMatchList::name)
|
||||
.list(RenderMatchList::list, RenderMatch::class)
|
||||
.list(RenderMatchList::list)
|
||||
.build(asList = true)
|
||||
}
|
||||
}
|
||||
|
@ -475,8 +475,8 @@ class KConcreteTypeAdapter<T : Any>(
|
||||
*
|
||||
* Список неизменяем (создаётся объект [ImmutableList])
|
||||
*/
|
||||
fun <V : Any> list(field: KProperty1<T, List<V>?>, type: KClass<V>): Builder<T> {
|
||||
return this.list(field, type.java)
|
||||
inline fun <reified V : Any> list(field: KProperty1<T, List<V>?>): Builder<T> {
|
||||
return this.list(field, V::class.java)
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user