|
ICG 2
Electric Boogaloo
|
Functions | |
| ContainsPointer::Result | containsPointer (std::shared_ptr< const DataType > node) |
| Determine whether or not this type is a pointer, or has any pointer members or subtypes. More... | |
| FindLeaves::Result | findLeaves (std::shared_ptr< const DataType > node, std::string starting_name, void *starting_address) |
| Find all of the leaves in this allocation as name-value pairs. More... | |
| LookupAddressAndTypeByName::Result | lookupAddressAndTypeByName (std::shared_ptr< const DataType > node, void *starting_address, std::string full_name) |
| Search in the allocation of the given type for a nested member with the correct name. If the name does not match the type, returns an empty result. More... | |
| LookupAddressAndTypeByName::Result | lookupAddressAndTypeByName (std::shared_ptr< const DataType > node, void *starting_address, MutableVariableName name_elems) |
| Search in the allocation of the given type for the address and type of a nested member with the correct name. If the name does not match the type, returns an empty result. More... | |
| LookupNameByAddressAndType::Result | lookupNameByAddressAndType (std::shared_ptr< const DataType > node, std::string starting_name, void *starting_address, void *lookup_address, std::shared_ptr< const DataType > const search_type) |
| Traverse the allocation of the given type to get the name of nested member that starts at the given address and is of the given type. More... | |
| void | printValue (std::shared_ptr< const DataType > node, std::ostream &s, void *address) |
| Print an ascii representation of the value starting at the given address of the given type to the given stream. More... | |
| AssignValue::Result | assignValue (std::shared_ptr< const DataType > node, Value *val, void *address) |
| Assign the value of a leaf type (string, pointer, primitive, enum) More... | |
| GetValue::Result | getValue (std::shared_ptr< const DataType > node, void *address) |
| Get the value of a leaf type (string, pointer, primitive, enum) More... | |
| void | clearValue (std::shared_ptr< const DataType > node, void *address) |
| Clear the contents of an instance of a type. More... | |
| bool | resizeSequence (std::shared_ptr< const DataType > node, void *address, int num_elems) |
| Resize a sequence to the given size. More... | |
| void | checkType (std::shared_ptr< const DataType > node, const char *function_name) |
| LookupAddressAndTypeByName::Result | _lookupAddressAndTypeByName (std::shared_ptr< const DataType > node, LookupAddressAndTypeByName::LookupAddressAndTypeByNameVisitor &visitor) |
| LookupAddressAndTypeByName::Result DataTypeAlgorithm::_lookupAddressAndTypeByName | ( | std::shared_ptr< const DataType > | node, |
| LookupAddressAndTypeByName::LookupAddressAndTypeByNameVisitor & | visitor | ||
| ) |
| AssignValue::Result DataTypeAlgorithm::assignValue | ( | std::shared_ptr< const DataType > | node, |
| Value * | val, | ||
| void * | address | ||
| ) |
Assign the value of a leaf type (string, pointer, primitive, enum)
| node | Type to assign to |
| val | Value to assign, must be compatible with node |
| address | instance of type to assign to |
| void DataTypeAlgorithm::checkType | ( | std::shared_ptr< const DataType > | node, |
| const char * | function_name | ||
| ) |
| void DataTypeAlgorithm::clearValue | ( | std::shared_ptr< const DataType > | node, |
| void * | address | ||
| ) |
Clear the contents of an instance of a type.
| node | Type to clear |
| address | instance of type to clear |
| ContainsPointer::Result DataTypeAlgorithm::containsPointer | ( | std::shared_ptr< const DataType > | node | ) |
Determine whether or not this type is a pointer, or has any pointer members or subtypes.
| node | DataType to search |
| FindLeaves::Result DataTypeAlgorithm::findLeaves | ( | std::shared_ptr< const DataType > | node, |
| std::string | starting_name, | ||
| void * | starting_address | ||
| ) |
Find all of the leaves in this allocation as name-value pairs.
| node | DataType to search |
| starting_name | name of allocation that we're searching |
| starting_address | starting address of allocation that we're searching |
| GetValue::Result DataTypeAlgorithm::getValue | ( | std::shared_ptr< const DataType > | node, |
| void * | address | ||
| ) |
Get the value of a leaf type (string, pointer, primitive, enum)
| node | Type to get from |
| address | instance of type to get value of |
| LookupAddressAndTypeByName::Result DataTypeAlgorithm::lookupAddressAndTypeByName | ( | std::shared_ptr< const DataType > | node, |
| void * | starting_address, | ||
| MutableVariableName | name_elems | ||
| ) |
Search in the allocation of the given type for the address and type of a nested member with the correct name. If the name does not match the type, returns an empty result.
| node | DataType to search |
| starting_address | address of allocation to search |
| name_elems | name of variable to match, already parsed |
| LookupAddressAndTypeByName::Result DataTypeAlgorithm::lookupAddressAndTypeByName | ( | std::shared_ptr< const DataType > | node, |
| void * | starting_address, | ||
| std::string | full_name | ||
| ) |
Search in the allocation of the given type for a nested member with the correct name. If the name does not match the type, returns an empty result.
| node | DataType to search |
| starting_address | address of allocation to search |
| full_name | name of variable to match |
| LookupNameByAddressAndType::Result DataTypeAlgorithm::lookupNameByAddressAndType | ( | std::shared_ptr< const DataType > | node, |
| std::string | starting_name, | ||
| void * | starting_address, | ||
| void * | lookup_address, | ||
| std::shared_ptr< const DataType > const | search_type | ||
| ) |
Traverse the allocation of the given type to get the name of nested member that starts at the given address and is of the given type.
| node | DataType to search |
| starting_name | Name of the root allocation |
| starting_address | address of the allocation to search |
| lookup_address | address of the variable we are looking for |
| search_type | type of the variable we are looking for |
| void DataTypeAlgorithm::printValue | ( | std::shared_ptr< const DataType > | node, |
| std::ostream & | s, | ||
| void * | address | ||
| ) |
Print an ascii representation of the value starting at the given address of the given type to the given stream.
| node | DataType of value to print |
| s | ostream to print to |
| address | Starting address of value to print |
| bool DataTypeAlgorithm::resizeSequence | ( | std::shared_ptr< const DataType > | node, |
| void * | address, | ||
| int | num_elems | ||
| ) |
Resize a sequence to the given size.
| node | type (should be a SequenceDataType) |
| address | address of allocation |
| num_elems | new size |