/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */

#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif

#ifdef JCGO_116

#ifdef CHKALL_java_lang_reflect_Method
#include "jcgobchk.h"
#endif

JCGO_NOSEP_INLINE java_lang_Class CFASTCALL
java_lang_reflect_Method__getReturnType__( java_lang_reflect_Method
 This )
{
 {
  return (java_lang_reflect_VMMethod__getReturnType__L4phwq(
   This));
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_reflect_Method__getModifiers__( java_lang_reflect_Method
 This )
{
 {
  return (java_lang_reflect_VMMethod__getModifiersInternal__L4phwq(
   This)) & java_lang_reflect_Method__METHOD_MODIFIERS;
 }
}

JCGO_NOSEP_STATIC java_lang_reflect_Method CFASTCALL
java_lang_reflect_Method__this__LcLsILcLcALcAILs( java_lang_reflect_Method
 This, java_lang_Class declaringClass, java_lang_String name, java_lang_Class
 returnType, jObjectArr parameterTypes, jObjectArr exceptionTypes,
 java_lang_String signature, jint slot, jint modifiers )
{
 {
  (java_lang_reflect_AccessibleObject__this__((java_lang_reflect_AccessibleObject)This));
  if (declaringClass == jnull || name == jnull || returnType == jnull ||
   parameterTypes == jnull || exceptionTypes == jnull)
  {
   JCGO_THROW_EXC(java_lang_NullPointerException__new__());
  }
  JCGO_FIELD_NZACCESS(This, declaringClass)= declaringClass;
  JCGO_FIELD_NZACCESS(This, name)= name;
  JCGO_FIELD_NZACCESS(This, slot)= slot;
  JCGO_FIELD_NZACCESS(This, returnType)= returnType;
  JCGO_FIELD_NZACCESS(This, parameterTypes)= parameterTypes;
  JCGO_FIELD_NZACCESS(This, exceptionTypes)= exceptionTypes;
  JCGO_FIELD_NZACCESS(This, modifiers)= modifiers;
  (void)signature;
 }
 return This;
}

JCGO_NOSEP_FRWINL java_lang_reflect_Method CFASTCALL
java_lang_reflect_Method__new__LcLsILcLcALcAILs( java_lang_Class declaringClass,
 java_lang_String name, java_lang_Class returnType, jObjectArr parameterTypes,
 jObjectArr exceptionTypes, java_lang_String signature, jint slot,
 jint modifiers )
{
 return java_lang_reflect_Method__this__LcLsILcLcALcAILs(
  (java_lang_reflect_Method)jcgo_newObject((jvtable)&java_lang_reflect_Method_methods),
  declaringClass, name, returnType, parameterTypes, exceptionTypes,
  signature, slot, modifiers);
}

JCGO_NOSEP_STATIC java_lang_Class CFASTCALL
java_lang_reflect_Method__getDeclaringClass__( java_lang_reflect_Method
 This )
{
 {
  if (JCGO_FIELD_NZACCESS(This, declaringClass) == jnull)
  {
   JCGO_THROW_EXC(java_lang_InternalError__new__());
  }
  return JCGO_FIELD_NZACCESS(This, declaringClass);
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_reflect_Method__getName__( java_lang_reflect_Method This
 )
{
 {
  if (JCGO_FIELD_NZACCESS(This, name) == jnull)
  {
   JCGO_THROW_EXC(java_lang_InternalError__new__());
  }
  return JCGO_FIELD_NZACCESS(This, name);
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_reflect_Method__equals__Lo( java_lang_reflect_Method This,
 java_lang_Object obj )
{
 {
  java_lang_reflect_Method method;
  jObject jcgo_rcvrL1;
  if (obj == (java_lang_Object)This)
  {
   return (jboolean)jtrue;
  }
  if (!jcgo_instanceOf0(OBJT_java_lang_reflect_Method, MAXT_java_lang_reflect_Method,
   (jObject)obj))
  {
   return (jboolean)jfalse;
  }
  method= (java_lang_reflect_Method)obj;
  return (jboolean)((jcgo_rcvrL1= (jObject)(java_lang_reflect_Method__getDeclaringClass__(
   This)), (java_lang_Class)jcgo_rcvrL1 == (java_lang_reflect_Method__getDeclaringClass__(
   method))) && (jcgo_rcvrL1= (jObject)(java_lang_reflect_Method__getName__(
   This)), java_lang_String__equals__Lo(
   (java_lang_String)jcgo_rcvrL1, (java_lang_Object)(java_lang_reflect_Method__getName__(
   method)))) && (jcgo_rcvrL1= (jObject)(java_lang_reflect_Method__getReturnType__(
   This)), (java_lang_Class)jcgo_rcvrL1 == (java_lang_reflect_Method__getReturnType__(
   method))) && (jcgo_rcvrL1= (jObject)(java_lang_reflect_VMMethod__getParameterTypesInternal__L4phwq(
   This)), java_lang_reflect_Constructor__equalTypes__LcALcA(
   (jObjectArr)jcgo_rcvrL1, (java_lang_reflect_VMMethod__getParameterTypesInternal__L4phwq(
   method)))));
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_reflect_Method__hashCode__( java_lang_reflect_Method This
 )
{
 {
  jint jcgo_rcvrI1;
  return (jcgo_rcvrI1= (java_lang_String__hashCode__(
   (java_lang_Class__getName__(
   (java_lang_reflect_Method__getDeclaringClass__(
   This)))))), jcgo_rcvrI1 ^ (java_lang_String__hashCode__(
   (java_lang_reflect_Method__getName__(
   This)))));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_reflect_Method__toString__( java_lang_reflect_Method This
 )
{
 {
  java_lang_StringBuilder sb;
  jObjectArr types;
  jint modifiers;
  struct java_lang_StringBuilder_s jcgo_stackobj1;
  sb= (java_lang_StringBuilder__this__I(
   JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods),
   (jint)128));
  modifiers= (java_lang_reflect_Method__getModifiers__(
   This));
  if (modifiers != 0)
  {
   jObject jcgo_rcvrL1;
   (jcgo_rcvrL1= (jObject)(java_lang_reflect_Modifier__toString__IL5dy9e(
    sb, modifiers)), JCGO_CALL_FINALF((java_lang_StringBuilder)jcgo_rcvrL1)
    java_lang_StringBuilder__append__C(
    (java_lang_StringBuilder)jcgo_rcvrL1, (jchar)32/*' '*/));
  }
  (java_lang_StringBuilder__append__C(
   (java_lang_reflect_Constructor__appendTypeName__LcL5dy9e(
   (java_lang_reflect_Method__getReturnType__(
   This)), sb)), (jchar)32/*' '*/));
  (java_lang_StringBuilder__append__C(
   (java_lang_StringBuilder__append__Ls(
   sb, (java_lang_Class__getName__(
   (java_lang_reflect_Method__getDeclaringClass__(
   This)))))), (jchar)46/*'.'*/));
  (java_lang_StringBuilder__append__C(
   (java_lang_StringBuilder__append__Ls(
   sb, (java_lang_reflect_Method__getName__(
   This)))), (jchar)40/*'('*/));
  types= (java_lang_reflect_VMMethod__getParameterTypesInternal__L4phwq(
   This));
  {
   jint i;
   i= 0;
   for (; i < JCGO_ARRAY_LENGTH(types); i++)
   {
    if (i != 0)
    {
     (java_lang_StringBuilder__append__C(
      sb, (jchar)44/*','*/));
    }
    (java_lang_reflect_Constructor__appendTypeName__LcL5dy9e(
     ((java_lang_Class)JCGO_ARRAY_NZLACCESS(types, i)), sb));
   }
  }
  (java_lang_StringBuilder__append__C(
   sb, (jchar)41/*')'*/));
  types= (java_lang_reflect_VMMethod__getExceptionTypesInternal__L4phwq(
   This));
  if (JCGO_ARRAY_LENGTH(types) != 0)
  {
   jObject jcgo_rcvrL1;
   jObject jcgo_rcvrL2;
   (jcgo_rcvrL1= (jObject)(java_lang_StringBuilder__append__Ls(
    sb, JCGO_STRREF_OF(jcgo_string2_Cnstrctr))), java_lang_StringBuilder__append__Ls(
    (java_lang_StringBuilder)jcgo_rcvrL1, (jcgo_rcvrL2= (jObject)((java_lang_Class)JCGO_ARRAY_NZLACCESS(types,
    0)), JCGO_CALL_FINALF((java_lang_Class)jcgo_rcvrL2) java_lang_Class__getName__(
    (java_lang_Class)jcgo_rcvrL2))));
   {
    jint i;
    i= (jint)1;
    for (; i < JCGO_ARRAY_NZLENGTH(types); i++)
    {
     jObject jcgo_rcvrL1;
     jObject jcgo_rcvrL2;
     (jcgo_rcvrL1= (jObject)(java_lang_StringBuilder__append__C(
      sb, (jchar)44/*','*/)), java_lang_StringBuilder__append__Ls(
      (java_lang_StringBuilder)jcgo_rcvrL1, (jcgo_rcvrL2= (jObject)((java_lang_Class)JCGO_ARRAY_NZLACCESS(types,
      i)), JCGO_CALL_FINALF((java_lang_Class)jcgo_rcvrL2) java_lang_Class__getName__(
      (java_lang_Class)jcgo_rcvrL2))));
    }
   }
  }
  return (java_lang_StringBuilder__toString__(
   sb));
 }
}

JCGO_NOSEP_DATA CONST struct java_lang_reflect_Method_methods_s java_lang_reflect_Method_methods=
{
 JCGO_CLASSREF_OF(java_lang_reflect_Method__class),
 JCGO_GCJDESCR_INIT(java_lang_reflect_Method_s, exceptionTypes)
 OBJT_java_lang_reflect_Method,
 (JCGO_OBJSIZE_T)sizeof(struct java_lang_reflect_Method_s),
 NULL,
 JCGO_CLINIT_INIT(0)
 0,
 java_lang_reflect_Method__equals__Lo,
 java_lang_reflect_Method__hashCode__,
 java_lang_reflect_Method__toString__,
 java_lang_Object__finalize__
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_reflect_Method_class_s
 java_lang_reflect_Method__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_lang_reflect_Method_methods),
  JCGO_STRREF_OF(jcgo_string1_Method),
  JCGO_CLASSREF_OF(java_lang_reflect_AccessibleObject__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Cnstrctr)),
  0x11
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype94_GmCnnctn jcgo_array2_Method=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 24,
 {
  (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)103/*'g'*/,
   (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)46/*'.'*/,
   (jbyte)(jchar)77/*'M'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)100/*'d'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Method
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array2_Method),
 0, 24, (jint)0xf1b6386L
};

#ifdef CHKALL_java_lang_reflect_Method
#include "jcgochke.h"
#endif

#endif
