Polaris: EndIfStmt Class Reference

EndIfStmt Class Reference

#include <EndIfStmt.h>

Inheritance diagram for EndIfStmt:

Inheritance graph
[legend]
List of all members.

Public Member Functions

Statementmatching_if_ref () const
Statementlead_ref () 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)
 EndIfStmt (const char *l)
 EndIfStmt (const EndIfStmt &stmt)
virtual ~EndIfStmt ()
virtual EndIfStmtoperator= (const EndIfStmt &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 Attributes

Statement_matching_if
Statement_lead
 opposite of follow -- previous IF part

Friends

class StmtList
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

EndIfStmt::EndIfStmt const char *  l  ) 
 

Definition at line 3684 of file Statement.cc.

References _lead, _matching_if, and ENDIF_STMT.

Referenced by clone().

EndIfStmt::EndIfStmt const EndIfStmt stmt  ) 
 

Definition at line 3691 of file Statement.cc.

References _lead, _matching_if, Statement::copy_base(), and ENDIF_STMT.

EndIfStmt::~EndIfStmt  )  [virtual]
 

... nothing to do

Definition at line 3714 of file Statement.cc.


Member Function Documentation

Statement* EndIfStmt::matching_if_ref  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 22 of file EndIfStmt.h.

References _matching_if.

Statement* EndIfStmt::lead_ref  )  const [inline, virtual]
 

Reimplemented from Statement.

Definition at line 23 of file EndIfStmt.h.

References _lead.

int EndIfStmt::structures_OK  )  const [virtual]
 

Implements Statement.

Definition at line 3750 of file Statement.cc.

References Statement::in_out_refs_structures_OK().

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

Reimplemented from Statement.

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

Definition at line 3700 of file Statement.cc.

References _lead, _matching_if, and Statement::copy_base().

Statement * EndIfStmt::clone  )  const [virtual]
 

Implements Statement.

Definition at line 3709 of file Statement.cc.

References EndIfStmt().

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

... comment '}'

Implements Statement.

Definition at line 3732 of file Statement.cc.

References _matching_if, and Statement::tag().

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

Implements Statement.

void EndIfStmt::exchange_convert VDL vdl  )  [virtual]
 

Convert the Statement into the exchange format.

Reimplemented from Statement.

Definition at line 3758 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

friend class StmtList [friend]
 

Reimplemented from Statement.

Definition at line 14 of file EndIfStmt.h.

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

Statement* EndIfStmt::_matching_if [protected]
 

Definition at line 18 of file EndIfStmt.h.

Referenced by EndIfStmt(), matching_if_ref(), operator=(), and print_debug().

Statement* EndIfStmt::_lead [protected]
 

opposite of follow -- previous IF part

Definition at line 19 of file EndIfStmt.h.

Referenced by EndIfStmt(), lead_ref(), and operator=().


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