| 2930 | }; |
| 2931 | |
| 2932 | void DefineClasses(Object *aBaseClass, Object *aBaseProto, std::initializer_list<ClassDef> aClasses) |
| 2933 | { |
| 2934 | for (auto &c : aClasses) |
| 2935 | { |
| 2936 | auto proto = (c.proto_var && *c.proto_var) ? *c.proto_var |
| 2937 | : Object::CreatePrototype(const_cast<LPTSTR>(c.name), aBaseProto, c.members, c.member_count); |
| 2938 | if (c.proto_var) |
| 2939 | *c.proto_var = proto; |
| 2940 | auto cobj = Object::CreateClass(const_cast<LPTSTR>(c.name), aBaseClass, proto, c.factory); |
| 2941 | if (c.subclasses.size()) |
| 2942 | DefineClasses(cobj, proto, c.subclasses); |
| 2943 | } |
| 2944 | } |
| 2945 | |
| 2946 | |
| 2947 | Object *Object::CreateRootPrototypes() |
no outgoing calls
no test coverage detected