#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <gcj/cni.h>
#include <jvm.h>
#include <gnu/gcj/runtime/FirstThread.h>
typedef void main_func (jobject);
void
gnu::gcj::runtime::FirstThread::call_main (void)
{
Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
_Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
const char *msg = NULL;
if (meth == NULL)
msg = "no suitable method `main' in class";
else if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
msg = "`main' must be static";
else if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
msg = "`main' must be public";
if (msg != NULL)
{
fprintf (stderr, "%s\n", msg);
::exit(1);
}
main_func *real_main = (main_func *) meth->ncode;
(*real_main) (args);
}