File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -107,6 +107,10 @@ class SimpleTypeResolver : public pbutil::TypeResolver {
107
107
SimpleTypeResolver& operator =(const SimpleTypeResolver&) = delete ;
108
108
};
109
109
110
+ TypeHelper::TypeHelper (pbutil::TypeResolver* type_resolver)
111
+ : type_resolver_(type_resolver),
112
+ type_info_ (pbconv::TypeInfo::NewTypeInfo(type_resolver)) {}
113
+
110
114
TypeHelper::~TypeHelper () {
111
115
type_info_.reset ();
112
116
delete type_resolver_;
@@ -121,9 +125,13 @@ void TypeHelper::Initialize() {
121
125
type_info_.reset (pbconv::TypeInfo::NewTypeInfo (type_resolver_));
122
126
}
123
127
124
- void TypeHelper::AddType (const pb::Type& t) { type_resolver_->AddType (t); }
128
+ void TypeHelper::AddType (const pb::Type& t) {
129
+ reinterpret_cast <SimpleTypeResolver*>(type_resolver_)->AddType (t);
130
+ }
125
131
126
- void TypeHelper::AddEnum (const pb::Enum& e) { type_resolver_->AddEnum (e); }
132
+ void TypeHelper::AddEnum (const pb::Enum& e) {
133
+ reinterpret_cast <SimpleTypeResolver*>(type_resolver_)->AddEnum (e);
134
+ }
127
135
128
136
pbutil::Status TypeHelper::ResolveFieldPath (
129
137
const pb::Type& type, const std::string& field_path_str,
Original file line number Diff line number Diff line change @@ -36,6 +36,9 @@ class TypeHelper {
36
36
public:
37
37
template <typename Types, typename Enums>
38
38
TypeHelper (const Types& types, const Enums& enums);
39
+
40
+ TypeHelper (::google::protobuf::util::TypeResolver* type_resolver);
41
+
39
42
~TypeHelper ();
40
43
41
44
::google::protobuf::util::TypeResolver* Resolver () const ;
@@ -77,7 +80,7 @@ class TypeHelper {
77
80
// unique_ptr requires the type to be defined when the unique_ptr destructor
78
81
// is called. In our case it's called from the template constructor below
79
82
// (most likely as a part of stack unwinding when an exception occurs).
80
- SimpleTypeResolver * type_resolver_;
83
+ ::google::protobuf::util::TypeResolver * type_resolver_;
81
84
std::unique_ptr<::google::protobuf::util::converter::TypeInfo> type_info_;
82
85
83
86
TypeHelper () = delete ;
You can’t perform that action at this time.
0 commit comments