summaryrefslogtreecommitdiff
path: root/type.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2018-12-03 22:20:28 -0500
committerPeter LaFosse <peter@vector35.com>2018-12-13 13:32:18 -0500
commit231afab8b0ba6c8c9eff879681c52724b6688c18 (patch)
tree38026cfa20f34702b7267e9c397652119f27ebe7 /type.cpp
parent7357dd114a145ca64e7356233c3cb8b9dd9eae84 (diff)
Commonize all InstructionTextToken generation
Diffstat (limited to 'type.cpp')
-rw-r--r--type.cpp28
1 files changed, 3 insertions, 25 deletions
diff --git a/type.cpp b/type.cpp
index ef9036aa..d7c65897 100644
--- a/type.cpp
+++ b/type.cpp
@@ -684,14 +684,7 @@ vector<InstructionTextToken> Type::GetTokens(Platform* platform, uint8_t baseCon
BNInstructionTextToken* tokens = BNGetTypeTokens(m_object,
platform ? platform->GetObject() : nullptr, baseConfidence, &count);
- vector<InstructionTextToken> result;
- result.reserve(count);
- for (size_t i = 0; i < count; i++)
- result.emplace_back(tokens[i].type, tokens[i].context, tokens[i].text, tokens[i].address, tokens[i].value, tokens[i].size,
- tokens[i].operand, tokens[i].confidence);
-
- BNFreeTokenList(tokens, count);
- return result;
+ return InstructionTextToken::ConvertAndFreeInstructionTextTokenList(tokens, count);
}
@@ -700,15 +693,7 @@ vector<InstructionTextToken> Type::GetTokensBeforeName(Platform* platform, uint8
size_t count;
BNInstructionTextToken* tokens = BNGetTypeTokensBeforeName(m_object,
platform ? platform->GetObject() : nullptr, baseConfidence, &count);
-
- vector<InstructionTextToken> result;
- result.reserve(count);
- for (size_t i = 0; i < count; i++)
- result.emplace_back(tokens[i].type, tokens[i].context, tokens[i].text, tokens[i].address, tokens[i].value, tokens[i].size,
- tokens[i].operand, tokens[i].confidence);
-
- BNFreeTokenList(tokens, count);
- return result;
+ return InstructionTextToken::ConvertAndFreeInstructionTextTokenList(tokens, count);
}
@@ -718,14 +703,7 @@ vector<InstructionTextToken> Type::GetTokensAfterName(Platform* platform, uint8_
BNInstructionTextToken* tokens = BNGetTypeTokensAfterName(m_object,
platform ? platform->GetObject() : nullptr, baseConfidence, &count);
- vector<InstructionTextToken> result;
- result.reserve(count);
- for (size_t i = 0; i < count; i++)
- result.emplace_back(tokens[i].type, tokens[i].context, tokens[i].text, tokens[i].address, tokens[i].value, tokens[i].size,
- tokens[i].operand, tokens[i].confidence);
-
- BNFreeTokenList(tokens, count);
- return result;
+ return InstructionTextToken::ConvertAndFreeInstructionTextTokenList(tokens, count);
}