12TEST(ThreeAddressCodeTests, ToAscii)
23 auto tac0 = ThreeAddressCode::create(TestOperation::create({}, {}), {});
24 auto tac1 = ThreeAddressCode::create(TestOperation::create({ valueType }, {}), { &v0 });
26 ThreeAddressCode::create(TestOperation::create({ valueType, valueType }, {}), { &v0, &v1 });
27 auto tac3 = ThreeAddressCode::create(TestOperation::create({}, { valueType }), {});
28 auto tac4 = ThreeAddressCode::create(TestOperation::create({}, { valueType, valueType }), {});
29 auto tac5 = ThreeAddressCode::create(
30 TestOperation::create({ valueType, valueType }, { valueType, valueType }),
34 auto tac0String = ThreeAddressCode::ToAscii(*tac0);
35 std::cout << tac0String <<
"\n" << std::flush;
37 auto tac1String = ThreeAddressCode::ToAscii(*tac1);
38 std::cout << tac1String <<
"\n" << std::flush;
40 auto tac2String = ThreeAddressCode::ToAscii(*tac2);
41 std::cout << tac2String <<
"\n" << std::flush;
43 auto tac3String = ThreeAddressCode::ToAscii(*tac3);
44 std::cout << tac3String <<
"\n" << std::flush;
46 auto tac4String = ThreeAddressCode::ToAscii(*tac4);
47 std::cout << tac4String <<
"\n" << std::flush;
49 auto tac5String = ThreeAddressCode::ToAscii(*tac5);
50 std::cout << tac5String <<
"\n" << std::flush;
53 EXPECT_EQ(tac0String,
"TestOperation");
54 EXPECT_EQ(tac1String,
"TestOperation v0");
55 EXPECT_EQ(tac2String,
"TestOperation v0, v1");