Skip to content

Instantly share code, notes, and snippets.

@lukashaertel
Created August 31, 2017 14:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukashaertel/9f7fe51283c8aa9494337cb20449d423 to your computer and use it in GitHub Desktop.
Save lukashaertel/9f7fe51283c8aa9494337cb20449d423 to your computer and use it in GitHub Desktop.
Generated code of one of the funnelers.
package eu.metatools.kfunnels.tests
import eu.metatools.kfunnels.*
/**
* Funnels and unfunnels Another.
*/
object AnotherFunneler : GeneratedFunneler<Another> {
override val module = eu.metatools.kfunnels.tests.TestsModule
override val type = Another::class
override fun read(module: Module, type: Type, source: Source)
: Another = source.markAround(type) {
val eu_metatools_kfunnels_tests_Thing_type = Type(eu.metatools.kfunnels.tests.Thing::class, false, listOf())
val eu_metatools_kfunnels_tests_Thing = module.resolve<eu.metatools.kfunnels.tests.Thing>(eu_metatools_kfunnels_tests_Thing_type)
val entry0 = source.getTerminalNested(module, eu_metatools_kfunnels_tests_Thing, "i", eu_metatools_kfunnels_tests_Thing_type)
val entry1 = source.getDynamicNested<eu.metatools.kfunnels.tests.Some>(module, "s", Type(eu.metatools.kfunnels.tests.Some::class, false, listOf()))
val result = Another(entry0, entry1)
result
}
override suspend fun read(module: Module, type: Type, source: SuspendSource)
: Another = source.markAround(type) {
val eu_metatools_kfunnels_tests_Thing_type = Type(eu.metatools.kfunnels.tests.Thing::class, false, listOf())
val eu_metatools_kfunnels_tests_Thing = module.resolve<eu.metatools.kfunnels.tests.Thing>(eu_metatools_kfunnels_tests_Thing_type)
val entry0 = source.getTerminalNested(module, eu_metatools_kfunnels_tests_Thing, "i", eu_metatools_kfunnels_tests_Thing_type)
val entry1 = source.getDynamicNested<eu.metatools.kfunnels.tests.Some>(module, "s", Type(eu.metatools.kfunnels.tests.Some::class, false, listOf()))
val result = Another(entry0, entry1)
result
}
override fun write(module: Module, type: Type, sink: Sink, item: Another)
= sink.markAround(type) {
val eu_metatools_kfunnels_tests_Thing_type = Type(eu.metatools.kfunnels.tests.Thing::class, false, listOf())
val eu_metatools_kfunnels_tests_Thing = module.resolve<eu.metatools.kfunnels.tests.Thing>(eu_metatools_kfunnels_tests_Thing_type)
sink.putTerminalNested(module, eu_metatools_kfunnels_tests_Thing, "i", eu_metatools_kfunnels_tests_Thing_type, item.i)
sink.putDynamicNested(module, "s", Type(eu.metatools.kfunnels.tests.Some::class, false, listOf()), item.s)
}
override suspend fun write(module: Module, type: Type, sink: SuspendSink, item: Another)
= sink.markAround(type) {
val eu_metatools_kfunnels_tests_Thing_type = Type(eu.metatools.kfunnels.tests.Thing::class, false, listOf())
val eu_metatools_kfunnels_tests_Thing = module.resolve<eu.metatools.kfunnels.tests.Thing>(eu_metatools_kfunnels_tests_Thing_type)
sink.putTerminalNested(module, eu_metatools_kfunnels_tests_Thing, "i", eu_metatools_kfunnels_tests_Thing_type, item.i)
sink.putDynamicNested(module, "s", Type(eu.metatools.kfunnels.tests.Some::class, false, listOf()), item.s)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment