diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DatabaseType.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DatabaseType.kt index 925fd7f..9c5124c 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DatabaseType.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DatabaseType.kt @@ -7,7 +7,7 @@ public interface DatabaseType<@Suppress("unused") RUNTIME_TYPE : Any?> { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - key: DriverMetainfo, type: DATABASE_TYPE + key: Driver, type: DATABASE_TYPE ) where DATABASE_TYPE_UNBOUND : DatabaseType<*>, DATABASE_TYPE : DatabaseType, DATABASE_TYPE : DATABASE_TYPE_UNBOUND diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/Driver.kt similarity index 50% rename from src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt rename to src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/Driver.kt index 939b64e..e8191e2 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/DriverMetainfo.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/Driver.kt @@ -2,7 +2,7 @@ package ru.landgrafhomyak.db.skeleton1.api import ru.landgrafhomyak.db.skeleton1.api.statement.RawStatement -public interface DriverMetainfo< +public interface Driver< @Suppress("unused") DATABASE_TYPE : DatabaseType<*>, @Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_VOID : RawStatement.Void2Void.Constructor<*>, @Suppress("unused") STATEMENT_CONSTRUCTOR__VOID_2_ROW : RawStatement.Void2Row.Constructor<*>, @@ -16,4 +16,15 @@ public interface DriverMetainfo< > { @ReflectionApi public fun isImplements(version: ApiVersion): Boolean + + public fun assertImplemented_databaseType(ip: DatabaseType.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_void2void(ip: RawStatement.Void2Void.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_void2row(ip: RawStatement.Void2Row.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_void2rowOrNull(ip: RawStatement.Void2RowOrNull.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_void2table(ip: RawStatement.Void2Table.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_params2void(ip: RawStatement.Params2Void.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_params2row(ip: RawStatement.Params2Row.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_params2rowOrNull(ip: RawStatement.Params2RowOrNull.ImplementationsProvider<*>) + public fun assertImplemented_rawStatement_params2table(ip: RawStatement.Params2Table.ImplementationsProvider<*>) + public fun assertImplemented_objectOperations(ip: ObjectOperations.ImplementationsProvider) } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ObjectOperations.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ObjectOperations.kt index 5ba1e03..f4c6358 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ObjectOperations.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/ObjectOperations.kt @@ -7,7 +7,7 @@ public interface ObjectOperations<@Suppress("unused") UE : Any?> { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - key: DriverMetainfo<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS + key: Driver<*, *, *, *, *, *, *, *, *, OPERATIONS_UNBOUND>, type: OPERATIONS ) where OPERATIONS_UNBOUND : ObjectOperations<*>, OPERATIONS : ObjectOperations, OPERATIONS : OPERATIONS_UNBOUND diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/RawStatement.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/RawStatement.kt index 22c215e..b2c0eaf 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/RawStatement.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/skeleton1/api/statement/RawStatement.kt @@ -1,6 +1,6 @@ package ru.landgrafhomyak.db.skeleton1.api.statement -import ru.landgrafhomyak.db.skeleton1.api.DriverMetainfo +import ru.landgrafhomyak.db.skeleton1.api.Driver public interface RawStatement : _Statement { public override val uExt: sUE @@ -16,7 +16,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>, + driver: Driver<*, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -38,7 +38,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>, + driver: Driver<*, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -60,7 +60,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>, + driver: Driver<*, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -83,7 +83,7 @@ public interface RawStatement : _Statement { public interface Selector { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>, + driver: Driver<*, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -105,7 +105,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>, + driver: Driver<*, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -127,7 +127,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>, + driver: Driver<*, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -149,7 +149,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>, + driver: Driver<*, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor, @@ -171,7 +171,7 @@ public interface RawStatement : _Statement { public interface Scope { @Suppress("ERROR_SUPPRESSION", "BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER", "INCONSISTENT_TYPE_PARAMETER_BOUNDS") public fun addImplementation( - driverMetainfo: DriverMetainfo<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>, + driver: Driver<*, *, *, *, *, *, *, *, STATEMENT_CONSTRUCTOR_UNBOUND, *>, constructor: STATEMENT_CONSTRUCTOR ) where STATEMENT_CONSTRUCTOR_UNBOUND : Constructor<*>, STATEMENT_CONSTRUCTOR : Constructor,