Polaris: ReturnStmt Class Reference

ReturnStmt Class Reference

#include <ReturnStmt.h>

Inheritance diagram for ReturnStmt:

Inheritance graph
[legend]
List of all members.

Public Member Functions

void build_refs ()
const Expressionexpr_guarded () const
Expressionexpr_guarded ()
int expr_valid () const
void expr (Expression *e)
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)
 ReturnStmt (const char *l, Expression *expr_exp)
 ReturnStmt (const ReturnStmt &stmt)
virtual ~ReturnStmt ()
virtual ReturnStmtoperator= (const ReturnStmt &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

 ReturnStmt (const char *l)

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

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

Definition at line 5863 of file Statement.cc.

References List< T >::make_static_list(), List< T >::modify(), omega(), RETURN_EXPR, and RETURN_STMT.

Referenced by clone().

ReturnStmt::ReturnStmt const char *  l,
Expression expr_exp
 

Definition at line 5870 of file Statement.cc.

References build_refs(), List< T >::make_static_list(), List< T >::modify(), null_to_omega(), RETURN_EXPR, and RETURN_STMT.

ReturnStmt::ReturnStmt const ReturnStmt stmt  ) 
 

Definition at line 5879 of file Statement.cc.

References build_refs(), Statement::copy_base(), and RETURN_STMT.

ReturnStmt::~ReturnStmt  )  [virtual]
 

... nothing to do

Definition at line 5902 of file Statement.cc.


Member Function Documentation

void ReturnStmt::build_refs  )  [virtual]
 

... _out_refs are the same as the act_refs

Reimplemented from Statement.

Definition at line 5838 of file Statement.cc.

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

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

const Expression& ReturnStmt::expr_guarded  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 22 of file ReturnStmt.h.

References RETURN_EXPR, and List< T >::valid().

Expression& ReturnStmt::expr_guarded  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 28 of file ReturnStmt.h.

References RETURN_EXPR, and List< T >::valid().

int ReturnStmt::expr_valid  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 34 of file ReturnStmt.h.

References OMEGA_OP, RETURN_EXPR, True, and List< T >::valid().

void ReturnStmt::expr Expression e  )  [virtual]
 

Reimplemented from Statement.

Definition at line 5856 of file Statement.cc.

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

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

Reimplemented from Statement.

Definition at line 5984 of file Statement.cc.

References FLOW_EXIT_STMT, RefSet< T >::ins(), and Statement::stmt_class().

int ReturnStmt::structures_OK  )  const [virtual]
 

Implements Statement.

Definition at line 5932 of file Statement.cc.

References Statement::in_out_refs_structures_OK().

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

Reimplemented from Statement.

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

Definition at line 5887 of file Statement.cc.

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

Statement * ReturnStmt::clone  )  const [virtual]
 

Implements Statement.

Definition at line 5897 of file Statement.cc.

References ReturnStmt().

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

... comment '}'

Implements Statement.

Definition at line 5920 of file Statement.cc.

References RETURN_EXPR, and List< T >::valid().

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

Implements Statement.

void ReturnStmt::exchange_convert VDL vdl  )  [virtual]
 

Convert the Statement into the exchange format.

Reimplemented from Statement.

Definition at line 5940 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.


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:08:09 2005