#include <AddressValue.h>
|
| static u32_t | getInternalID (u32_t idx) |
| | Return the internal index if idx is an address otherwise return the value of idx.
|
Definition at line 47 of file AddressValue.h.
◆ AddrSet
◆ AddressValue() [1/5]
| SVF::AddressValue::AddressValue |
( |
| ) |
|
|
inline |
◆ AddressValue() [2/5]
| SVF::AddressValue::AddressValue |
( |
const Set< u32_t > & | addrs | ) |
|
|
inline |
◆ AddressValue() [3/5]
| SVF::AddressValue::AddressValue |
( |
u32_t | addr | ) |
|
|
inline |
◆ ~AddressValue()
| SVF::AddressValue::~AddressValue |
( |
| ) |
|
|
default |
◆ AddressValue() [4/5]
| SVF::AddressValue::AddressValue |
( |
const AddressValue & | other | ) |
|
|
inline |
◆ AddressValue() [5/5]
| SVF::AddressValue::AddressValue |
( |
AddressValue && | other | ) |
|
|
inlinenoexcept |
◆ begin()
| AddrSet::const_iterator SVF::AddressValue::begin |
( |
| ) |
const |
|
inline |
◆ contains()
| bool SVF::AddressValue::contains |
( |
u32_t | id | ) |
const |
|
inline |
◆ empty()
| bool SVF::AddressValue::empty |
( |
| ) |
const |
|
inline |
◆ end()
| AddrSet::const_iterator SVF::AddressValue::end |
( |
| ) |
const |
|
inline |
◆ equals()
| bool SVF::AddressValue::equals |
( |
const AddressValue & | rhs | ) |
const |
|
inline |
◆ getInternalID()
| u32_t SVF::AddressValue::getInternalID |
( |
u32_t | idx | ) |
|
|
inlinestaticprivate |
Return the internal index if idx is an address otherwise return the value of idx.
Definition at line 57 of file AddressValue.h.
58 {
60 }
#define FlippedAddressMask
◆ getVals()
| const AddrSet & SVF::AddressValue::getVals |
( |
| ) |
const |
|
inline |
◆ getVirtualMemAddress()
| u32_t SVF::AddressValue::getVirtualMemAddress |
( |
u32_t | idx | ) |
|
|
inlinestatic |
The physical address starts with 0x7f...... + idx.
Definition at line 213 of file AddressValue.h.
214 {
215
216 assert(idx != 0 && "idx can’t be 0 because it represents a nullptr");
218 }
◆ hasIntersect()
| bool SVF::AddressValue::hasIntersect |
( |
const AddressValue & | other | ) |
const |
|
inline |
Definition at line 177 of file AddressValue.h.
178 {
179 for (
const auto& addr :
_addrs)
180 {
181 if (other._addrs.count(addr))
182 return true;
183 }
184 return false;
185 }
◆ insert()
| std::pair< AddressValue::AddrSet::iterator, bool > SVF::AddressValue::insert |
( |
u32_t | id | ) |
|
|
inline |
◆ isBottom()
| bool SVF::AddressValue::isBottom |
( |
| ) |
const |
|
inline |
◆ isVirtualMemAddress()
| bool SVF::AddressValue::isVirtualMemAddress |
( |
u32_t | val | ) |
|
|
inlinestatic |
Check bit value of val start with 0x7F000000, filter by 0xFF000000.
Definition at line 221 of file AddressValue.h.
◆ join_with()
| bool SVF::AddressValue::join_with |
( |
const AddressValue & | other | ) |
|
|
inline |
Current AddressValue joins with another AddressValue.
Definition at line 141 of file AddressValue.h.
142 {
143 bool changed = false;
144 for (const auto &addr: other)
145 {
147 {
149 changed = true;
150 }
151 }
152 return changed;
153 }
std::pair< AddressValue::AddrSet::iterator, bool > insert(u32_t id)
◆ meet_with()
| bool SVF::AddressValue::meet_with |
( |
const AddressValue & | other | ) |
|
|
inline |
Return a intersected AddressValue.
Definition at line 156 of file AddressValue.h.
157 {
159 for (const auto &id: other._addrs)
160 {
162 {
163 s.insert(id);
164 }
165 }
166 bool changed = (
_addrs != s);
168 return changed;
169 }
◆ operator=() [1/2]
Move operator=.
Definition at line 91 of file AddressValue.h.
92 {
93 if (this != &other)
94 {
95 _addrs = std::move(other._addrs);
96 }
97 return *this;
98 }
◆ operator=() [2/2]
Copy operator=.
Definition at line 81 of file AddressValue.h.
82 {
84 {
86 }
87 return *this;
88 }
bool equals(const AddressValue &rhs) const
◆ setVals()
| void SVF::AddressValue::setVals |
( |
const AddrSet & | vals | ) |
|
|
inline |
◆ size()
| u32_t SVF::AddressValue::size |
( |
| ) |
const |
|
inline |
◆ toString()
| const std::string SVF::AddressValue::toString |
( |
| ) |
const |
|
inline |
Definition at line 192 of file AddressValue.h.
193 {
194 std::string str;
195 std::stringstream rawStr(str);
197 {
198 rawStr << "⊥";
199 }
200 else
201 {
202 rawStr << "[";
203 for (
auto it =
_addrs.begin(), eit =
_addrs.end(); it!= eit; ++it)
204 {
205 rawStr << *it << ", ";
206 }
207 rawStr << "]";
208 }
209 return rawStr.str();
210 }
◆ AbstractState
| friend class AbstractState |
|
friend |
◆ RelExeState
◆ _addrs
The documentation for this class was generated from the following file: