File tree Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Original file line number Diff line number Diff line change @@ -199,6 +199,11 @@ struct java_bytecode_parse_treet
199
199
{
200
200
classt () = default ;
201
201
202
+ // / Create a class \p name.
203
+ explicit classt (const irep_idt &name) : name(name)
204
+ {
205
+ }
206
+
202
207
// Disallow copy construction and copy assignment, but allow move
203
208
// construction and move assignment.
204
209
#ifndef _MSC_VER // Ommit this on MS VC2013 as move is not supported.
@@ -296,7 +301,6 @@ struct java_bytecode_parse_treet
296
301
}
297
302
298
303
void output (std::ostream &out) const ;
299
-
300
304
};
301
305
302
306
classt parsed_class;
@@ -307,9 +311,14 @@ struct java_bytecode_parse_treet
307
311
typedef std::set<irep_idt> class_refst;
308
312
class_refst class_refs;
309
313
310
- bool loading_successful;
314
+ bool loading_successful = false ;
315
+
316
+ // / An empty bytecode parse tree, no class name set
317
+ java_bytecode_parse_treet () = default;
311
318
312
- java_bytecode_parse_treet ():loading_successful(false )
319
+ // / Create a blank parse tree for class \p class_name.
320
+ explicit java_bytecode_parse_treet (const irep_idt &class_name)
321
+ : parsed_class(class_name)
313
322
{
314
323
}
315
324
};
Original file line number Diff line number Diff line change @@ -120,9 +120,7 @@ java_class_loadert::get_parse_tree(
120
120
if (!class_loader_limit.load_class_file (class_name_to_jar_file (class_name)))
121
121
{
122
122
debug () << " not loading " << class_name << " because of limit" << eom;
123
- java_bytecode_parse_treet parse_tree;
124
- parse_tree.parsed_class .name = class_name;
125
- parse_trees.push_back (std::move (parse_tree));
123
+ parse_trees.emplace_back (class_name);
126
124
return parse_trees;
127
125
}
128
126
@@ -179,9 +177,7 @@ java_class_loadert::get_parse_tree(
179
177
180
178
// Not found or failed to load
181
179
warning () << " failed to load class `" << class_name << ' \' ' << eom;
182
- java_bytecode_parse_treet parse_tree;
183
- parse_tree.parsed_class .name =class_name;
184
- parse_trees.push_back (std::move (parse_tree));
180
+ parse_trees.emplace_back (class_name);
185
181
return parse_trees;
186
182
}
187
183
You can’t perform that action at this time.
0 commit comments