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

#ifndef __javax_tools_Diagnostic__
#define __javax_tools_Diagnostic__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace tools
    {
        class Diagnostic;
        class Diagnostic$Kind;
    }
  }
}

class javax::tools::Diagnostic : public ::java::lang::Object
{

public:
  virtual ::javax::tools::Diagnostic$Kind * getKind() = 0;
  virtual ::java::lang::Object * getSource() = 0;
  virtual jlong getPosition() = 0;
  virtual jlong getStartPosition() = 0;
  virtual jlong getEndPosition() = 0;
  virtual jlong getLineNumber() = 0;
  virtual jlong getColumnNumber() = 0;
  virtual ::java::lang::String * getCode() = 0;
  virtual ::java::lang::String * getMessage(::java::util::Locale *) = 0;
  static const jlong NOPOS = -1LL;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_tools_Diagnostic__
