<lambda>null1package shark 2 3 class ProguardMappingHelper( 4 private val proguardMapping: ProguardMapping 5 ) { 6 fun clazz( 7 className: Pair<String, String>, 8 fieldsBlock: Class.() -> Unit = {} 9 ) { 10 val clazz = Class(className) 11 fieldsBlock(clazz) 12 proguardMapping.addMapping(clazz.nameMapping.second, clazz.nameMapping.first) 13 clazz.fieldMappings.forEach { field -> 14 proguardMapping.addMapping("${clazz.nameMapping.second}.${field.second}", field.first) 15 } 16 } 17 18 inner class Class(val nameMapping: Pair<String, String>) { 19 val fieldMappings = mutableSetOf<Pair<String, String>>() 20 } 21 22 fun Class.field(block: () -> Pair<String, String>) { 23 fieldMappings.add(block()) 24 } 25 } 26 createnull27fun ProguardMapping.create(block: ProguardMappingHelper.() -> Unit): ProguardMapping { 28 block(ProguardMappingHelper(this)) 29 return this 30 }