witty-island-52596
04/10/2019, 4:15 PMbright-gpu-74537
04/10/2019, 5:06 PMbitter-family-72722
04/10/2019, 5:10 PMbright-gpu-74537
04/10/2019, 5:17 PMambitious-knife-25690
04/10/2019, 5:19 PMbright-gpu-74537
04/10/2019, 5:19 PMbright-gpu-74537
04/10/2019, 5:39 PMbright-gpu-74537
04/10/2019, 5:40 PMbright-gpu-74537
04/10/2019, 5:40 PMbright-gpu-74537
04/10/2019, 5:40 PMbright-gpu-74537
04/10/2019, 5:40 PMif (builder.hasSuperClass("haxe.ui.core.Component") == false) {
return "Must have a superclass of haxe.ui.core.Component";
}
if (builder.constructor == null) {
return "A class building component must have a constructor";
}
ModuleMacros.populateClassMap();
var xml = builder.getClassMetaValue("xml");
var namedComponents:Map<String, String> = new Map<String, String>();
var expr = ComponentMacros.buildComponentFromString([], xml, namedComponents);
var codeBuilder = new CodeBuilder(expr);
codeBuilder.add(macro
addComponent(c0)
);
var createChildrenFn = builder.findFunction("createChildren");
if (createChildrenFn == null) {
createChildrenFn = builder.addFunction("createChildren", macro {
super.createChildren();
}, [APrivate, AOverride]);
}
createChildrenFn.add(codeBuilder);
for (id in namedComponents.keys()) {
var safeId:String = StringUtil.capitalizeHyphens(id);
var cls:String = namedComponents.get(id);
builder.addVar(safeId, TypeTools.toComplexType(Context.getType(cls)));
builder.constructor.add(macro
$i{safeId} = findComponent($v{id}, $p{cls.split(".")}, true)
, 1);
}
return null;
bright-gpu-74537
04/10/2019, 5:41 PMbitter-family-72722
04/10/2019, 6:16 PMcreateChildrenFn = builder.addFunction("createChildren", macro {
super.createChildren();
}, [APrivate, AOverride]);
bitter-family-72722
04/10/2019, 6:16 PMmacro class
?bright-gpu-74537
04/10/2019, 6:24 PMbright-gpu-74537
04/10/2019, 6:24 PMbright-gpu-74537
04/10/2019, 6:24 PMbitter-family-72722
04/10/2019, 6:28 PMbitter-family-72722
04/10/2019, 6:29 PMbitter-family-72722
04/10/2019, 6:29 PMvar createChildrenFn = (macro class {
override private function createChildren() {
super.createChildren();
}
}).fields[0];
bright-gpu-74537
04/10/2019, 6:29 PMbitter-family-72722
04/10/2019, 6:33 PMbright-gpu-74537
04/10/2019, 6:54 PMbrave-kangaroo-30399
04/11/2019, 12:48 AMcool-psychiatrist-49311
04/11/2019, 2:47 AMuser
04/11/2019, 7:09 AMuser
04/11/2019, 7:09 AMminiature-summer-93860
04/11/2019, 7:13 AM