Skip to content

Commit

Permalink
Replace pad nulls with default values always
Browse files Browse the repository at this point in the history
  • Loading branch information
SomeRanDev committed Dec 1, 2023
1 parent 1137908 commit 0f7c094
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/gdcompiler/GDCompiler.hx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import gdcompiler.config.Meta;

using reflaxe.helpers.ArrayHelper;
using reflaxe.helpers.BaseTypeHelper;
using reflaxe.helpers.ClassFieldHelper;
using reflaxe.helpers.ModuleTypeHelper;
using reflaxe.helpers.NameMetaHelper;
using reflaxe.helpers.NullableMetaAccessHelper;
Expand Down Expand Up @@ -496,14 +497,24 @@ func _exit_tree():
final code = switch(e.expr) {
case TField(_, fa): {
switch(fa) {
case FEnum(_, ef): {
// enum field access
case FEnum(_, _): {
final enumCall = compileEnumFieldCall(e, el);
if(enumCall != null) enumCall;
else null;
}
// @:constructor static function
case FStatic(classTypeRef, _.get() => cf) if(cf.meta.maybeHas(":constructor")): {
newToGDScript(classTypeRef, expr, el);
}
// Replace pad nulls with default values
case FInstance(clsRef, _, cfRef) | FStatic(clsRef, cfRef): {
final funcData = cfRef.get().findFuncData(clsRef.get());
if(funcData != null) {
el = funcData.replacePadNullsWithDefaults(el, ":default_value", generateInjectionExpression);
}
null;
}
case _: null;
}
}
Expand Down

0 comments on commit 0f7c094

Please sign in to comment.