gcc/libjava/sun/reflect/annotation/AnnotationInvocationHandler.h
Andrew Haley 0618281a42 AnnotationInvocationHandler.java: Generify in a few places.
2007-03-02  Andrew Haley  <aph@redhat.com>

        * sun/reflect/annotation/AnnotationInvocationHandler.java:
        Generify in a few places.
        (equals): Rewrite to use invoke on local proxy.
        (deepToString): Remove most of it.
        (toString): Make nonstatic.
        (arrayClone): Delete.
        (coerce): New method.
        (invoke): Rewrite to handle gcj's structures correctly.
        * java/lang/natClass.cc (getDeclaredAnnotations): Fix test for
        null loader.
        * sources.am: Regenerate.
        * Makefile.am: Likewise.

From-SVN: r122483
2007-03-02 19:05:57 +00:00

56 lines
1.6 KiB
C++

// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __sun_reflect_annotation_AnnotationInvocationHandler__
#define __sun_reflect_annotation_AnnotationInvocationHandler__
#pragma interface
#include <java/lang/Object.h>
#include <gcj/array.h>
extern "Java"
{
namespace sun
{
namespace reflect
{
namespace annotation
{
class AnnotationInvocationHandler;
}
}
}
}
class sun::reflect::annotation::AnnotationInvocationHandler : public ::java::lang::Object
{
public:
AnnotationInvocationHandler(::java::lang::Class *, ::java::util::Map *);
static ::java::lang::annotation::Annotation * create(::java::lang::Class *, ::java::util::Map *);
jboolean equals(::java::lang::Object *, ::java::lang::Object *);
private:
static jboolean deepEquals(::java::lang::Object *, ::java::lang::Object *);
static jint deepHashCode(::java::lang::Object *);
public:
jint hashCode();
private:
static ::java::lang::String * deepToString(::java::lang::Object *);
public:
::java::lang::String * toString();
private:
static ::java::lang::Class * getBoxedReturnType(::java::lang::reflect::Method *);
::java::lang::Object * coerce(::java::lang::Object *, ::java::lang::Class *);
public:
::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *);
private:
static const jlong serialVersionUID = 6182022883658399397LL;
::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
::java::util::Map * memberValues;
public:
static ::java::lang::Class class$;
};
#endif // __sun_reflect_annotation_AnnotationInvocationHandler__