#ifndef __METHOD_HPP #define __METHOD_HPP #include "member.hpp" #include "plist.hpp" #include "string.hpp" class istream; class ostream; class aMethod : public aMember { typedef aMember inherited; aParameterList parameters; int ismodifying; int isvirtual; public: enum methodtype { mtNormal, mtVirtual, mtMeta }; aMethod(const char *name, const char *typename, reftype r, int c, methodtype mt, int ismodifier); aMethod(const String& name, const String& typename, reftype r, int c, methodtype mt, int ismodifier); aMethod(const aMethod& i); aMethod(istream& is); virtual ~aMethod(); methodtype getMethodType() const; int isModifying() const; aListAccessor *initparamrun() ; virtual int isField() const { return 0; } //stream stuff friend ostream& operator<<(ostream& os, const aMethod& m); virtual ostream& write(ostream& os) const; }; inline ostream& operator<<(ostream& os, const aMethod& m) { return m.write(os); } #endif