Lines Matching defs:lit_array
218 void Disassembler::FillLiteralArrayData(pandasm::LiteralArray *lit_array, const panda_file::LiteralTag &tag,
229 lit_array->literals_.push_back(lit);
238 lit_array->literals_.push_back(lit);
242 void Disassembler::FillLiteralData(pandasm::LiteralArray *lit_array,
298 lit_array->literals_.push_back(lit);
301 void Disassembler::GetLiteralArrayByOffset(pandasm::LiteralArray *lit_array, panda_file::File::EntityId offset) const
305 offset, [this, lit_array](const panda_file::LiteralDataAccessor::LiteralValue &value,
309 FillLiteralArrayData<bool>(lit_array, tag, value);
314 FillLiteralArrayData<uint8_t>(lit_array, tag, value);
319 FillLiteralArrayData<uint16_t>(lit_array, tag, value);
324 FillLiteralArrayData<uint32_t>(lit_array, tag, value);
329 FillLiteralArrayData<uint64_t>(lit_array, tag, value);
333 FillLiteralArrayData<float>(lit_array, tag, value);
337 FillLiteralArrayData<double>(lit_array, tag, value);
341 FillLiteralArrayData<uint32_t>(lit_array, tag, value);
345 FillLiteralData(lit_array, value, tag);
352 void Disassembler::GetLiteralArray(pandasm::LiteralArray *lit_array, size_t index) const
355 GetLiteralArrayByOffset(lit_array, lit_array_accessor.GetLiteralArrayId(index));
1390 std::string Disassembler::SerializeLiteralArray(const pandasm::LiteralArray &lit_array) const
1393 if (lit_array.literals_.empty()) {
1399 const auto &tag = lit_array.literals_[0].tag_;
1403 ss << lit_array.literals_.size();
1405 SerializeValues(lit_array, ss);
1410 void Disassembler::Serialize(const std::string &key, const pandasm::LiteralArray &lit_array, std::ostream &os) const
1413 os << SerializeLiteralArray(lit_array);
1501 void Disassembler::SerializeValues(const pandasm::LiteralArray &lit_array, T &os) const
1503 switch (lit_array.literals_[0].tag_) {
1505 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1506 os << std::get<bool>(lit_array.literals_[i].value_) << " ";
1511 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1512 os << static_cast<uint16_t>(std::get<uint8_t>(lit_array.literals_[i].value_)) << " ";
1517 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1518 os << static_cast<int16_t>(bit_cast<int8_t>(std::get<uint8_t>(lit_array.literals_[i].value_))) << " ";
1523 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1524 os << std::get<uint16_t>(lit_array.literals_[i].value_) << " ";
1529 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1530 os << bit_cast<int16_t>(std::get<uint16_t>(lit_array.literals_[i].value_)) << " ";
1535 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1536 os << std::get<uint32_t>(lit_array.literals_[i].value_) << " ";
1541 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1542 os << bit_cast<int32_t>(std::get<uint32_t>(lit_array.literals_[i].value_)) << " ";
1547 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1548 os << std::get<uint64_t>(lit_array.literals_[i].value_) << " ";
1553 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1554 os << bit_cast<int64_t>(std::get<uint64_t>(lit_array.literals_[i].value_)) << " ";
1559 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1560 os << std::get<float>(lit_array.literals_[i].value_) << " ";
1565 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1566 os << std::get<double>(lit_array.literals_[i].value_) << " ";
1571 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1572 os << "\"" << std::get<std::string>(lit_array.literals_[i].value_) << "\" ";
1577 SerializeLiterals(lit_array, os);
1582 void Disassembler::SerializeLiterals(const pandasm::LiteralArray &lit_array, T &os) const
1584 for (size_t i = 0; i < lit_array.literals_.size(); i++) {
1585 const auto &tag = lit_array.literals_[i].tag_;
1587 const auto &val = lit_array.literals_[i].value_;
1588 switch (lit_array.literals_[i].tag_) {
1698 pandasm::LiteralArray lit_array;
1699 GetLiteralArrayByOffset(&lit_array, panda_file::File::EntityId(lit_array_fffset));
1700 DumpLiteralArray(lit_array, ss);
1732 pandasm::LiteralArray lit_array;
1733 GetLiteralArrayByOffset(&lit_array, panda_file::File::EntityId(lit_array_fffset));
1735 DumpLiteralArray(lit_array, ss);
1798 pandasm::LiteralArray lit_array;
1799 GetLiteralArrayByOffset(&lit_array, panda_file::File::EntityId(lit_array_fffset));
1800 return getLiteralArrayTypeFromValue(lit_array) + "[]";
1853 pandasm::LiteralArray lit_array;
1854 GetLiteralArrayByOffset(&lit_array, panda_file::File::EntityId(lit_array_fffset));
1855 std::string typeName = getLiteralArrayTypeFromValue(lit_array);
1857 DumpLiteralArray(lit_array, ss);
2144 pandasm::LiteralArray lit_array;
2145 GetLiteralArrayByOffset(&lit_array, panda_file::File::EntityId(offset));
2146 name << SerializeLiteralArray(lit_array);