sail::FieldRefWrite Class Reference

Represents a field write of the form v.f1...fk = s. More...

#include <FieldRefWrite.h>

Inheritance diagram for sail::FieldRefWrite:
sail::Instruction

List of all members.

Public Member Functions

 FieldRefWrite (Variable *v1, Symbol *v2, int offset, il::node *original, int line)
 FieldRefWrite (Variable *v1, Symbol *v2, il::record_info *ri, il::node *original, int line)
 FieldRefWrite (Variable *v1, Symbol *v2, string &name, int offset, il::node *original, int line)
virtual string to_string () const
virtual string to_string (bool pretty_print) const
Variableget_lhs ()
Symbolget_rhs ()
int get_offset ()
string get_field_name ()
virtual bool is_removable ()

Friends

class boost::serialization::access

Detailed Description

Represents a field write of the form v.f1...fk = s.


Member Function Documentation

string sail::FieldRefWrite::get_field_name (  ) 
Returns:
a string representing the sequence of field selectors for pretty printing.
Variable * sail::FieldRefWrite::get_lhs (  ) 
Returns:
the struct whose fields are written to
int sail::FieldRefWrite::get_offset (  ) 
Returns:
the aggregate offset of the field selectors
Symbol * sail::FieldRefWrite::get_rhs (  ) 
Returns:
the value that is written
bool sail::FieldRefWrite::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:32 2010 by  doxygen 1.6.3