sail::AssumeSize Class Reference

A convenience instruction for annotating buffer sizes. assume_size(b, s) indicates size of buffer b is s (in bytes). More...

#include <AssumeSize.h>

Inheritance diagram for sail::AssumeSize:
sail::Instruction

List of all members.

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::nodeget_original_node ()
virtual bool is_save_instruction ()
bool is_synthetic ()
Symbolget_buffer ()
Symbolget_size ()
virtual bool is_removable ()

Friends

class boost::serialization::access

Detailed Description

A convenience instruction for annotating buffer sizes. assume_size(b, s) indicates size of buffer b is s (in bytes).


Member Function Documentation

il::node * sail::AssumeSize::get_original_node (  ) 

This function provides the mapping between the low and the high-level representations.

Returns:
the corresponding expression or statement in the higher-level language that this instruction was generated from.

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.


The documentation for this class was generated from the following files:
Generated on Sun Oct 17 14:01:31 2010 by  doxygen 1.6.3