summaryrefslogtreecommitdiff
path: root/function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'function.cpp')
-rw-r--r--function.cpp115
1 files changed, 0 insertions, 115 deletions
diff --git a/function.cpp b/function.cpp
index 6a4564cd..68704e4d 100644
--- a/function.cpp
+++ b/function.cpp
@@ -418,121 +418,6 @@ RegisterValue RegisterValue::FromAPIObject(const BNRegisterValue& value)
}
-PossibleValueSet PossibleValueSet::FromAPIObject(BNPossibleValueSet& value)
-{
- PossibleValueSet result;
- result.state = value.state;
- result.value = value.value;
- result.offset = value.offset;
- result.size = value.size;
- if (value.state == LookupTableValue)
- {
- for (size_t i = 0; i < value.count; i++)
- {
- LookupTableEntry entry;
- entry.fromValues.insert(entry.fromValues.end(), &value.table[i].fromValues[0],
- &value.table[i].fromValues[value.table[i].fromCount]);
- entry.toValue = value.table[i].toValue;
- result.table.push_back(entry);
- }
- }
- else if ((value.state == SignedRangeValue) || (value.state == UnsignedRangeValue))
- {
- for (size_t i = 0; i < value.count; i++)
- result.ranges.push_back(value.ranges[i]);
- }
- else if ((value.state == InSetOfValues) || (value.state == NotInSetOfValues))
- {
- for (size_t i = 0; i < value.count; i++)
- result.valueSet.insert(value.valueSet[i]);
- }
-
- result.count = value.count;
- BNFreePossibleValueSet(&value);
- return result;
-}
-
-
-BNPossibleValueSet PossibleValueSet::ToAPIObject() const
-{
- BNPossibleValueSet result;
- result.state = state;
- result.value = value;
- result.offset = offset;
- result.size = size;
- result.count = 0;
-
- if ((state == SignedRangeValue) || (state == UnsignedRangeValue))
- {
- result.ranges = new BNValueRange[ranges.size()];
- result.count = ranges.size();
- for (size_t i = 0; i < ranges.size(); i++)
- result.ranges[i] = ranges[i];
- }
- else
- {
- result.ranges = nullptr;
- }
-
- if (state == LookupTableValue)
- {
- result.table = new BNLookupTableEntry[table.size()];
- result.count = table.size();
- for (size_t i = 0; i < table.size(); i++)
- {
- result.table[i].fromValues = new int64_t[table[i].fromValues.size()];
- memcpy(result.table[i].fromValues, &table[i].fromValues[0], sizeof(int64_t) * table[i].fromValues.size());
- result.table[i].fromCount = table[i].fromValues.size();
- result.table[i].toValue = table[i].toValue;
- }
- }
- else
- {
- result.table = nullptr;
- }
-
- if ((state == InSetOfValues) || (state == NotInSetOfValues))
- {
- result.valueSet = new int64_t[valueSet.size()];
- result.count = valueSet.size();
- size_t i = 0;
- for (auto j : valueSet)
- result.valueSet[i++] = j;
- }
- else
- {
- result.valueSet = nullptr;
- }
-
- return result;
-}
-
-
-void PossibleValueSet::FreeAPIObject(BNPossibleValueSet* value)
-{
- switch (value->state)
- {
- case SignedRangeValue:
- case UnsignedRangeValue:
- delete[] value->ranges;
- break;
- case LookupTableValue:
- for (size_t i = 0; i < value->count; i ++)
- {
- delete[] value->table[i].fromValues;
- }
- delete[] value->table;
- break;
- case InSetOfValues:
- case NotInSetOfValues:
- delete[] value->valueSet;
- break;
- default:
- break;
- }
-}
-
-
pair<DataBuffer, BNBuiltinType> Function::GetConstantData(BNRegisterValueType state, uint64_t value, size_t size)
{
BNBuiltinType builtin;