Skip to content

Commit 1a89e97

Browse files
author
thk123
committed
Remove lambda in favour of direct construction
1 parent bf86af4 commit 1a89e97

File tree

1 file changed

+54
-81
lines changed

1 file changed

+54
-81
lines changed

unit/java_bytecode/java_bytecode_convert_method/convert_initalizers.cpp

+54-81
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ struct test_datat
2929
/// \param test_data The data to run the test on
3030
void require_is_constructor(const test_datat &test_data)
3131
{
32-
3332
const symbolt &constructor =
3433
test_data.symbol_table.lookup_ref(test_data.constructor_descriptor);
3534
THEN("The constructor should be marked as a constructor")
@@ -66,22 +65,18 @@ SCENARIO(
6665
std::string base_constructor_name = "java::ClassWithConstructors.<init>";
6766
WHEN("Looking at the parameterless constructor")
6867
{
69-
require_is_constructor([&]() {
70-
test_datat data;
71-
data.constructor_descriptor = base_constructor_name + ":()V";
72-
data.symbol_table = symbol_table;
73-
return data;
74-
}());
68+
test_datat data;
69+
data.constructor_descriptor = base_constructor_name + ":()V";
70+
data.symbol_table = symbol_table;
71+
require_is_constructor(data);
7572
}
7673
WHEN("Looking at the parametered constructor")
7774
{
78-
require_is_constructor([&]() {
79-
test_datat data;
80-
data.constructor_descriptor =
81-
base_constructor_name + ":(ILjava/lang/Object;LOpaqueClass;)V";
82-
data.symbol_table = symbol_table;
83-
return data;
84-
}());
75+
test_datat data;
76+
data.constructor_descriptor =
77+
base_constructor_name + ":(ILjava/lang/Object;LOpaqueClass;)V";
78+
data.symbol_table = symbol_table;
79+
require_is_constructor(data);
8580
}
8681
}
8782
GIVEN("A class without any constructors")
@@ -92,12 +87,10 @@ SCENARIO(
9287
std::string base_constructor_name = "java::ClassWithoutConstructors.<init>";
9388
WHEN("Looking at the default constructor")
9489
{
95-
require_is_constructor([&]() {
96-
test_datat data;
97-
data.constructor_descriptor = base_constructor_name + ":()V";
98-
data.symbol_table = symbol_table;
99-
return data;
100-
}());
90+
test_datat data;
91+
data.constructor_descriptor = base_constructor_name + ":()V";
92+
data.symbol_table = symbol_table;
93+
require_is_constructor(data);
10194
}
10295
}
10396
GIVEN("A class with both constructors and static initalisers")
@@ -109,33 +102,27 @@ SCENARIO(
109102
std::string base_constructor_name = base_class_name + "<init>";
110103
WHEN("Looking at the parameterless constructor")
111104
{
112-
require_is_constructor([&]() {
113-
test_datat data;
114-
data.constructor_descriptor = base_constructor_name + ":()V";
115-
data.symbol_table = symbol_table;
116-
return data;
117-
}());
105+
test_datat data;
106+
data.constructor_descriptor = base_constructor_name + ":()V";
107+
data.symbol_table = symbol_table;
108+
require_is_constructor(data);
118109
}
119110
WHEN("Looking at the parametered constructor")
120111
{
121-
require_is_constructor([&]() {
122-
test_datat data;
123-
data.constructor_descriptor =
124-
base_constructor_name + ":(ILjava/lang/Object;LOpaqueClass;)V";
125-
data.symbol_table = symbol_table;
126-
return data;
127-
}());
112+
test_datat data;
113+
data.constructor_descriptor =
114+
base_constructor_name + ":(ILjava/lang/Object;LOpaqueClass;)V";
115+
data.symbol_table = symbol_table;
116+
require_is_constructor(data);
128117
}
129118
WHEN("Looking at the static initalizer")
130119
{
131120
THEN("The static init should not be marked as a constructor")
132121
{
133-
require_is_static_initalizer([&]() {
134-
test_datat data;
135-
data.constructor_descriptor = base_class_name + "<clinit>:()V";
136-
data.symbol_table = symbol_table;
137-
return data;
138-
}());
122+
test_datat data;
123+
data.constructor_descriptor = base_class_name + "<clinit>:()V";
124+
data.symbol_table = symbol_table;
125+
require_is_static_initializer(data);
139126
}
140127
}
141128
}
@@ -151,23 +138,19 @@ SCENARIO(
151138

152139
WHEN("Looking at the default constructor")
153140
{
154-
require_is_constructor([&]() {
155-
test_datat data;
156-
data.constructor_descriptor = base_constructor_name + ":()V";
157-
data.symbol_table = symbol_table;
158-
return data;
159-
}());
141+
test_datat data;
142+
data.constructor_descriptor = base_constructor_name + ":()V";
143+
data.symbol_table = symbol_table;
144+
require_is_constructor(data);
160145
}
161146
WHEN("Looking at the static initalizer")
162147
{
163148
THEN("The static init should not be marked as a constructor")
164149
{
165-
require_is_static_initalizer([&]() {
166-
test_datat data;
167-
data.constructor_descriptor = base_class_name + "<clinit>:()V";
168-
data.symbol_table = symbol_table;
169-
return data;
170-
}());
150+
test_datat data;
151+
data.constructor_descriptor = base_class_name + "<clinit>:()V";
152+
data.symbol_table = symbol_table;
153+
require_is_static_initializer(data);
171154
}
172155
}
173156
}
@@ -182,23 +165,19 @@ SCENARIO(
182165

183166
WHEN("Looking at the parameterless constructor")
184167
{
185-
require_is_constructor([&]() {
186-
test_datat data;
187-
data.constructor_descriptor = base_constructor_name + ":()V";
188-
data.symbol_table = symbol_table;
189-
return data;
190-
}());
168+
test_datat data;
169+
data.constructor_descriptor = base_constructor_name + ":()V";
170+
data.symbol_table = symbol_table;
171+
require_is_constructor(data);
191172
}
192173
WHEN("Looking at the static initalizer for the opaque class")
193174
{
194175
THEN("The static init should not be marked as a constructor")
195176
{
196-
require_is_static_initalizer([&]() {
197-
test_datat data;
198-
data.constructor_descriptor = "java::OpaqueClass.<clinit>:()V";
199-
data.symbol_table = symbol_table;
200-
return data;
201-
}());
177+
test_datat data;
178+
data.constructor_descriptor = "java::OpaqueClass.<clinit>:()V";
179+
data.symbol_table = symbol_table;
180+
require_is_static_initializer(data);
202181
}
203182
}
204183
}
@@ -217,35 +196,29 @@ SCENARIO(
217196

218197
WHEN("Looking at the parameterless constructor")
219198
{
220-
require_is_constructor([&]() {
221-
test_datat data;
222-
data.constructor_descriptor = base_constructor_name + ":()V";
223-
data.symbol_table = symbol_table;
224-
return data;
225-
}());
199+
test_datat data;
200+
data.constructor_descriptor = base_constructor_name + ":()V";
201+
data.symbol_table = symbol_table;
202+
require_is_constructor(data);
226203
}
227204
WHEN("Looking at the static initalizer for the opaque class")
228205
{
229206
THEN("The static init should not be marked as a constructor")
230207
{
231-
require_is_static_initalizer([&]() {
232-
test_datat data;
233-
data.constructor_descriptor = "java::OpaqueClass.<clinit>:()V";
234-
data.symbol_table = symbol_table;
235-
return data;
236-
}());
208+
test_datat data;
209+
data.constructor_descriptor = "java::OpaqueClass.<clinit>:()V";
210+
data.symbol_table = symbol_table;
211+
require_is_static_initializer(data);
237212
}
238213
}
239214
WHEN("Looking at the constructor for the opaque class")
240215
{
241216
THEN("The static init should not be marked as a constructor")
242217
{
243-
require_is_constructor([&]() {
244-
test_datat data;
245-
data.constructor_descriptor = "java::OpaqueClass.<init>:()V";
246-
data.symbol_table = symbol_table;
247-
return data;
248-
}());
218+
test_datat data;
219+
data.constructor_descriptor = "java::OpaqueClass.<init>:()V";
220+
data.symbol_table = symbol_table;
221+
require_is_constructor(data);
249222
}
250223
}
251224
}

0 commit comments

Comments
 (0)