Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 8f20c7c

Browse files
committed
Sharedに移植のため削除
1 parent cb4ede1 commit 8f20c7c

File tree

3 files changed

+2
-103
lines changed

3 files changed

+2
-103
lines changed

src/main/kotlin/com/mapk/annotations/KConstructor.kt

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/kotlin/com/mapk/kmapper/KMapper.kt

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
package com.mapk.kmapper
22

3-
import com.mapk.annotations.KConstructor
43
import com.mapk.annotations.KGetterAlias
54
import com.mapk.annotations.KGetterIgnore
65
import com.mapk.core.ArgumentBucket
76
import com.mapk.core.EnumMapper
87
import com.mapk.core.KFunctionForCall
98
import com.mapk.core.getAliasOrName
9+
import com.mapk.core.toKConstructor
1010
import java.lang.reflect.Method
1111
import kotlin.reflect.KClass
1212
import kotlin.reflect.KFunction
1313
import kotlin.reflect.KParameter
1414
import kotlin.reflect.KVisibility
15-
import kotlin.reflect.full.companionObjectInstance
16-
import kotlin.reflect.full.functions
1715
import kotlin.reflect.full.isSuperclassOf
1816
import kotlin.reflect.full.memberProperties
19-
import kotlin.reflect.full.primaryConstructor
2017
import kotlin.reflect.jvm.javaGetter
2118

2219
class KMapper<T : Any> private constructor(
@@ -28,7 +25,7 @@ class KMapper<T : Any> private constructor(
2825
)
2926

3027
constructor(clazz: KClass<T>, propertyNameConverter: (String) -> String = { it }) : this(
31-
getTarget(clazz), propertyNameConverter
28+
clazz.toKConstructor(), propertyNameConverter
3229
)
3330

3431
private val parameterMap: Map<String, ParameterForMap<*>> = function.parameters
@@ -113,29 +110,6 @@ class KMapper<T : Any> private constructor(
113110
}
114111
}
115112

116-
@Suppress("UNCHECKED_CAST")
117-
internal fun <T : Any> getTarget(clazz: KClass<T>): KFunctionForCall<T> {
118-
val factoryConstructor: List<KFunctionForCall<T>> =
119-
clazz.companionObjectInstance?.let { companionObject ->
120-
companionObject::class.functions
121-
.filter { it.annotations.any { annotation -> annotation is KConstructor } }
122-
.map { KFunctionForCall(
123-
it,
124-
companionObject
125-
) as KFunctionForCall<T> }
126-
} ?: emptyList()
127-
128-
val constructors: List<KFunctionForCall<T>> = factoryConstructor + clazz.constructors
129-
.filter { it.annotations.any { annotation -> annotation is KConstructor } }
130-
.map { KFunctionForCall(it) }
131-
132-
if (constructors.size == 1) return constructors.single()
133-
134-
if (constructors.isEmpty()) return KFunctionForCall(clazz.primaryConstructor!!)
135-
136-
throw IllegalArgumentException("Find multiple target.")
137-
}
138-
139113
private fun <T : Any, R : Any> mapObject(param: ParameterForMap<R>, value: T): Any? {
140114
val valueClazz: KClass<*> = value::class
141115

src/test/kotlin/com/mapk/kmapper/GetTargetTest.kt

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)