Skip to content

Commit a2b586b

Browse files
committed
Fix API generation
1 parent 0429525 commit a2b586b

File tree

4 files changed

+12
-16
lines changed

4 files changed

+12
-16
lines changed

kt/api-generator/src/main/kotlin/godot/codegen/extensions/TypedExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ const val bitfieldPrefix = "bitfield::"
5151

5252
fun TypedTrait.isCoreType() = isTypedArray() || GodotTypes.coreTypes.find { s -> s == this.type } != null
5353
fun TypedTrait.isPrimitive() = GodotTypes.primitives.find { s -> s == this.type } != null
54-
fun TypedTrait.isCoreTypeReimplementedInKotlin() = GodotTypes.coreTypesReimplementedInKotlin.find { s ->
54+
fun TypedTrait.isLocalCopyCoreTypes() = GodotTypes.localCopyCoreTypes.find { s ->
5555
s == this.type
5656
} != null
5757
fun TypedTrait.isEnum() = type?.startsWith(enumPrefix) ?: false

kt/api-generator/src/main/kotlin/godot/codegen/services/impl/GenerationService.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import godot.codegen.extensions.applyJvmNameIfNecessary
2525
import godot.codegen.extensions.getDefaultValueKotlinString
2626
import godot.codegen.extensions.getTypeClassName
2727
import godot.codegen.extensions.isBitField
28-
import godot.codegen.extensions.isCoreTypeReimplementedInKotlin
2928
import godot.codegen.extensions.isEnum
29+
import godot.codegen.extensions.isLocalCopyCoreTypes
3030
import godot.codegen.extensions.jvmVariantTypeValue
3131
import godot.codegen.models.custom.AdditionalImport
3232
import godot.codegen.models.enriched.EnrichedClass
@@ -167,7 +167,7 @@ class GenerationService(
167167
for (property in enrichedClass.properties) {
168168
val propertySpec = generateProperty(enrichedClass, property) ?: continue
169169
classTypeBuilder.addProperty(propertySpec)
170-
if (property.hasValidSetterInClass && property.isCoreTypeReimplementedInKotlin()) {
170+
if (property.hasValidSetterInClass && property.isLocalCopyCoreTypes()) {
171171
classTypeBuilder.addFunction(generateCoreTypeHelper(enrichedClass, property))
172172
}
173173
}
@@ -505,7 +505,7 @@ class GenerationService(
505505
)
506506
}
507507

508-
if (property.isCoreTypeReimplementedInKotlin()) {
508+
if (property.isLocalCopyCoreTypes()) {
509509
propertySpecBuilder.addAnnotation(CORE_TYPE_LOCAL_COPY)
510510
}
511511

@@ -519,7 +519,6 @@ class GenerationService(
519519
val parameterName = property.name
520520
val propertyFunSpec = FunSpec.builder("${parameterName}Mutate").addModifiers(KModifier.FINAL)
521521

522-
523522
return propertyFunSpec
524523
.addParameter(
525524
ParameterSpec.builder(

kt/godot-library/src/main/kotlin/godot/core/bridge/RID.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,24 @@
22

33
package godot.core
44

5-
@Suppress("MemberVisibilityCanBePrivate")
6-
class RID : Comparable<RID> {
7-
5+
class RID(
86
/**
97
* Returns the ID of the referenced low-level resource.
108
*/
119
val id: Long
10+
) : Comparable<RID> {
11+
1212

1313
//CONSTRUCTOR
1414
/**
1515
* Constructs an empty RID with the invalid ID 0.
1616
*/
17-
constructor(id: Long) {
18-
this.id = id
19-
}
17+
constructor(): this(0L)
2018

2119
/**
2220
* Constructs a RID as a copy of the given RID.
2321
*/
24-
constructor(from: RID) {
25-
this.id = from.id
26-
}
22+
constructor(from: RID): this(from.id)
2723

2824
//API
2925
/**

kt/tools-common/src/main/kotlin/godot/tools/common/constants/Classes.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ object GodotTypes {
161161
variant
162162
)
163163

164-
val coreTypesReimplementedInKotlin = listOf(
164+
// We don't include RID because this core type can't be modified anyway and is a simple wrapper around Long.
165+
val localCopyCoreTypes = listOf(
165166
aabb,
166167
basis,
167168
color,
@@ -177,7 +178,7 @@ object GodotTypes {
177178
vector3i,
178179
vector4,
179180
vector4i,
180-
projection
181+
projection,
181182
)
182183

183184
val primitives = listOf(

0 commit comments

Comments
 (0)