PointerSymbol Class Referencea Symbol of class VARIABLE_CLASS
More...
#include <PointerSymbol.h>
Inheritance diagram for PointerSymbol:
[legend]List of all members.
|
Public Member Functions |
| | PointerSymbol (const char *name, Symbol &assoc, const Type &type, FORMAL_BOOL formal, SAVED_BOOL saved, ArrayBounds *bounds1=0, ArrayBounds *bounds2=0, ArrayBounds *bounds3=0, ArrayBounds *bounds4=0, ArrayBounds *bounds5=0, ArrayBounds *bounds6=0, ArrayBounds *bounds7=0) |
| | Constructor.
|
| | PointerSymbol (const char *name, const Type &type, FORMAL_BOOL formal, SAVED_BOOL saved, ArrayBounds *bounds1=0, ArrayBounds *bounds2=0, ArrayBounds *bounds3=0, ArrayBounds *bounds4=0, ArrayBounds *bounds5=0, ArrayBounds *bounds6=0, ArrayBounds *bounds7=0) |
| | PointerSymbol (const char *name, Symbol &assoc, const Type &type, FORMAL_BOOL formal, SAVED_BOOL saved, GLOBAL_BOOL global, ArrayBounds *bounds1=0, ArrayBounds *bounds2=0, ArrayBounds *bounds3=0, ArrayBounds *bounds4=0, ArrayBounds *bounds5=0, ArrayBounds *bounds6=0, ArrayBounds *bounds7=0) |
| | PointerSymbol (const char *name, const Type &type, FORMAL_BOOL formal, SAVED_BOOL saved, GLOBAL_BOOL global, ArrayBounds *bounds1=0, ArrayBounds *bounds2=0, ArrayBounds *bounds3=0, ArrayBounds *bounds4=0, ArrayBounds *bounds5=0, ArrayBounds *bounds6=0, ArrayBounds *bounds7=0) |
| | PointerSymbol (const PointerSymbol &vsym) |
| PointerSymbol & | operator= (const PointerSymbol &vsym) |
| virtual const Symbol & | assoc_variable () const |
| virtual Symbol & | assoc_variable () |
| virtual int | is_pointer () const |
| virtual Symbol * | clone () const |
| | Clone constructor -- returns base pointer to a new clone of this Symbol.
|
| virtual Symbol * | clone_all () const |
| | Clone constructor -- returns base pointer to a new clone of this Symbol.
|
| virtual | ~PointerSymbol () |
| virtual void | print (ostream &o) const |
| | Print onto stream 'o'.
|
| virtual void | fill_in (const BinRep &binstr, ExprTable &exprs, const Dictionary< VoidPtrDef > &stmts, const Dictionary< VoidPtrDef > &commons, const Dictionary< VoidPtrDef > &equivalences) |
| | Fill in all relevant info from a binstr object.
|
| int | structures_OK () const |
| | Check the structure of the data for errors or inconsistency Return 0 and print error message if problems found, otherwise return 1 without message.
|
| virtual void | exchange_convert (VDL &vdl) |
| | Convert the Symbol into the exchange format.
|
| virtual void | relink_dptrs (ProgramUnit &p) |
| | Change all pointers found in a PointerSymbol element to point into the given ProgramUnit.
|
Detailed Description
a Symbol of class VARIABLE_CLASS
Polaris C++ VDL - See also:
- Symbol.h
Symbol.h
VariableSymbol.h
PointerSymbol.h
Symbol.cc
A PointerSymbol is a Symbol representing a Fortran POINTER variable.
The additional field it adds to VariableSymbol's fields is the pointer to the Symbol is it associated with.
See Symbol and VariableSymbol for more information.
Definition at line 33 of file PointerSymbol.h.
Constructor & Destructor Documentation
| PointerSymbol::PointerSymbol |
( |
const char * |
name, |
|
|
Symbol & |
assoc, |
|
|
const Type & |
type, |
|
|
FORMAL_BOOL |
formal, |
|
|
SAVED_BOOL |
saved, |
|
|
ArrayBounds * |
bounds1 = 0, |
|
|
ArrayBounds * |
bounds2 = 0, |
|
|
ArrayBounds * |
bounds3 = 0, |
|
|
ArrayBounds * |
bounds4 = 0, |
|
|
ArrayBounds * |
bounds5 = 0, |
|
|
ArrayBounds * |
bounds6 = 0, |
|
|
ArrayBounds * |
bounds7 = 0 |
|
) |
|
|
|
|
Constructor.
Equivalence and CommonBlock information, if desired, must be entered separately using the appropriate functions. If the variable is an array, the dimension bounds may be initialized here, up to 5 dimensions. If more are needed, insert them directly into the array dimensions field using code such as
PointerSymbol *var("VAR1", make_type(INTEGER_TYPE), IS_FORMAL, NOT_SAVED); var.dim().ins_last(new ArrayBounds(new IntConstExpr(1), new IntconstExpr(100)); // First dimension is '1:100' etc.
Referenced by clone(), and clone_all(). |
| PointerSymbol::PointerSymbol |
( |
const char * |
name, |
|
|
const Type & |
type, |
|
|
FORMAL_BOOL |
formal, |
|
|
SAVED_BOOL |
saved, |
|
|
ArrayBounds * |
bounds1 = 0, |
|
|
ArrayBounds * |
bounds2 = 0, |
|
|
ArrayBounds * |
bounds3 = 0, |
|
|
ArrayBounds * |
bounds4 = 0, |
|
|
ArrayBounds * |
bounds5 = 0, |
|
|
ArrayBounds * |
bounds6 = 0, |
|
|
ArrayBounds * |
bounds7 = 0 |
|
) |
|
|
| PointerSymbol::PointerSymbol |
( |
const char * |
name, |
|
|
Symbol & |
assoc, |
|
|
const Type & |
type, |
|
|
FORMAL_BOOL |
formal, |
|
|
SAVED_BOOL |
saved, |
|
|
GLOBAL_BOOL |
global, |
|
|
ArrayBounds * |
bounds1 = 0, |
|
|
ArrayBounds * |
bounds2 = 0, |
|
|
ArrayBounds * |
bounds3 = 0, |
|
|
ArrayBounds * |
bounds4 = 0, |
|
|
ArrayBounds * |
bounds5 = 0, |
|
|
ArrayBounds * |
bounds6 = 0, |
|
|
ArrayBounds * |
bounds7 = 0 |
|
) |
|
|
| PointerSymbol::PointerSymbol |
( |
const char * |
name, |
|
|
const Type & |
type, |
|
|
FORMAL_BOOL |
formal, |
|
|
SAVED_BOOL |
saved, |
|
|
GLOBAL_BOOL |
global, |
|
|
ArrayBounds * |
bounds1 = 0, |
|
|
ArrayBounds * |
bounds2 = 0, |
|
|
ArrayBounds * |
bounds3 = 0, |
|
|
ArrayBounds * |
bounds4 = 0, |
|
|
ArrayBounds * |
bounds5 = 0, |
|
|
ArrayBounds * |
bounds6 = 0, |
|
|
ArrayBounds * |
bounds7 = 0 |
|
) |
|
|
| PointerSymbol::PointerSymbol |
( |
const PointerSymbol & |
vsym |
) |
[inline] |
|
Member Function Documentation
| const Symbol & PointerSymbol::assoc_variable |
( |
|
) |
const [virtual] |
|
|
|
... This return should never happen.
Reimplemented from Symbol.
Definition at line 2427 of file Symbol.cc. |
| Symbol & PointerSymbol::assoc_variable |
( |
|
) |
[virtual] |
|
|
|
... This return should never happen.
Reimplemented from Symbol.
Definition at line 2433 of file Symbol.cc. |
| int PointerSymbol::is_pointer |
( |
|
) |
const [inline, virtual] |
|
| Symbol * PointerSymbol::clone |
( |
|
) |
const [virtual] |
|
| Symbol * PointerSymbol::clone_all |
( |
|
) |
const [virtual] |
|
| void PointerSymbol::print |
( |
ostream & |
o |
) |
const [virtual] |
|
|
|
Fill in all relevant info from a binstr object.
Reimplemented from VariableSymbol. |
| int PointerSymbol::structures_OK |
( |
|
) |
const [virtual] |
|
|
|
Check the structure of the data for errors or inconsistency Return 0 and print error message if problems found, otherwise return 1 without message.
Reimplemented from VariableSymbol.
Definition at line 2521 of file Symbol.cc. |
| void PointerSymbol::exchange_convert |
( |
VDL & |
vdl |
) |
[virtual] |
|
| void PointerSymbol::relink_dptrs |
( |
ProgramUnit & |
p |
) |
[virtual] |
|
The documentation for this class was generated from the following files:
|