From 64089cc9f030d8ef7972adb5d117e0b23f47d62b Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 18 May 2006 17:29:21 +0000 Subject: Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113887 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/classpath/jdwp/VMVirtualMachine.java | 69 +++++++++++------------- 1 file changed, 31 insertions(+), 38 deletions(-) (limited to 'libjava/gnu/classpath/jdwp/VMVirtualMachine.java') diff --git a/libjava/gnu/classpath/jdwp/VMVirtualMachine.java b/libjava/gnu/classpath/jdwp/VMVirtualMachine.java index 33d1c9bd3a8..ac81d956994 100644 --- a/libjava/gnu/classpath/jdwp/VMVirtualMachine.java +++ b/libjava/gnu/classpath/jdwp/VMVirtualMachine.java @@ -1,7 +1,7 @@ /* VMVirtualMachine.java -- A reference implementation of a JDWP virtual machine - Copyright (C) 2005 Free Software Foundation + Copyright (C) 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -42,15 +42,9 @@ exception statement from your version. */ package gnu.classpath.jdwp; import gnu.classpath.jdwp.event.EventRequest; -import gnu.classpath.jdwp.exception.InvalidClassException; -import gnu.classpath.jdwp.exception.InvalidObjectException; -import gnu.classpath.jdwp.id.ObjectId; -import gnu.classpath.jdwp.id.ReferenceTypeId; -import gnu.classpath.jdwp.util.LineTable; +import gnu.classpath.jdwp.exception.InvalidMethodException; +import gnu.classpath.jdwp.exception.JdwpException; import gnu.classpath.jdwp.util.MethodResult; -import gnu.classpath.jdwp.util.VariableTable; - -import java.io.IOException; import java.lang.reflect.Method; import java.nio.ByteBuffer; import java.util.ArrayList; @@ -74,10 +68,11 @@ public class VMVirtualMachine * Suspend all threads */ public static void suspendAllThreads () + throws JdwpException { // Our JDWP thread group -- don't suspend any of those threads Thread current = Thread.currentThread (); - ThreadGroup jdwpGroup = current.getThreadGroup (); + ThreadGroup jdwpGroup = Jdwp.getDefault().getJdwpThreadGroup(); // Find the root ThreadGroup ThreadGroup group = jdwpGroup; @@ -109,7 +104,8 @@ public class VMVirtualMachine } // Now suspend the current thread - suspendThread (current); + if (current.getThreadGroup() != jdwpGroup) + suspendThread (current); } /** @@ -126,6 +122,7 @@ public class VMVirtualMachine * to run. */ public static void resumeAllThreads () + throws JdwpException { // Our JDWP thread group -- don't resume Thread current = Thread.currentThread (); @@ -188,6 +185,29 @@ public class VMVirtualMachine */ public static int getClassStatus (Class clazz) { return -1; } + /** + * Returns all of the methods defined in the given class. This + * includes all methods, constructors, and class initializers. + * + * @param klass the class whose methods are desired + * @return an array of virtual machine methods + */ + public static VMMethod[] getAllClassMethods (Class klass) + { return null; } + + /** + * A factory method for getting valid virtual machine methods + * which may be passed to/from the debugger. + * + * @param klass the class in which the method is defined + * @param id the ID of the desired method + * @return the desired internal representation of the method + * @throws InvalidMethodException if the method is not defined + * in the class + * @throws JdwpException for any other error + */ + public static VMMethod getClassMethod(Class klass, long id) + { return null; } /** * Returns the thread's call stack @@ -262,33 +282,6 @@ public class VMVirtualMachine boolean nonVirtual) { return null; } - /** - * "Returns variable information for the method. The variable table - * includes arguments and locals declared within the method. For instance - * methods, the "this" reference is included in the table. Also, synthetic - * variables may be present." - * - * @param clazz the class in which the method is defined - * @param method the method for which variable information is desired - * @return a result object containing the information - */ - public static VariableTable getVarTable (Class clazz, Method method) - { return null; } - - /** - * "Returns line number information for the method, if present. The line - * table maps source line numbers to the initial code index of the line. - * The line table is ordered by code index (from lowest to highest). The - * line number information is constant unless a new class definition is - * installed using RedefineClasses." - * - * @param clazz the class in which the method is defined - * @param method the method whose line table is desired - * @return a result object containing the line table - */ - public static LineTable getLineTable (Class clazz, Method method) - { return null; } - /** * "Returns the name of source file in which a reference type was declared" * -- cgit v1.2.1