// Copyright (c) 1995 David Engberg All rights reserved // $Id: JavaExceptionsTable.h,v 1.4 1998/04/12 22:14:44 geppetto Exp $ #ifndef _JavaExceptionsTable_h #define _JavaExceptionsTable_h #ifdef __GNUG__ #pragma interface #endif #include "JavaAttribute.h" // // Class name : CJavaExceptionsTable // Description : This attribute stores the exceptions that a method is // declared. // class CJavaExceptionsTable : public CJavaAttribute { DynamicCastDeclarations; public: static CJavaExceptionsTable* ParseBuffer(string::const_iterator& javaBuffer, const CJavaClassFile& classFile); CJavaExceptionsTable(); CJavaExceptionsTable(const deque& exceptions); virtual ~CJavaExceptionsTable(); void Disassemble(ostream& toStream) const; string Compile(CJavaClassFile& inClass) const; unsigned long Size() const { return fExceptions.size(); } void AddException(const unicode_string& className); deque::const_iterator ThrowsBegin() const; deque::const_iterator ThrowsEnd() const; private: deque fExceptions; }; #endif