A convenience instruction for annotating buffer sizes. assume_size(b, s) indicates size of buffer b is s (in bytes). More...
#include <AssumeSize.h>
Public Member Functions | |
| AssumeSize (Symbol *buffer, Symbol *size, il::node *original, int line) | |
| virtual string | to_string () const |
| virtual string | to_string (bool pretty_print) const |
| il::node * | get_original_node () |
| virtual bool | is_save_instruction () |
| bool | is_synthetic () |
| Symbol * | get_buffer () |
| Symbol * | get_size () |
| virtual bool | is_removable () |
Friends | |
| class | boost::serialization::access |
A convenience instruction for annotating buffer sizes. assume_size(b, s) indicates size of buffer b is s (in bytes).
| il::node * sail::AssumeSize::get_original_node | ( | ) |
This function provides the mapping between the low and the high-level representations.
Reimplemented from sail::Instruction.
| bool sail::AssumeSize::is_removable | ( | ) | [virtual] |
An instruction is removable if it's not present in the original source code, but introduced in the translation from the high-level language to the low-level language. For instance, if **x is an expression used in the original code, the low-level language will introduce a temporary t=*x; such instructions are "removable" for printing purposes.
Implements sail::Instruction.
1.6.3