Skip to content

Commit 65e822a

Browse files
committed
fix: Fix generation of optional casts in binding_generator.
1 parent 945a905 commit 65e822a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

tools/binding_generator/lib/src/common_helpers.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,15 @@ void writeReturnRead(ArgumentProxy returnType, CodeSink o) {
8282
o.p('return retPtr.value;');
8383
break;
8484
case TypeCategory.engineClass:
85+
final question = returnType.isOptional ? '?' : '';
8586
if (returnType.isRefCounted) {
86-
final question = returnType.isOptional ? '?' : '';
8787
o.p('final realObj = gde.ffiBindings.gde_ref_get_object(retPtr.cast());');
8888
o.p('final retVal = gde.dartBindings.gdObjectToDartObject(realObj.cast()) as ${returnType.rawDartType}$question;');
8989
// Need to unreference the Ref<T> as its destructor is never called
9090
o.p('retVal$question.unreference();');
9191
o.p('return retVal;');
9292
} else {
93-
o.p('return gde.dartBindings.gdObjectToDartObject(retPtr.value) as ${returnType.rawDartType};');
93+
o.p('return gde.dartBindings.gdObjectToDartObject(retPtr.value) as ${returnType.rawDartType}$question;');
9494
}
9595
break;
9696
case TypeCategory.builtinClass:

0 commit comments

Comments
 (0)