diff options
Diffstat (limited to 'libjava/java/lang/natFirstThread.cc')
-rw-r--r-- | libjava/java/lang/natFirstThread.cc | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/libjava/java/lang/natFirstThread.cc b/libjava/java/lang/natFirstThread.cc deleted file mode 100644 index 69b978da..0000000 --- a/libjava/java/lang/natFirstThread.cc +++ /dev/null @@ -1,53 +0,0 @@ -// natFirstThread.cc - Implementation of FirstThread native methods. - -/* Copyright (C) 1998, 1999 Red Hat, Inc. - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include <config.h> - -#include <stdlib.h> - -#include <gcj/cni.h> -#include <jvm.h> - -#include <java/lang/FirstThread.h> -#include <java/lang/Class.h> -#include <java/lang/String.h> -#include <java/lang/System.h> -#include <java/lang/reflect/Modifier.h> -#include <java/io/PrintStream.h> - -#define DIE(Message) die (JvNewStringLatin1 (Message)) - -typedef void main_func (jobject); - -void -java::lang::FirstThread::run (void) -{ - Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22); - Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4); - - if (klass == NULL) - { - klass = java::lang::Class::forName (klass_name); - if (klass != NULL) _Jv_InitClass (klass); - } - - _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature); - - // Some checks from Java Spec section 12.1.4. - if (meth == NULL) - DIE ("no suitable method `main' in class"); - if (! java::lang::reflect::Modifier::isStatic(meth->accflags)) - DIE ("`main' must be static"); - if (! java::lang::reflect::Modifier::isPublic(meth->accflags)) - DIE ("`main' must be public"); - - main_func *real_main = (main_func *) meth->ncode; - (*real_main) (args); -} |