File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -460,6 +460,17 @@ std::string Cppyy::ResolveName(const std::string& name) {
460
460
// return "const " + TClassEdit::ShortType(tclean.c_str(), 2);
461
461
// }
462
462
463
+ Cppyy::TCppType_t Cppyy::ResolveEnumReferenceType (TCppType_t type) {
464
+ if (!Cpp::IsLValueReferenceType (type))
465
+ return type;
466
+
467
+ TCppType_t nonReferenceType = Cpp::GetNonReferenceType (type);
468
+ if (Cpp::IsEnumType (nonReferenceType)) {
469
+ TCppType_t underlying_type = Cpp::GetIntegerTypeFromEnumType (nonReferenceType);
470
+ return Cpp::GetReferencedType (underlying_type);
471
+ }
472
+ return type;
473
+ }
463
474
464
475
Cppyy::TCppType_t Cppyy::ResolveType (TCppType_t type) {
465
476
Cppyy::TCppType_t canonType = Cpp::GetCanonicalType (type);
Original file line number Diff line number Diff line change @@ -78,6 +78,8 @@ namespace Cppyy {
78
78
RPY_EXPORTED
79
79
TCppType_t ResolveType (TCppType_t cppitem_name);
80
80
RPY_EXPORTED
81
+ TCppType_t ResolveEnumReferenceType (TCppType_t type);
82
+ RPY_EXPORTED
81
83
TCppType_t GetRealType (TCppType_t type);
82
84
RPY_EXPORTED
83
85
std::string ResolveEnum (TCppScope_t enum_scope);
You can’t perform that action at this time.
0 commit comments