34
34
#include < string>
35
35
#include < tuple>
36
36
37
- using namespace std ;
38
37
using namespace solidity ::langutil;
39
38
using namespace solidity ::evmasm;
39
+ using namespace std ::string_literals;
40
40
41
41
namespace solidity ::frontend::test
42
42
{
@@ -55,34 +55,34 @@ BOOST_AUTO_TEST_SUITE(Assembler)
55
55
56
56
BOOST_AUTO_TEST_CASE (all_assembly_items)
57
57
{
58
- map<string, unsigned > indices = {
58
+ std:: map<std:: string, unsigned > indices = {
59
59
{ " root.asm" , 0 },
60
60
{ " sub.asm" , 1 },
61
61
{ " verbatim.asm" , 2 }
62
62
};
63
63
EVMVersion evmVersion = solidity::test::CommonOptions::get ().evmVersion ();
64
64
Assembly _assembly{evmVersion, false , {}};
65
- auto root_asm = make_shared<string>(" root.asm" );
65
+ auto root_asm = std:: make_shared<std:: string>(" root.asm" );
66
66
_assembly.setSourceLocation ({1 , 3 , root_asm});
67
67
68
68
Assembly _subAsm{evmVersion, false , {}};
69
- auto sub_asm = make_shared<string>(" sub.asm" );
69
+ auto sub_asm = std:: make_shared<std:: string>(" sub.asm" );
70
70
_subAsm.setSourceLocation ({6 , 8 , sub_asm});
71
71
72
72
Assembly _verbatimAsm (evmVersion, true , " " );
73
- auto verbatim_asm = make_shared<string>(" verbatim.asm" );
73
+ auto verbatim_asm = std:: make_shared<std:: string>(" verbatim.asm" );
74
74
_verbatimAsm.setSourceLocation ({8 , 18 , verbatim_asm});
75
75
76
76
// PushImmutable
77
77
_subAsm.appendImmutable (" someImmutable" );
78
78
_subAsm.append (AssemblyItem (PushTag, 0 ));
79
79
_subAsm.append (Instruction::INVALID);
80
- shared_ptr<Assembly> _subAsmPtr = make_shared<Assembly>(_subAsm);
80
+ std:: shared_ptr<Assembly> _subAsmPtr = std:: make_shared<Assembly>(_subAsm);
81
81
82
82
_verbatimAsm.appendVerbatim ({0xff ,0xff }, 0 , 0 );
83
83
_verbatimAsm.appendVerbatim ({0x74 , 0x65 , 0x73 , 0x74 }, 0 , 1 );
84
84
_verbatimAsm.append (Instruction::MSTORE);
85
- shared_ptr<Assembly> _verbatimAsmPtr = make_shared<Assembly>(_verbatimAsm);
85
+ std:: shared_ptr<Assembly> _verbatimAsmPtr = std:: make_shared<Assembly>(_verbatimAsm);
86
86
87
87
// Tag
88
88
auto tag = _assembly.newTag ();
@@ -177,7 +177,7 @@ BOOST_AUTO_TEST_CASE(all_assembly_items)
177
177
" \n "
178
178
" auxdata: 0x4266eeaa\n "
179
179
);
180
- string json{
180
+ std:: string json{
181
181
" {\" .auxdata\" :\" 4266eeaa\" ,\" .code\" :["
182
182
" {\" begin\" :1,\" end\" :3,\" name\" :\" tag\" ,\" source\" :0,\" value\" :\" 1\" },"
183
183
" {\" begin\" :1,\" end\" :3,\" name\" :\" JUMPDEST\" ,\" source\" :0},"
@@ -221,11 +221,11 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
221
221
// Tests for 1, 2, 3 number of immutables.
222
222
for (int numImmutables = 1 ; numImmutables <= 3 ; ++numImmutables)
223
223
{
224
- BOOST_TEST_MESSAGE (" NumImmutables: " s + to_string (numImmutables));
224
+ BOOST_TEST_MESSAGE (" NumImmutables: " s + std:: to_string (numImmutables));
225
225
// Tests for the cases 1, 2, 3 occurrences of an immutable reference.
226
226
for (int numActualRefs = 1 ; numActualRefs <= 3 ; ++numActualRefs)
227
227
{
228
- BOOST_TEST_MESSAGE (" NumActualRefs: " s + to_string (numActualRefs));
228
+ BOOST_TEST_MESSAGE (" NumActualRefs: " s + std:: to_string (numActualRefs));
229
229
auto const NumExpectedMappings =
230
230
(
231
231
2 + // PUSH <a> PUSH <b>
@@ -238,21 +238,21 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
238
238
NumSubs + // PUSH <addr> for every sub assembly
239
239
1 ; // INVALID
240
240
241
- auto assemblyName = make_shared<string>(" root.asm" );
242
- auto subName = make_shared<string>(" sub.asm" );
241
+ auto assemblyName = std:: make_shared<std:: string>(" root.asm" );
242
+ auto subName = std:: make_shared<std:: string>(" sub.asm" );
243
243
244
- map<string, unsigned > indices = {
244
+ std:: map<std:: string, unsigned > indices = {
245
245
{ *assemblyName, 0 },
246
246
{ *subName, 1 }
247
247
};
248
248
249
- auto subAsm = make_shared<Assembly>(evmVersion, false , string{});
249
+ auto subAsm = std:: make_shared<Assembly>(evmVersion, false , std:: string{});
250
250
for (char i = 0 ; i < numImmutables; ++i)
251
251
{
252
252
for (int r = 0 ; r < numActualRefs; ++r)
253
253
{
254
254
subAsm->setSourceLocation (SourceLocation{10 *i, 10 *i + 6 + r, subName});
255
- subAsm->appendImmutable (string (1 , char (' a' + i))); // "a", "b", ...
255
+ subAsm->appendImmutable (std:: string (1 , char (' a' + i))); // "a", "b", ...
256
256
}
257
257
}
258
258
@@ -262,34 +262,34 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
262
262
assembly.setSourceLocation ({10 *i, 10 *i + 3 +i, assemblyName});
263
263
assembly.append (u256 (0x71 )); // immutble value
264
264
assembly.append (u256 (0 )); // target... modules?
265
- assembly.appendImmutableAssignment (string (1 , char (' a' + i - 1 )));
265
+ assembly.appendImmutableAssignment (std:: string (1 , char (' a' + i - 1 )));
266
266
}
267
267
268
268
assembly.appendSubroutine (subAsm);
269
269
270
270
checkCompilation (assembly);
271
271
272
- string const sourceMappings = AssemblyItem::computeSourceMapping (assembly.items (), indices);
272
+ std:: string const sourceMappings = AssemblyItem::computeSourceMapping (assembly.items (), indices);
273
273
auto const numberOfMappings = std::count (sourceMappings.begin (), sourceMappings.end (), ' ;' );
274
274
275
275
LinkerObject const & obj = assembly.assemble ();
276
- string const disassembly = disassemble (obj.bytecode , evmVersion, " \n " );
276
+ std:: string const disassembly = disassemble (obj.bytecode , evmVersion, " \n " );
277
277
auto const numberOfOpcodes = std::count (disassembly.begin (), disassembly.end (), ' \n ' );
278
278
279
279
#if 0 // {{{ debug prints
280
280
{
281
281
LinkerObject const& subObj = assembly.sub(0).assemble();
282
- string const subDisassembly = disassemble(subObj.bytecode, "\n");
283
- cout << '\n';
284
- cout << "### immutables: " << numImmutables << ", refs: " << numActualRefs << '\n';
285
- cout << " - srcmap: \"" << sourceMappings << "\"\n";
286
- cout << " - src mappings: " << numberOfMappings << '\n';
287
- cout << " - opcodes: " << numberOfOpcodes << '\n';
288
- cout << " - subs: " << assembly.numSubs() << '\n';
289
- cout << " - sub opcodes " << std::count(subDisassembly.begin(), subDisassembly.end(), '\n') << '\n';
290
- cout << " - sub srcmaps " << AssemblyItem::computeSourceMapping(subAsm->items(), indices) << '\n';
291
- cout << " - main bytecode:\n\t" << disassemble(obj.bytecode, "\n\t");
292
- cout << "\r - sub bytecode:\n\t" << disassemble(subObj.bytecode, "\n\t");
282
+ std:: string const subDisassembly = disassemble(subObj.bytecode, "\n");
283
+ std:: cout << '\n';
284
+ std:: cout << "### immutables: " << numImmutables << ", refs: " << numActualRefs << '\n';
285
+ std:: cout << " - srcmap: \"" << sourceMappings << "\"\n";
286
+ std:: cout << " - src mappings: " << numberOfMappings << '\n';
287
+ std:: cout << " - opcodes: " << numberOfOpcodes << '\n';
288
+ std:: cout << " - subs: " << assembly.numSubs() << '\n';
289
+ std:: cout << " - sub opcodes " << std::count(subDisassembly.begin(), subDisassembly.end(), '\n') << '\n';
290
+ std:: cout << " - sub srcmaps " << AssemblyItem::computeSourceMapping(subAsm->items(), indices) << '\n';
291
+ std:: cout << " - main bytecode:\n\t" << disassemble(obj.bytecode, "\n\t");
292
+ std:: cout << "\r - sub bytecode:\n\t" << disassemble(subObj.bytecode, "\n\t");
293
293
}
294
294
#endif // }}}
295
295
@@ -301,22 +301,22 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
301
301
302
302
BOOST_AUTO_TEST_CASE (immutable)
303
303
{
304
- map<string, unsigned > indices = {
304
+ std:: map<std:: string, unsigned > indices = {
305
305
{ " root.asm" , 0 },
306
306
{ " sub.asm" , 1 }
307
307
};
308
308
EVMVersion evmVersion = solidity::test::CommonOptions::get ().evmVersion ();
309
309
Assembly _assembly{evmVersion, true , {}};
310
- auto root_asm = make_shared<string>(" root.asm" );
310
+ auto root_asm = std:: make_shared<std:: string>(" root.asm" );
311
311
_assembly.setSourceLocation ({1 , 3 , root_asm});
312
312
313
313
Assembly _subAsm{evmVersion, false , {}};
314
- auto sub_asm = make_shared<string>(" sub.asm" );
314
+ auto sub_asm = std:: make_shared<std:: string>(" sub.asm" );
315
315
_subAsm.setSourceLocation ({6 , 8 , sub_asm});
316
316
_subAsm.appendImmutable (" someImmutable" );
317
317
_subAsm.appendImmutable (" someOtherImmutable" );
318
318
_subAsm.appendImmutable (" someImmutable" );
319
- shared_ptr<Assembly> _subAsmPtr = make_shared<Assembly>(_subAsm);
319
+ std:: shared_ptr<Assembly> _subAsmPtr = std:: make_shared<Assembly>(_subAsm);
320
320
321
321
_assembly.append (u256 (42 ));
322
322
_assembly.append (u256 (0 ));
@@ -330,9 +330,9 @@ BOOST_AUTO_TEST_CASE(immutable)
330
330
331
331
checkCompilation (_assembly);
332
332
333
- string genericPush0 = evmVersion.hasPush0 () ? " 5f" : " 6000" ;
333
+ std:: string genericPush0 = evmVersion.hasPush0 () ? " 5f" : " 6000" ;
334
334
// PUSH1 0x1b v/s PUSH1 0x19
335
- string dataOffset = evmVersion.hasPush0 () ? " 6019" : " 601b" ;
335
+ std:: string dataOffset = evmVersion.hasPush0 () ? " 6019" : " 601b" ;
336
336
337
337
BOOST_CHECK_EQUAL (
338
338
_assembly.assemble ().toHex (),
@@ -406,8 +406,8 @@ BOOST_AUTO_TEST_CASE(subobject_encode_decode)
406
406
EVMVersion evmVersion = solidity::test::CommonOptions::get ().evmVersion ();
407
407
Assembly assembly{evmVersion, true , {}};
408
408
409
- shared_ptr<Assembly> subAsmPtr = make_shared<Assembly>(evmVersion, false , string{});
410
- shared_ptr<Assembly> subSubAsmPtr = make_shared<Assembly>(evmVersion, false , string{});
409
+ std:: shared_ptr<Assembly> subAsmPtr = std:: make_shared<Assembly>(evmVersion, false , std:: string{});
410
+ std:: shared_ptr<Assembly> subSubAsmPtr = std:: make_shared<Assembly>(evmVersion, false , std:: string{});
411
411
412
412
assembly.appendSubroutine (subAsmPtr);
413
413
subAsmPtr->appendSubroutine (subSubAsmPtr);
@@ -416,7 +416,7 @@ BOOST_AUTO_TEST_CASE(subobject_encode_decode)
416
416
BOOST_REQUIRE_THROW (assembly.encodeSubPath ({1 }), solidity::evmasm::AssemblyException);
417
417
BOOST_REQUIRE_THROW (assembly.decodeSubPath (1 ), solidity::evmasm::AssemblyException);
418
418
419
- vector<size_t > subPath{0 , 0 };
419
+ std:: vector<size_t > subPath{0 , 0 };
420
420
BOOST_CHECK (assembly.decodeSubPath (assembly.encodeSubPath (subPath)) == subPath);
421
421
}
422
422
0 commit comments