
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_lang_instrument_Instrumentation__
#define __java_lang_instrument_Instrumentation__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>


class java::lang::instrument::Instrumentation : public ::java::lang::Object
{

public:
  virtual void addTransformer(::java::lang::instrument::ClassFileTransformer *) = 0;
  virtual jboolean removeTransformer(::java::lang::instrument::ClassFileTransformer *) = 0;
  virtual jboolean isRedefineClassesSupported() = 0;
  virtual void redefineClasses(JArray< ::java::lang::instrument::ClassDefinition * > *) = 0;
  virtual JArray< ::java::lang::Class * > * getAllLoadedClasses() = 0;
  virtual JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *) = 0;
  virtual jlong getObjectSize(::java::lang::Object *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_lang_instrument_Instrumentation__
