Polaris: ArithmeticIfStmt Class Reference

ArithmeticIfStmt Class Reference

#include <ArithmeticIfStmt.h>

Inheritance diagram for ArithmeticIfStmt:

Inheritance graph
[legend]
List of all members.

Public Member Functions

void build_refs ()
void expr (Expression *e)
const Expressionexpr () const
Expressionexpr ()
const RefList< Statement > & label_list () const
RefList< Statement > & label_list ()
virtual RefSet< Statement > * build_succ (const StmtList &stmts) const
virtual int structures_OK () const
virtual void convert (BinRep &stmt, ExprTable &etable, Symtab &symtab, const NamelistDict &namelists, const FormatDB &formats, Dictionary< NextEntry > *next_table)
 ArithmeticIfStmt (const char *l, Expression *expr_exp, Statement *stmt1, Statement *stmt2, Statement *stmt3)
 ArithmeticIfStmt (const ArithmeticIfStmt &stmt)
virtual ~ArithmeticIfStmt ()
virtual ArithmeticIfStmtoperator= (const ArithmeticIfStmt &stmt)
virtual Statementclone () const
virtual void print_debug (ostream &o, int debug) const
virtual void fortran_write (ostream &o, int &indent, char *type="") const
virtual void exchange_convert (VDL &vdl)
 Convert the Statement into the exchange format.

Protected Member Functions

virtual void _setptrs (Dictionary< VoidPtrDef > &labels, const FormatDB &formats)
 Copies base values of this into other.
 ArithmeticIfStmt (const char *l)

Protected Attributes

RefList< Statement_label_list
List< Statement_labels
 Temporary list for the RefList, used as Statement is built.

Friends

Statementmake_statement (const char *name, const BinRep &binstr)
 make_statement expects the statement name ("S10") and a binstr containing the statement set.

Constructor & Destructor Documentation

ArithmeticIfStmt::ArithmeticIfStmt const char *  l  )  [protected]
 

Definition at line 6286 of file Statement.cc.

References ARITHIF_EXPR, ARITHMETIC_IF_STMT, List< T >::make_static_list(), List< T >::modify(), and omega().

Referenced by clone().

ArithmeticIfStmt::ArithmeticIfStmt const char *  l,
Expression expr_exp,
Statement stmt1,
Statement stmt2,
Statement stmt3
 

Definition at line 6293 of file Statement.cc.

References _label_list, ARITHIF_EXPR, ARITHMETIC_IF_STMT, build_refs(), RefList< T >::ins_last(), List< T >::make_static_list(), List< T >::modify(), and null_to_omega().

ArithmeticIfStmt::ArithmeticIfStmt const ArithmeticIfStmt stmt  ) 
 

Definition at line 6308 of file Statement.cc.

References _label_list, ARITHIF_EXPR, ARITHMETIC_IF_STMT, build_refs(), Statement::copy_base(), and List< T >::modify().

ArithmeticIfStmt::~ArithmeticIfStmt  )  [virtual]
 

... nothing to do

Definition at line 6340 of file Statement.cc.


Member Function Documentation

void ArithmeticIfStmt::_setptrs Dictionary< VoidPtrDef > &  labels,
const FormatDB formats
[protected, virtual]
 

Copies base values of this into other.

Reimplemented from Statement.

Definition at line 6406 of file Statement.cc.

References Statement::_setptrs(), and List< T >::modify().

void ArithmeticIfStmt::build_refs  )  [virtual]
 

... _in_refs and _act_refs come from the If expression

... _out_refs are just the same as the act_refs

Reimplemented from Statement.

Definition at line 6270 of file Statement.cc.

References Statement::_add_act_refs(), Statement::_add_in_refs(), and RefSet< T >::clear().

Referenced by ArithmeticIfStmt(), and operator=().

void ArithmeticIfStmt::expr Expression e  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 31 of file ArithmeticIfStmt.h.

References ARITHIF_EXPR, e, and List< T >::modify().

const Expression& ArithmeticIfStmt::expr  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 35 of file ArithmeticIfStmt.h.

References ARITHIF_EXPR.

Expression& ArithmeticIfStmt::expr  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 36 of file ArithmeticIfStmt.h.

References ARITHIF_EXPR.

const RefList<Statement>& ArithmeticIfStmt::label_list  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 38 of file ArithmeticIfStmt.h.

References _label_list.

RefList<Statement>& ArithmeticIfStmt::label_list  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 41 of file ArithmeticIfStmt.h.

References _label_list.

virtual RefSet<Statement>* ArithmeticIfStmt::build_succ const StmtList stmts  )  const [virtual]
 

Reimplemented from Statement.

int ArithmeticIfStmt::structures_OK  )  const [virtual]
 

Implements Statement.

Definition at line 6346 of file Statement.cc.

References Statement::in_out_refs_structures_OK().

virtual void ArithmeticIfStmt::convert BinRep stmt,
ExprTable etable,
Symtab symtab,
const NamelistDict namelists,
const FormatDB formats,
Dictionary< NextEntry > *  next_table
[virtual]
 

Reimplemented from Statement.

ArithmeticIfStmt & ArithmeticIfStmt::operator= const ArithmeticIfStmt stmt  )  [virtual]
 

Definition at line 6321 of file Statement.cc.

References _label_list, ARITHIF_EXPR, build_refs(), Statement::copy_base(), and List< T >::modify().

Statement * ArithmeticIfStmt::clone  )  const [virtual]
 

Implements Statement.

Definition at line 6335 of file Statement.cc.

References ArithmeticIfStmt().

void ArithmeticIfStmt::print_debug ostream &  o,
int  debug
const [virtual]
 

... comment '}'

Implements Statement.

Definition at line 6429 of file Statement.cc.

References _label_list, ARITHIF_EXPR, RefList< T >::entries(), print_expr_ptr(), and print_stmt_tags().

virtual void ArithmeticIfStmt::fortran_write ostream &  o,
int &  indent,
char *  type = ""
const [virtual]
 

Implements Statement.

void ArithmeticIfStmt::exchange_convert VDL vdl  )  [virtual]
 

Convert the Statement into the exchange format.

Reimplemented from Statement.

Definition at line 6354 of file Statement.cc.

References Statement::exchange_convert(), BinRep::find_ref(), Set< T >::ins(), List< T >::ins_last(), Statement::tag(), BinRep::to_set(), and BinRep::to_tuple().


Friends And Related Function Documentation

Statement* make_statement const char *  name,
const BinRep binstr
[friend]
 

make_statement expects the statement name ("S10") and a binstr containing the statement set.

It returns a pointer to the correct statement object with the tag field already filled in.

The statement table contains tuples of the from ["tag", { all the statement info}]. One should call make_statement passing the "tag" for the name and a binstr which represents the set.

Definition at line 265 of file StmtList.cc.


Member Data Documentation

RefList<Statement> ArithmeticIfStmt::_label_list [protected]
 

Definition at line 18 of file ArithmeticIfStmt.h.

Referenced by ArithmeticIfStmt(), label_list(), operator=(), and print_debug().

List<Statement> ArithmeticIfStmt::_labels [protected]
 

Temporary list for the RefList, used as Statement is built.

Later, the underlying list is the statement list itself.

Definition at line 22 of file ArithmeticIfStmt.h.


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:06:42 2005