Polaris: EntryStmt Class Reference

EntryStmt Class Reference

#include <EntryStmt.h>

Inheritance diagram for EntryStmt:

Inheritance graph
[legend]
List of all members.

Public Member Functions

const Expressionroutine_guarded () const
Expressionroutine_guarded ()
int routine_valid () const
void routine (Expression *e)
const Expressionparameters_guarded () const
Expressionparameters_guarded ()
int parameters_valid () const
void parameters (Expression *e)
Boolean access_summary_exists ()
SymbolAccessRefMapaccess_summary ()
void access_summary (SymbolAccessRefMap *sarm)
 Write out the access summary.
void write_access_summary (ostream &o)
virtual int structures_OK () const
virtual void convert (BinRep &stmt, ExprTable &etable, Symtab &symtab, const NamelistDict &namelists, const FormatDB &formats, Dictionary< NextEntry > *next_table)
 EntryStmt (const char *l, Expression *routine_exp, Expression *parameters_exp)
 EntryStmt (const EntryStmt &stmt)
 EntryStmt (const char *l, Expression *routine_exp, Expression *parameters_exp, SymbolAccessRefMap *refmap)
virtual ~EntryStmt ()
virtual EntryStmtoperator= (const EntryStmt &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 relink_sptrs (ProgramUnit &p)
 Change _routine pointer to point within given ProgramUnit.
virtual void exchange_convert (VDL &vdl)
 Convert the Statement into the exchange format.

Protected Member Functions

 EntryStmt (const char *l)

Protected Attributes

SymbolAccessRefMap_access_summary

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

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

Definition at line 5596 of file Statement.cc.

References _access_summary, ENTRY_STMT, List< T >::make_static_list(), List< T >::modify(), omega(), PARAMETERS, and ROUTINE_EXPR.

Referenced by clone().

EntryStmt::EntryStmt const char *  l,
Expression routine_exp,
Expression parameters_exp
 

Definition at line 5606 of file Statement.cc.

References _access_summary, COMMA_OP, ENTRY_STMT, ID_OP, List< T >::make_static_list(), List< T >::modify(), null_to_omega(), PARAMETERS, and ROUTINE_EXPR.

EntryStmt::EntryStmt const EntryStmt stmt  ) 
 

Definition at line 5645 of file Statement.cc.

References _access_summary, Statement::copy_base(), ENTRY_STMT, SymbolAccessRefMap::incorporate(), List< T >::modify(), PARAMETERS, and ROUTINE_EXPR.

EntryStmt::EntryStmt const char *  l,
Expression routine_exp,
Expression parameters_exp,
SymbolAccessRefMap refmap
 

Definition at line 5625 of file Statement.cc.

References _access_summary, COMMA_OP, ENTRY_STMT, ID_OP, List< T >::make_static_list(), List< T >::modify(), null_to_omega(), PARAMETERS, and ROUTINE_EXPR.

EntryStmt::~EntryStmt  )  [virtual]
 

Definition at line 5695 of file Statement.cc.

References _access_summary.


Member Function Documentation

const Expression& EntryStmt::routine_guarded  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 25 of file EntryStmt.h.

References ROUTINE_EXPR.

Referenced by fortran_write().

Expression& EntryStmt::routine_guarded  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 27 of file EntryStmt.h.

References ROUTINE_EXPR.

int EntryStmt::routine_valid  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 30 of file EntryStmt.h.

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

void EntryStmt::routine Expression e  )  [virtual]
 

Reimplemented from Statement.

Definition at line 5587 of file Statement.cc.

References e, ID_OP, List< T >::modify(), Expression::op(), and ROUTINE_EXPR.

const Expression& EntryStmt::parameters_guarded  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 36 of file EntryStmt.h.

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

Referenced by interface_vars().

Expression& EntryStmt::parameters_guarded  )  [inline, virtual]
 

Reimplemented from Statement.

Definition at line 42 of file EntryStmt.h.

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

int EntryStmt::parameters_valid  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 48 of file EntryStmt.h.

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

Referenced by exchange_convert(), and interface_vars().

void EntryStmt::parameters Expression e  )  [virtual]
 

Reimplemented from Statement.

Definition at line 5578 of file Statement.cc.

References COMMA_OP, e, List< T >::modify(), Expression::op(), and PARAMETERS.

Boolean EntryStmt::access_summary_exists  ) 
 

Definition at line 5543 of file Statement.cc.

References _access_summary, False, and True.

SymbolAccessRefMap & EntryStmt::access_summary  ) 
 

Definition at line 5553 of file Statement.cc.

References _access_summary.

void EntryStmt::access_summary SymbolAccessRefMap sarm  ) 
 

Write out the access summary.

Definition at line 5569 of file Statement.cc.

References _access_summary.

void EntryStmt::write_access_summary ostream &  o  ) 
 

Definition at line 5559 of file Statement.cc.

References _access_summary, SymbolAccessRefMap::write(), and SymbolAccessMap::write().

int EntryStmt::structures_OK  )  const [virtual]
 

Implements Statement.

Definition at line 5771 of file Statement.cc.

References Statement::in_out_refs_structures_OK().

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

Reimplemented from Statement.

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

Definition at line 5666 of file Statement.cc.

References _access_summary, Statement::copy_base(), SymbolAccessRefMap::incorporate(), List< T >::modify(), PARAMETERS, and ROUTINE_EXPR.

Statement * EntryStmt::clone  )  const [virtual]
 

Implements Statement.

Definition at line 5690 of file Statement.cc.

References EntryStmt().

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

... comment '}'

Implements Statement.

Definition at line 5750 of file Statement.cc.

References _access_summary, PARAMETERS, ROUTINE_EXPR, and List< T >::valid().

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

... Main entry point of program unit

... silvius: f77 on Linux complains about functions like this: ... FUNCTION f ... It needs: ... FUNCTION f()

Implements Statement.

Definition at line 5703 of file Statement.cc.

References Expression::arg_list(), COMMA_OP, e, List< T >::entries(), fortran_indent(), FUNCTION_CLASS, ID_OP, Expression::op(), PARAMETERS, ROUTINE_EXPR, routine_guarded(), Symbol::sym_class(), Expression::symbol(), and List< T >::valid().

virtual void EntryStmt::relink_sptrs ProgramUnit p  )  [virtual]
 

Change _routine pointer to point within given ProgramUnit.

Reimplemented from Statement.

void EntryStmt::exchange_convert VDL vdl  )  [virtual]
 

Convert the Statement into the exchange format.

Reimplemented from Statement.

Definition at line 5779 of file Statement.cc.

References Statement::exchange_convert(), BinRep::find_ref(), Set< T >::ins(), List< T >::ins_last(), parameters_valid(), 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

SymbolAccessRefMap* EntryStmt::_access_summary [protected]
 

Definition at line 20 of file EntryStmt.h.

Referenced by access_summary(), access_summary_exists(), EntryStmt(), operator=(), print_debug(), write_access_summary(), and ~EntryStmt().


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:07:17 2005