File: pdbFRoutine.h
/*************************************************************************/
/* DUCTAPE Version 2.0 */
/* Copyright (C) 2001 */
/* Forschungszentrum Juelich, Zentralinstitut fuer Angewandte Mathematik */
/*************************************************************************/
#ifndef __PDB_FROUTINE_H__
#define __PDB_FROUTINE_H__
#include "pdbRoutine.h"
class pdbFRoutine : public pdbRoutine {
public:
pdbFRoutine(int id);
pdbFRoutine(const string& name, int id);
virtual ~pdbFRoutine();
virtual ostream& print(ostream& ostr) const;
virtual void adjustPtrs(PDB* p);
typedef vector<pdbFRoutine *> implvec;
bool isRecursive() const;
bool isElemental() const;
bool hasExplicitInterface() const;
const pdbFRoutine* parentRoutine() const;
const pdbFRoutine* isAliasFor() const;
const implvec& implementedBy() const;
const locvec& stopLocations() const;
void isRecursive(bool r);
void isElemental(bool e);
void hasExplicitInterface(bool i);
void parentRoutine(const pdbFRoutine* p);
void isAliasFor(const pdbFRoutine* a);
void addImplementation(pdbFRoutine* i);
void addStopLocation(pdbFile *file, int line, int col);
virtual void process(PDB *p);
private:
bool isRec;
bool isElem;
bool eIntface;
const pdbFRoutine* prnt;
const pdbFRoutine* alas;
implvec impls;
locvec stops;
};
#ifndef NO_INLINE
# include "pdbFRoutine.inl"
#endif
#endif
Back to Index
Key to Colors and Styles