File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -473,6 +473,18 @@ Cppyy::TCppType_t Cppyy::ResolveEnumReferenceType(TCppType_t type) {
473
473
return type;
474
474
}
475
475
476
+ Cppyy::TCppType_t Cppyy::ResolveEnumPointerType (TCppType_t type) {
477
+ if (!Cpp::IsPointerType (type))
478
+ return type;
479
+
480
+ TCppType_t PointeeType = Cpp::GetPointeeType (type);
481
+ if (Cpp::IsEnumType (PointeeType)) {
482
+ TCppType_t underlying_type = Cpp::GetIntegerTypeFromEnumType (PointeeType);
483
+ return Cpp::GetPointerType (underlying_type);
484
+ }
485
+ return type;
486
+ }
487
+
476
488
Cppyy::TCppType_t Cppyy::ResolveType (TCppType_t type) {
477
489
Cppyy::TCppType_t canonType = Cpp::GetCanonicalType (type);
478
490
Original file line number Diff line number Diff line change @@ -80,6 +80,8 @@ namespace Cppyy {
80
80
RPY_EXPORTED
81
81
TCppType_t ResolveEnumReferenceType (TCppType_t type);
82
82
RPY_EXPORTED
83
+ TCppType_t ResolveEnumPointerType (TCppType_t type);
84
+ RPY_EXPORTED
83
85
TCppType_t GetRealType (TCppType_t type);
84
86
RPY_EXPORTED
85
87
std::string ResolveEnum (TCppScope_t enum_scope);
You can’t perform that action at this time.
0 commit comments