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) {
473473 return type;
474474}
475475
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+
476488Cppyy::TCppType_t Cppyy::ResolveType (TCppType_t type) {
477489 Cppyy::TCppType_t canonType = Cpp::GetCanonicalType (type);
478490
Original file line number Diff line number Diff line change @@ -80,6 +80,8 @@ namespace Cppyy {
8080 RPY_EXPORTED
8181 TCppType_t ResolveEnumReferenceType (TCppType_t type);
8282 RPY_EXPORTED
83+ TCppType_t ResolveEnumPointerType (TCppType_t type);
84+ RPY_EXPORTED
8385 TCppType_t GetRealType (TCppType_t type);
8486 RPY_EXPORTED
8587 std::string ResolveEnum (TCppScope_t enum_scope);
You can’t perform that action at this time.
0 commit comments