Skip to content

Commit d4dd2e4

Browse files
committed
clang-mirror generated IDs integration.
1 parent 1066e0d commit d4dd2e4

7 files changed

Lines changed: 57 additions & 64 deletions

File tree

CxxTestUtils/inc/TestUtilsBook.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,6 @@ namespace test_utils
3333
static constexpr const char* PREFACE = "This is a preface.";
3434
static constexpr const char* ACKNOWLEDGEMENTS = "This is an acknowledgement.";
3535

36-
static constexpr const char* class_ = "Book";
37-
static constexpr const char* str_setAuthor = "setAuthor";
38-
static constexpr const char* str_addPreface = "addPreface";
39-
static constexpr const char* str_setDescription = "setDescription";
40-
static constexpr const char* str_getPublishedOn = "getPublishedOn";
41-
static constexpr const char* str_setPublishedOn = "setPublishedOn";
42-
static constexpr const char* str_updateBookInfo = "updateBookInfo";
43-
static constexpr const char* str_addCopyrightTag = "addCopyrightTag";
44-
4536
static const int get_book_instance_count();
4637

4738
static const bool assert_zero_instance_count();

RTLTestRunApp/src/CxxMirrorTests/CxxMirrorThreadingTest.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#include "../../CxxTestProps/inc/StringOps.h"
1515
#include "../MyReflectionTests/MyReflectingType.h"
1616

17+
#include "reg_ids.h"
18+
1719
#include "TestUtilsBook.h"
1820
#include "TestUtilsDate.h"
1921
#include "TestUtilsPerson.h"
@@ -156,25 +158,25 @@ namespace rtl_tests
156158
{
157159
auto _ = rtl::CxxMirror({
158160

159-
rtl::type().record<Book>(book::class_).build(),
161+
rtl::type().record<Book>(cxx::type::Book::id).build(),
160162

161163
rtl::type().member<Book>().constructor<double, std::string>().build(),
162164

163-
rtl::type().member<Book>().method(book::str_setAuthor).build(&Book::setAuthor),
165+
rtl::type().member<Book>().method(cxx::type::Book::fn::setAuthor::id).build(&Book::setAuthor),
164166

165-
rtl::type().member<Book>().method(book::str_addPreface).build(&Book::addPreface),
167+
rtl::type().member<Book>().method(cxx::type::Book::fn::addPreface::id).build(&Book::addPreface),
166168

167-
rtl::type().member<Book>().method(book::str_setDescription).build(&Book::setDescription),
169+
rtl::type().member<Book>().method(cxx::type::Book::fn::setDescription::id).build(&Book::setDescription),
168170

169-
rtl::type().member<Book>().method(book::str_getPublishedOn).build(&Book::getPublishedOn),
171+
rtl::type().member<Book>().method(cxx::type::Book::fn::getPublishedOn::id).build(&Book::getPublishedOn),
170172

171-
rtl::type().member<Book>().method(book::str_addCopyrightTag).build(&Book::addCopyrightTag),
173+
rtl::type().member<Book>().method(cxx::type::Book::fn::addCopyrightTag::id).build(&Book::addCopyrightTag),
172174

173-
rtl::type().member<Book>().method<void>(book::str_updateBookInfo).build(&Book::updateBookInfo),
175+
rtl::type().member<Book>().method<void>(cxx::type::Book::fn::updateBookInfo::id).build(&Book::updateBookInfo),
174176

175-
rtl::type().member<Book>().method<const char*, double, std::string>(book::str_updateBookInfo).build(&Book::updateBookInfo),
177+
rtl::type().member<Book>().method<const char*, double, std::string>(cxx::type::Book::fn::updateBookInfo::id).build(&Book::updateBookInfo),
176178

177-
rtl::type().member<Book>().method<std::string, double, const char*>(book::str_updateBookInfo).build(&Book::updateBookInfo)
179+
rtl::type().member<Book>().method<std::string, double, const char*>(cxx::type::Book::fn::updateBookInfo::id).build(&Book::updateBookInfo)
178180
});
179181

180182
std::cout << "\n [t0]\trtl_tests::InitMirror::reflectingBook() ==> Done.\n";

RTLTestRunApp/src/FunctionalityTests/ClassMethodsTests.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ namespace rtl_tests
113113
EXPECT_TRUE(err0 == error::None);
114114
ASSERT_FALSE(book.isEmpty());
115115

116-
optional<Method> oSetAuthor = classBook->getMethod(book::str_setAuthor);
116+
optional<Method> oSetAuthor = classBook->getMethod(cxx::type::Book::fn::setAuthor::id);
117117
ASSERT_TRUE(oSetAuthor);
118118
EXPECT_FALSE(oSetAuthor->hasSignature<const char*>());
119119

@@ -142,7 +142,7 @@ namespace rtl_tests
142142
EXPECT_TRUE(err0 == error::None);
143143
ASSERT_FALSE(book.isEmpty());
144144

145-
optional<Method> oGetPublishedOn = classBook->getMethod(book::str_getPublishedOn);
145+
optional<Method> oGetPublishedOn = classBook->getMethod(cxx::type::Book::fn::getPublishedOn::id);
146146
ASSERT_TRUE(oGetPublishedOn);
147147
EXPECT_TRUE(oGetPublishedOn->hasSignature<>()); //empty template params checks for zero arguments.
148148

@@ -174,7 +174,7 @@ namespace rtl_tests
174174
EXPECT_TRUE(err0 == error::None);
175175
ASSERT_FALSE(book.isEmpty());
176176

177-
optional<Method> oGetPublishedOn = classBook->getMethod(book::str_getPublishedOn);
177+
optional<Method> oGetPublishedOn = classBook->getMethod(cxx::type::Book::fn::getPublishedOn::id);
178178
ASSERT_TRUE(oGetPublishedOn);
179179
EXPECT_TRUE(oGetPublishedOn->hasSignature<>()); //empty template params checks for zero arguments.
180180

@@ -206,7 +206,7 @@ namespace rtl_tests
206206
EXPECT_TRUE(err0 == error::None);
207207
ASSERT_FALSE(book.isEmpty());
208208

209-
optional<Method> oSetAuthor = classBook->getMethod(book::str_setAuthor);
209+
optional<Method> oSetAuthor = classBook->getMethod(cxx::type::Book::fn::setAuthor::id);
210210
ASSERT_TRUE(oSetAuthor);
211211
EXPECT_TRUE(oSetAuthor->hasSignature<std::string>());
212212

@@ -235,7 +235,7 @@ namespace rtl_tests
235235
EXPECT_TRUE(err0 == error::None);
236236
ASSERT_FALSE(book.isEmpty());
237237

238-
optional<Method> oSetAuthor = classBook->getMethod(book::str_setAuthor);
238+
optional<Method> oSetAuthor = classBook->getMethod(cxx::type::Book::fn::setAuthor::id);
239239
ASSERT_TRUE(oSetAuthor);
240240
EXPECT_TRUE(oSetAuthor->hasSignature<std::string>());
241241

@@ -264,7 +264,7 @@ namespace rtl_tests
264264
EXPECT_TRUE(err0 == error::None);
265265
ASSERT_FALSE(book.isEmpty());
266266

267-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
267+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
268268
ASSERT_TRUE(oUpdateBookInfo);
269269
EXPECT_TRUE(oUpdateBookInfo->hasSignature<>()); //empty template params checks for zero arguments.
270270

@@ -293,7 +293,7 @@ namespace rtl_tests
293293
EXPECT_TRUE(err0 == error::None);
294294
ASSERT_FALSE(book.isEmpty());
295295

296-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
296+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
297297
ASSERT_TRUE(oUpdateBookInfo);
298298
EXPECT_TRUE(oUpdateBookInfo->hasSignature<>()); //empty template params checks for zero arguments.
299299

@@ -322,7 +322,7 @@ namespace rtl_tests
322322
EXPECT_TRUE(err0 == error::None);
323323
ASSERT_FALSE(book.isEmpty());
324324

325-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
325+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
326326
ASSERT_TRUE(oUpdateBookInfo);
327327
EXPECT_TRUE((oUpdateBookInfo->hasSignature<string, double, const char*>()));
328328

@@ -353,7 +353,7 @@ namespace rtl_tests
353353
EXPECT_TRUE(err0 == error::None);
354354
ASSERT_FALSE(book.isEmpty());
355355

356-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
356+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
357357
ASSERT_TRUE(oUpdateBookInfo);
358358
EXPECT_TRUE((oUpdateBookInfo->hasSignature<string, double, const char*>()));
359359

@@ -384,7 +384,7 @@ namespace rtl_tests
384384
EXPECT_TRUE(err0 == error::None);
385385
ASSERT_FALSE(book.isEmpty());
386386

387-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
387+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
388388
ASSERT_TRUE(oUpdateBookInfo);
389389
EXPECT_TRUE((oUpdateBookInfo->hasSignature<const char*, double, string>()));
390390

@@ -415,7 +415,7 @@ namespace rtl_tests
415415
EXPECT_TRUE(err0 == error::None);
416416
ASSERT_FALSE(book.isEmpty());
417417

418-
optional<Method> oUpdateBookInfo = classBook->getMethod(book::str_updateBookInfo);
418+
optional<Method> oUpdateBookInfo = classBook->getMethod(cxx::type::Book::fn::updateBookInfo::id);
419419
ASSERT_TRUE(oUpdateBookInfo);
420420
EXPECT_TRUE((oUpdateBookInfo->hasSignature<const char*, double, string>()));
421421

@@ -446,7 +446,7 @@ namespace rtl_tests
446446
EXPECT_TRUE(err0 == error::None);
447447
ASSERT_FALSE(book.isEmpty());
448448

449-
optional<Method> oAddCopyrightTag = classBook->getMethod(book::str_addCopyrightTag);
449+
optional<Method> oAddCopyrightTag = classBook->getMethod(cxx::type::Book::fn::addCopyrightTag::id);
450450
ASSERT_TRUE(oAddCopyrightTag);
451451
EXPECT_TRUE(oAddCopyrightTag->hasSignature<string>());
452452

@@ -479,7 +479,7 @@ namespace rtl_tests
479479
EXPECT_TRUE(err0 == error::None);
480480
ASSERT_FALSE(book.isEmpty());
481481

482-
optional<Method> oAddCopyrightTag = classBook->getMethod(book::str_addCopyrightTag);
482+
optional<Method> oAddCopyrightTag = classBook->getMethod(cxx::type::Book::fn::addCopyrightTag::id);
483483
ASSERT_TRUE(oAddCopyrightTag);
484484
EXPECT_TRUE((oAddCopyrightTag->hasSignature<string>()));
485485

@@ -512,7 +512,7 @@ namespace rtl_tests
512512
EXPECT_TRUE(err0 == error::None);
513513
ASSERT_FALSE(book.isEmpty());
514514

515-
optional<Method> oAddPreface = classBook->getMethod(book::str_addPreface);
515+
optional<Method> oAddPreface = classBook->getMethod(cxx::type::Book::fn::addPreface::id);
516516
ASSERT_TRUE(oAddPreface);
517517
EXPECT_FALSE((oAddPreface->hasSignature<string, string&>()));
518518
EXPECT_FALSE((oAddPreface->hasSignature<string, const string>()));
@@ -549,7 +549,7 @@ namespace rtl_tests
549549
EXPECT_TRUE(err0 == error::None);
550550
ASSERT_FALSE(book.isEmpty());
551551

552-
optional<Method> oAddPreface = classBook->getMethod(book::str_addPreface);
552+
optional<Method> oAddPreface = classBook->getMethod(cxx::type::Book::fn::addPreface::id);
553553
ASSERT_TRUE(oAddPreface);
554554
EXPECT_FALSE((oAddPreface->hasSignature<string, string>()));
555555
EXPECT_FALSE((oAddPreface->hasSignature<string, string&>()));

RTLTestRunApp/src/FunctionalityTests/ConstMethodOverloadTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace rtl_tests
1818
TEST(ConstMethodOverload, explicitly_making_const_call__on_wrong_target)
1919
{
2020
{
21-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
21+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
2222
ASSERT_TRUE(classBook);
2323

2424
auto [err0, book] = classBook->ctorT()(alloc::Stack);

RTLTestRunApp/src/FunctionalityTests/ConstructorTests.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ namespace rtl_tests
209209
TEST(HeapAllocConstructorBook, wrong_args)
210210
{
211211
{
212-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
212+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
213213
ASSERT_TRUE(classBook);
214214

215215
auto [err, book] = classBook->ctorT<float, int>()(alloc::Heap, 19.0, 87.5);
@@ -225,7 +225,7 @@ namespace rtl_tests
225225
TEST(StackAllocConstructorBook, wrong_args)
226226
{
227227
{
228-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
228+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
229229
ASSERT_TRUE(classBook);
230230

231231
auto [err, book] = classBook->ctorT<float, int>()(alloc::Stack, 19.0, 87.5);
@@ -241,7 +241,7 @@ namespace rtl_tests
241241
TEST(HeapAllocConstructorBook, args_default)
242242
{
243243
{
244-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
244+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
245245
ASSERT_TRUE(classBook);
246246

247247
auto [err, book] = classBook->ctorT()(alloc::Heap);
@@ -258,7 +258,7 @@ namespace rtl_tests
258258
TEST(StackAllocConstructorBook, args_default)
259259
{
260260
{
261-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
261+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
262262
ASSERT_TRUE(classBook);
263263

264264
auto [err, book] = classBook->ctorT()(alloc::Stack);
@@ -275,7 +275,7 @@ namespace rtl_tests
275275
TEST(HeapAllocConstructorBook, args_double_string)
276276
{
277277
{
278-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
278+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
279279
ASSERT_TRUE(classBook);
280280

281281
rtl::constructor<double, std::string> ctorT = classBook->ctorT<double, std::string>();
@@ -295,7 +295,7 @@ namespace rtl_tests
295295
TEST(StackAllocConstructorBook, args_double_string)
296296
{
297297
{
298-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
298+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
299299
ASSERT_TRUE(classBook);
300300

301301
rtl::constructor<double, std::string> ctorT = classBook->ctorT<double, std::string>();
@@ -315,7 +315,7 @@ namespace rtl_tests
315315
TEST(DestructorBook, non_virtual_on_heap)
316316
{
317317
{
318-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
318+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
319319
ASSERT_TRUE(classBook);
320320

321321
auto [err, book] = classBook->ctorT()(alloc::Heap);
@@ -332,7 +332,7 @@ namespace rtl_tests
332332
TEST(DestructorBook, non_virtual_on_stack)
333333
{
334334
{
335-
optional<Record> classBook = cxx::mirror().getRecord(book::class_);
335+
optional<Record> classBook = cxx::mirror().getRecord(cxx::type::Book::id);
336336
ASSERT_TRUE(classBook);
337337

338338
auto [err, book] = classBook->ctorT()(alloc::Stack);

0 commit comments

Comments
 (0)