From 672300f28d1a5d3a0e7b657188d4c5d230c57e0f Mon Sep 17 00:00:00 2001 From: Gulvan Date: Wed, 10 Aug 2022 13:32:43 +0300 Subject: [PATCH 1/3] Update Macros.hx --- haxe/ui/macros/Macros.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haxe/ui/macros/Macros.hx b/haxe/ui/macros/Macros.hx index 7918a928b..d0551c972 100644 --- a/haxe/ui/macros/Macros.hx +++ b/haxe/ui/macros/Macros.hx @@ -595,7 +595,7 @@ class Macros { buildStyles(builder); buildBindings(builder); - if (builder.hasInterface("haxe.ui.core.IClonable")) { + if (builder.hasInterface("haxe.ui.core.IClonable") && !builder.isAbstractClass) { buildClonable(builder); } From 48cee4d1e047d9164ad05f3941edbeec0935181e Mon Sep 17 00:00:00 2001 From: Gulvan Date: Wed, 10 Aug 2022 13:34:58 +0300 Subject: [PATCH 2/3] Update ClassBuilder.hx --- haxe/ui/macros/helpers/ClassBuilder.hx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/haxe/ui/macros/helpers/ClassBuilder.hx b/haxe/ui/macros/helpers/ClassBuilder.hx index c137bf005..4b3269198 100644 --- a/haxe/ui/macros/helpers/ClassBuilder.hx +++ b/haxe/ui/macros/helpers/ClassBuilder.hx @@ -114,6 +114,10 @@ class ClassBuilder { } } + public var isAbstractClass(get, null):Bool; + private function get_isAbstractClas():Bool { + return #if (haxe_ver >= 4.2) classType.isAbstract #else false #end; + } public function findField(name:String):Field { var r = null; From eb78db07d1a2a06c14eabf71cf4b95df3532f140 Mon Sep 17 00:00:00 2001 From: Gulvan Date: Wed, 10 Aug 2022 13:36:43 +0300 Subject: [PATCH 3/3] Update ClassBuilder.hx --- haxe/ui/macros/helpers/ClassBuilder.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haxe/ui/macros/helpers/ClassBuilder.hx b/haxe/ui/macros/helpers/ClassBuilder.hx index 4b3269198..d9cf17fb7 100644 --- a/haxe/ui/macros/helpers/ClassBuilder.hx +++ b/haxe/ui/macros/helpers/ClassBuilder.hx @@ -115,7 +115,7 @@ class ClassBuilder { } public var isAbstractClass(get, null):Bool; - private function get_isAbstractClas():Bool { + private function get_isAbstractClass():Bool { return #if (haxe_ver >= 4.2) classType.isAbstract #else false #end; }