Lines Matching defs:HClassLayoutDesc
136 class HClassLayoutDesc {
138 explicit HClassLayoutDesc(ProfileType type) : type_(type) {}
139 HClassLayoutDesc(ProfileType type, const CSet<ProfileType> &childs) : type_(type), childs_(childs) {}
140 virtual ~HClassLayoutDesc() = default;
142 virtual void Merge(const HClassLayoutDesc *from);
186 class RootHClassLayoutDesc final : public HClassLayoutDesc {
188 explicit RootHClassLayoutDesc(ProfileType type) : HClassLayoutDesc(type) {}
190 : HClassLayoutDesc(type), objType_(objType), objSize_(objSize) {}
192 : HClassLayoutDesc(desc.type_, desc.childs_), objType_(desc.objType_), objSize_(desc.objSize_),
204 void Merge(const HClassLayoutDesc *from) override;
247 class ChildHClassLayoutDesc final : public HClassLayoutDesc {
249 explicit ChildHClassLayoutDesc(ProfileType type) : HClassLayoutDesc(type) {}
251 : HClassLayoutDesc(desc.type_, desc.childs_), propertyDesc_(desc.propertyDesc_) {}
260 void Merge(const HClassLayoutDesc *from) override;
302 HClassLayoutDesc *GetHClassLayoutDesc(ProfileType type) const;
303 HClassLayoutDesc *GetOrInsertHClassLayoutDesc(ProfileType type, bool root = false);
314 IterateAll([&callback] (HClassLayoutDesc *desc) {
333 CMap<ProfileType, HClassLayoutDesc *> transitionLayout_;