Polaris: AssignedGotoStmt Class Reference

AssignedGotoStmt Class Reference

#include <AssignedGotoStmt.h>

Inheritance diagram for AssignedGotoStmt:

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)
 AssignedGotoStmt (const char *l, Expression *expr_exp, Statement *stmt1, Statement *stmt2=0, Statement *stmt3=0, Statement *stmt4=0, Statement *stmt5=0)
 AssignedGotoStmt (const AssignedGotoStmt &stmt)
virtual ~AssignedGotoStmt ()
virtual AssignedGotoStmtoperator= (const AssignedGotoStmt &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.
 AssignedGotoStmt (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

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

Definition at line 6762 of file Statement.cc.

References ASSIGNED_GOTO_STMT, ASSIGNEDGOTO_EXPR, List< T >::make_static_list(), List< T >::modify(), and omega().

Referenced by clone().

AssignedGotoStmt::AssignedGotoStmt const char *  l,
Expression expr_exp,
Statement stmt1,
Statement stmt2 = 0,
Statement stmt3 = 0,
Statement stmt4 = 0,
Statement stmt5 = 0
 

Definition at line 6769 of file Statement.cc.

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

AssignedGotoStmt::AssignedGotoStmt const AssignedGotoStmt stmt  ) 
 

Definition at line 6791 of file Statement.cc.

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

AssignedGotoStmt::~AssignedGotoStmt  )  [virtual]
 

... nothing to do

Definition at line 6816 of file Statement.cc.


Member Function Documentation

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

Copies base values of this into other.

Reimplemented from Statement.

Definition at line 6895 of file Statement.cc.

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

void AssignedGotoStmt::build_refs  )  [virtual]
 

... _in_refs and _act_refs come from the Computed GOTO expression

... _out_refs are just the same as the act_refs

Reimplemented from Statement.

Definition at line 6713 of file Statement.cc.

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

Referenced by AssignedGotoStmt(), expr(), and operator=().

void AssignedGotoStmt::expr Expression e  )  [virtual]
 

Reimplemented from Statement.

Definition at line 6730 of file Statement.cc.

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

const Expression & AssignedGotoStmt::expr  )  const [virtual]
 

Reimplemented from Statement.

Definition at line 6737 of file Statement.cc.

References ASSIGNEDGOTO_EXPR.

Expression & AssignedGotoStmt::expr  )  [virtual]
 

Reimplemented from Statement.

Definition at line 6744 of file Statement.cc.

References ASSIGNEDGOTO_EXPR.

const RefList< Statement > & AssignedGotoStmt::label_list  )  const [virtual]
 

Reimplemented from Statement.

Definition at line 6751 of file Statement.cc.

References _label_list.

Referenced by exchange_convert().

RefList< Statement > & AssignedGotoStmt::label_list  )  [virtual]
 

Reimplemented from Statement.

Definition at line 6757 of file Statement.cc.

References _label_list.

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

Reimplemented from Statement.

Definition at line 6936 of file Statement.cc.

References Iterator< T >::current(), RefSet< T >::ins(), LABEL_STMT, and Iterator< T >::valid().

int AssignedGotoStmt::structures_OK  )  const [virtual]
 

Implements Statement.

Definition at line 6822 of file Statement.cc.

References Statement::in_out_refs_structures_OK().

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

Reimplemented from Statement.

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

Definition at line 6801 of file Statement.cc.

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

Statement * AssignedGotoStmt::clone  )  const [virtual]
 

Implements Statement.

Definition at line 6811 of file Statement.cc.

References AssignedGotoStmt().

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

... comment '}'

Implements Statement.

Definition at line 6920 of file Statement.cc.

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

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

Implements Statement.

void AssignedGotoStmt::exchange_convert VDL vdl  )  [virtual]
 

Convert the Statement into the exchange format.

Reimplemented from Statement.

Definition at line 6830 of file Statement.cc.

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


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> AssignedGotoStmt::_label_list [protected]
 

Definition at line 18 of file AssignedGotoStmt.h.

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

List<Statement> AssignedGotoStmt::_labels [protected]
 

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

Later, the underlying list is the statement list itself.

Definition at line 21 of file AssignedGotoStmt.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:57 2005