ftp.nice.ch/pub/next/developer/languages/java/guavac.0.2.5.s.tar.gz#/guavac-0.2.5/common/JavaMethodInfo.h

This is JavaMethodInfo.h in view mode; [Download] [Up]

// $Id: JavaMethodInfo.h,v 1.5 1996/07/12 20:42:34 geppetto Exp $
// Copyright (c) 1995  David Engberg  All rights reserved
#ifndef _JavaMethodInfo_h
#define _JavaMethodInfo_h
#pragma interface

#include "JavaClassFile.h"
#include "JavaMethodSignature.h"
#include "JavaAccessFlags.h"
class CJavaCodeAttribute;
class CJavaExceptionsTable;
class ostream;
class CCompiler;

//
//  Class name : CJavaMethodInfo
//  Description : This class encapsulates the information found in one method
//    on a Java class.  This includes indices for the name and signature of
//    the method as well as access flags and code for the method.
//
class CJavaMethodInfo {
public:
  static CJavaMethodInfo* ParseBuffer(string::const_iterator& javaBuffer,
				      const CJavaClassFile& classFile,
				      bool interfaceOnly = false);

  const CJavaMethodSignature& GetSignature() const { return fSignature; }
  const CJavaAccessFlags& GetModifiers() const { return fAccessFlags; }
  const CJavaCodeAttribute* GetCode() const { return fCodeAttribute; }
  CJavaCodeAttribute* GetCode() { return fCodeAttribute; }

  void Disassemble(ostream& toStream) const;
  string Compile(CJavaClassFile& inClass) const;

  void AddReference() const;
  void RemoveReference() const;

  bool ThrowsExceptions() const;
  deque<unicode_string>::const_iterator ThrowsBegin() const;
  deque<unicode_string>::const_iterator ThrowsEnd() const;
protected:
  CJavaMethodInfo();
  ~CJavaMethodInfo();
private:
  friend class CCompiler;
  CJavaAccessFlags fAccessFlags;
  CJavaMethodSignature fSignature;
  CJavaCodeAttribute* fCodeAttribute;
  CJavaExceptionsTable* fExceptions;
  unsigned long fReferenceCount;
};

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.