@@ -29,7 +29,6 @@ struct test_datat
2929// / \param test_data The data to run the test on
3030void 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