init research
This commit is contained in:
+50
@@ -0,0 +1,50 @@
|
||||
import org.jetbrains.kotlinx.dataframe.*
|
||||
import org.jetbrains.kotlinx.dataframe.annotations.*
|
||||
import org.jetbrains.kotlinx.dataframe.api.*
|
||||
import org.jetbrains.kotlinx.dataframe.io.*
|
||||
|
||||
@DataSchema
|
||||
class Bridge(val type: Type,
|
||||
val approximation: String,
|
||||
val converter: String,
|
||||
val lens: String,
|
||||
val supported: Boolean = false) : DataRowSchema
|
||||
|
||||
@DataSchema
|
||||
data class Type(val name: String, val vararg: Boolean)
|
||||
|
||||
@DataSchema
|
||||
class Parameter(
|
||||
val name: String,
|
||||
val returnType: Type,
|
||||
val defaultValue: String?,
|
||||
) : DataRowSchema
|
||||
|
||||
@DataSchema
|
||||
class Function(
|
||||
val receiverType: String,
|
||||
val function: String,
|
||||
val functionReturnType: Type,
|
||||
val parameters: List<Parameter>
|
||||
) : DataRowSchema {
|
||||
}
|
||||
|
||||
|
||||
@DataSchema
|
||||
class RefinedFunction(
|
||||
val receiverType: String,
|
||||
val function: String,
|
||||
val functionReturnType: Type,
|
||||
val parameters: List<Parameter>,
|
||||
val startingSchema: Parameter
|
||||
) : DataRowSchema
|
||||
|
||||
fun DataFrame<Function>.refine(bridges: DataFrame<Bridge>) {
|
||||
val functions = this
|
||||
val df1 = functions.join(bridges) {
|
||||
functions.functionReturnType.name.match(right.type.name)
|
||||
}
|
||||
val col: DataColumn<DataFrame<*>> = df1.parameters
|
||||
}
|
||||
|
||||
fun box(): String = "OK"
|
||||
Reference in New Issue
Block a user