PatchSet 6892 Date: 2005/09/11 22:28:08 Author: robilad Branch: HEAD Tag: (none) Log: Merged in in-progress JDWP implementation from GNU Classpath
Members: ChangeLog:1.4413->1.4414 libraries/javalib/Makefile.am:1.390->1.391 libraries/javalib/Makefile.in:1.481->1.482 libraries/javalib/all.files:1.160->1.161 libraries/javalib/gnu/classpath/jdwp/Jdwp.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/VMFrame.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/VMIdManager.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/VMVirtualMachine.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/ClassPrepareEvent.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/Event.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/EventManager.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/EventRequest.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/ThreadEndEvent.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/ThreadStartEvent.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/VmDeathEvent.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/VmInitEvent.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ConditionalFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/CountFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/IEventFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/StepFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidCountException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidEventTypeException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidFieldException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidLocationException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidMethodException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidObjectException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidStringException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/JdwpException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/NotImplementedException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/exception/VmDeadException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ArrayId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ClassLoaderId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ClassObjectId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ClassReferenceTypeId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/JdwpId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ObjectId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ReferenceTypeId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/StringId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ThreadGroupId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/id/ThreadId.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/CommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/EventRequestCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/FieldCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/MethodCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/PacketProcessor.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/StackFrameCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/ITransport.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/JdwpCommandPacket.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/JdwpConnection.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/JdwpPacket.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/JdwpReplyPacket.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/SocketTransport.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/TransportException.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/transport/TransportFactory.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/JdwpString.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/LineTable.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/Location.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/MethodResult.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/Signature.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/Value.java:INITIAL->1.1 libraries/javalib/gnu/classpath/jdwp/util/VariableTable.java:INITIAL->1.1 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.4413 kaffe/ChangeLog:1.4414 --- kaffe/ChangeLog:1.4413 Sun Sep 11 21:51:48 2005 +++ kaffe/ChangeLog Sun Sep 11 22:28:08 2005 @@ -1,5 +1,103 @@ 2005-09-11 Dalibor Topic <[EMAIL PROTECTED]> + Merged in in-progress JDWP implementation from GNU Classpath. + It needs a volunteer to implement the missing native methods. + + * libraries/javalib/Makefile.am, + libraries/javalib/Makefile.in, + libraries/javalib/all.files: + Regenerated. + + * libraries/javalib/gnu/classpath/jdwp/Jdwp.java, + libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java, + libraries/javalib/gnu/classpath/jdwp/VMFrame.java, + libraries/javalib/gnu/classpath/jdwp/VMIdManager.java, + libraries/javalib/gnu/classpath/jdwp/VMVirtualMachine.java, + libraries/javalib/gnu/classpath/jdwp/event/ClassPrepareEvent.java, + libraries/javalib/gnu/classpath/jdwp/event/Event.java, + libraries/javalib/gnu/classpath/jdwp/event/EventManager.java, + libraries/javalib/gnu/classpath/jdwp/event/EventRequest.java, + libraries/javalib/gnu/classpath/jdwp/event/ThreadEndEvent.java, + libraries/javalib/gnu/classpath/jdwp/event/ThreadStartEvent.java, + libraries/javalib/gnu/classpath/jdwp/event/VmDeathEvent.java, + libraries/javalib/gnu/classpath/jdwp/event/VmInitEvent.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ConditionalFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/CountFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/IEventFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/StepFilter.java, + libraries/javalib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidCountException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidEventTypeException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidFieldException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidLocationException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidMethodException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidObjectException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidStringException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadException.java, + libraries/javalib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java, + libraries/javalib/gnu/classpath/jdwp/exception/JdwpException.java, + libraries/javalib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java, + libraries/javalib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java, + libraries/javalib/gnu/classpath/jdwp/exception/NotImplementedException.java, + libraries/javalib/gnu/classpath/jdwp/exception/VmDeadException.java, + libraries/javalib/gnu/classpath/jdwp/id/ArrayId.java, + libraries/javalib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.java, + libraries/javalib/gnu/classpath/jdwp/id/ClassLoaderId.java, + libraries/javalib/gnu/classpath/jdwp/id/ClassObjectId.java, + libraries/javalib/gnu/classpath/jdwp/id/ClassReferenceTypeId.java, + libraries/javalib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java, + libraries/javalib/gnu/classpath/jdwp/id/JdwpId.java, + libraries/javalib/gnu/classpath/jdwp/id/ObjectId.java, + libraries/javalib/gnu/classpath/jdwp/id/ReferenceTypeId.java, + libraries/javalib/gnu/classpath/jdwp/id/StringId.java, + libraries/javalib/gnu/classpath/jdwp/id/ThreadGroupId.java, + libraries/javalib/gnu/classpath/jdwp/id/ThreadId.java, + libraries/javalib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/CommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/EventRequestCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/FieldCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/MethodCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/PacketProcessor.java, + libraries/javalib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/StackFrameCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java, + libraries/javalib/gnu/classpath/jdwp/transport/ITransport.java, + libraries/javalib/gnu/classpath/jdwp/transport/JdwpCommandPacket.java, + libraries/javalib/gnu/classpath/jdwp/transport/JdwpConnection.java, + libraries/javalib/gnu/classpath/jdwp/transport/JdwpPacket.java, + libraries/javalib/gnu/classpath/jdwp/transport/JdwpReplyPacket.java, + libraries/javalib/gnu/classpath/jdwp/transport/SocketTransport.java, + libraries/javalib/gnu/classpath/jdwp/transport/TransportException.java, + libraries/javalib/gnu/classpath/jdwp/transport/TransportFactory.java, + libraries/javalib/gnu/classpath/jdwp/util/JdwpString.java, + libraries/javalib/gnu/classpath/jdwp/util/LineTable.java, + libraries/javalib/gnu/classpath/jdwp/util/Location.java, + libraries/javalib/gnu/classpath/jdwp/util/MethodResult.java, + libraries/javalib/gnu/classpath/jdwp/util/Signature.java, + libraries/javalib/gnu/classpath/jdwp/util/Value.java, + libraries/javalib/gnu/classpath/jdwp/util/VariableTable.java: + New files. Taken from GNU Classpath. + +2005-09-11 Dalibor Topic <[EMAIL PROTECTED]> + Reynced with GNU inetlib. 2005-09-04 Chris Burdess <[EMAIL PROTECTED]> Index: kaffe/libraries/javalib/Makefile.am diff -u kaffe/libraries/javalib/Makefile.am:1.390 kaffe/libraries/javalib/Makefile.am:1.391 --- kaffe/libraries/javalib/Makefile.am:1.390 Sun Sep 11 21:51:51 2005 +++ kaffe/libraries/javalib/Makefile.am Sun Sep 11 22:28:09 2005 @@ -66,6 +66,14 @@ $(gnu_bytecode_SRCS) \ $(gnu_classpath_SRCS) \ $(gnu_classpath_debug_SRCS) \ + $(gnu_classpath_jdwp_SRCS) \ + $(gnu_classpath_jdwp_event_SRCS) \ + $(gnu_classpath_jdwp_event_filters_SRCS) \ + $(gnu_classpath_jdwp_exception_SRCS) \ + $(gnu_classpath_jdwp_id_SRCS) \ + $(gnu_classpath_jdwp_processor_SRCS) \ + $(gnu_classpath_jdwp_transport_SRCS) \ + $(gnu_classpath_jdwp_util_SRCS) \ $(gnu_classpath_tools_SRCS) \ $(gnu_classpath_tools_javap_SRCS) \ $(gnu_classpath_tools_native2ascii_SRCS) \ @@ -610,6 +618,100 @@ gnu/classpath/debug/Component.java \ gnu/classpath/debug/PreciseFilter.java \ gnu/classpath/debug/SystemLogger.java +gnu_classpath_jdwp_SRCS = \ + gnu/classpath/jdwp/Jdwp.java \ + gnu/classpath/jdwp/JdwpConstants.java \ + gnu/classpath/jdwp/VMFrame.java \ + gnu/classpath/jdwp/VMIdManager.java \ + gnu/classpath/jdwp/VMVirtualMachine.java +gnu_classpath_jdwp_event_SRCS = \ + gnu/classpath/jdwp/event/ClassPrepareEvent.java \ + gnu/classpath/jdwp/event/Event.java \ + gnu/classpath/jdwp/event/EventManager.java \ + gnu/classpath/jdwp/event/EventRequest.java \ + gnu/classpath/jdwp/event/ThreadEndEvent.java \ + gnu/classpath/jdwp/event/ThreadStartEvent.java \ + gnu/classpath/jdwp/event/VmDeathEvent.java \ + gnu/classpath/jdwp/event/VmInitEvent.java +gnu_classpath_jdwp_event_filters_SRCS = \ + gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java \ + gnu/classpath/jdwp/event/filters/ClassMatchFilter.java \ + gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/ConditionalFilter.java \ + gnu/classpath/jdwp/event/filters/CountFilter.java \ + gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/IEventFilter.java \ + gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/StepFilter.java \ + gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java +gnu_classpath_jdwp_exception_SRCS = \ + gnu/classpath/jdwp/exception/InvalidClassException.java \ + gnu/classpath/jdwp/exception/InvalidClassLoaderException.java \ + gnu/classpath/jdwp/exception/InvalidCountException.java \ + gnu/classpath/jdwp/exception/InvalidEventTypeException.java \ + gnu/classpath/jdwp/exception/InvalidFieldException.java \ + gnu/classpath/jdwp/exception/InvalidLocationException.java \ + gnu/classpath/jdwp/exception/InvalidMethodException.java \ + gnu/classpath/jdwp/exception/InvalidObjectException.java \ + gnu/classpath/jdwp/exception/InvalidStringException.java \ + gnu/classpath/jdwp/exception/InvalidThreadException.java \ + gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \ + gnu/classpath/jdwp/exception/JdwpException.java \ + gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \ + gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \ + gnu/classpath/jdwp/exception/NotImplementedException.java \ + gnu/classpath/jdwp/exception/VmDeadException.java +gnu_classpath_jdwp_id_SRCS = \ + gnu/classpath/jdwp/id/ArrayId.java \ + gnu/classpath/jdwp/id/ArrayReferenceTypeId.java \ + gnu/classpath/jdwp/id/ClassLoaderId.java \ + gnu/classpath/jdwp/id/ClassObjectId.java \ + gnu/classpath/jdwp/id/ClassReferenceTypeId.java \ + gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \ + gnu/classpath/jdwp/id/JdwpId.java \ + gnu/classpath/jdwp/id/ObjectId.java \ + gnu/classpath/jdwp/id/ReferenceTypeId.java \ + gnu/classpath/jdwp/id/StringId.java \ + gnu/classpath/jdwp/id/ThreadGroupId.java \ + gnu/classpath/jdwp/id/ThreadId.java +gnu_classpath_jdwp_processor_SRCS = \ + gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java \ + gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ClassTypeCommandSet.java \ + gnu/classpath/jdwp/processor/CommandSet.java \ + gnu/classpath/jdwp/processor/EventRequestCommandSet.java \ + gnu/classpath/jdwp/processor/FieldCommandSet.java \ + gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java \ + gnu/classpath/jdwp/processor/MethodCommandSet.java \ + gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/PacketProcessor.java \ + gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java \ + gnu/classpath/jdwp/processor/StackFrameCommandSet.java \ + gnu/classpath/jdwp/processor/StringReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java +gnu_classpath_jdwp_transport_SRCS = \ + gnu/classpath/jdwp/transport/ITransport.java \ + gnu/classpath/jdwp/transport/JdwpCommandPacket.java \ + gnu/classpath/jdwp/transport/JdwpConnection.java \ + gnu/classpath/jdwp/transport/JdwpPacket.java \ + gnu/classpath/jdwp/transport/JdwpReplyPacket.java \ + gnu/classpath/jdwp/transport/SocketTransport.java \ + gnu/classpath/jdwp/transport/TransportException.java \ + gnu/classpath/jdwp/transport/TransportFactory.java +gnu_classpath_jdwp_util_SRCS = \ + gnu/classpath/jdwp/util/JdwpString.java \ + gnu/classpath/jdwp/util/LineTable.java \ + gnu/classpath/jdwp/util/Location.java \ + gnu/classpath/jdwp/util/MethodResult.java \ + gnu/classpath/jdwp/util/Signature.java \ + gnu/classpath/jdwp/util/Value.java \ + gnu/classpath/jdwp/util/VariableTable.java gnu_classpath_tools_SRCS = \ gnu/classpath/tools/Util.java gnu_classpath_tools_javap_SRCS = \ Index: kaffe/libraries/javalib/Makefile.in diff -u kaffe/libraries/javalib/Makefile.in:1.481 kaffe/libraries/javalib/Makefile.in:1.482 --- kaffe/libraries/javalib/Makefile.in:1.481 Sun Sep 11 21:51:54 2005 +++ kaffe/libraries/javalib/Makefile.in Sun Sep 11 22:28:10 2005 @@ -427,6 +427,14 @@ $(gnu_bytecode_SRCS) \ $(gnu_classpath_SRCS) \ $(gnu_classpath_debug_SRCS) \ + $(gnu_classpath_jdwp_SRCS) \ + $(gnu_classpath_jdwp_event_SRCS) \ + $(gnu_classpath_jdwp_event_filters_SRCS) \ + $(gnu_classpath_jdwp_exception_SRCS) \ + $(gnu_classpath_jdwp_id_SRCS) \ + $(gnu_classpath_jdwp_processor_SRCS) \ + $(gnu_classpath_jdwp_transport_SRCS) \ + $(gnu_classpath_jdwp_util_SRCS) \ $(gnu_classpath_tools_SRCS) \ $(gnu_classpath_tools_javap_SRCS) \ $(gnu_classpath_tools_native2ascii_SRCS) \ @@ -984,6 +992,108 @@ gnu/classpath/debug/Component.java \ gnu/classpath/debug/PreciseFilter.java \ gnu/classpath/debug/SystemLogger.java + +gnu_classpath_jdwp_SRCS = \ + gnu/classpath/jdwp/Jdwp.java \ + gnu/classpath/jdwp/JdwpConstants.java \ + gnu/classpath/jdwp/VMFrame.java \ + gnu/classpath/jdwp/VMIdManager.java \ + gnu/classpath/jdwp/VMVirtualMachine.java + +gnu_classpath_jdwp_event_SRCS = \ + gnu/classpath/jdwp/event/ClassPrepareEvent.java \ + gnu/classpath/jdwp/event/Event.java \ + gnu/classpath/jdwp/event/EventManager.java \ + gnu/classpath/jdwp/event/EventRequest.java \ + gnu/classpath/jdwp/event/ThreadEndEvent.java \ + gnu/classpath/jdwp/event/ThreadStartEvent.java \ + gnu/classpath/jdwp/event/VmDeathEvent.java \ + gnu/classpath/jdwp/event/VmInitEvent.java + +gnu_classpath_jdwp_event_filters_SRCS = \ + gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java \ + gnu/classpath/jdwp/event/filters/ClassMatchFilter.java \ + gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/ConditionalFilter.java \ + gnu/classpath/jdwp/event/filters/CountFilter.java \ + gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/IEventFilter.java \ + gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java \ + gnu/classpath/jdwp/event/filters/StepFilter.java \ + gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java + +gnu_classpath_jdwp_exception_SRCS = \ + gnu/classpath/jdwp/exception/InvalidClassException.java \ + gnu/classpath/jdwp/exception/InvalidClassLoaderException.java \ + gnu/classpath/jdwp/exception/InvalidCountException.java \ + gnu/classpath/jdwp/exception/InvalidEventTypeException.java \ + gnu/classpath/jdwp/exception/InvalidFieldException.java \ + gnu/classpath/jdwp/exception/InvalidLocationException.java \ + gnu/classpath/jdwp/exception/InvalidMethodException.java \ + gnu/classpath/jdwp/exception/InvalidObjectException.java \ + gnu/classpath/jdwp/exception/InvalidStringException.java \ + gnu/classpath/jdwp/exception/InvalidThreadException.java \ + gnu/classpath/jdwp/exception/InvalidThreadGroupException.java \ + gnu/classpath/jdwp/exception/JdwpException.java \ + gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java \ + gnu/classpath/jdwp/exception/JdwpInternalErrorException.java \ + gnu/classpath/jdwp/exception/NotImplementedException.java \ + gnu/classpath/jdwp/exception/VmDeadException.java + +gnu_classpath_jdwp_id_SRCS = \ + gnu/classpath/jdwp/id/ArrayId.java \ + gnu/classpath/jdwp/id/ArrayReferenceTypeId.java \ + gnu/classpath/jdwp/id/ClassLoaderId.java \ + gnu/classpath/jdwp/id/ClassObjectId.java \ + gnu/classpath/jdwp/id/ClassReferenceTypeId.java \ + gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java \ + gnu/classpath/jdwp/id/JdwpId.java \ + gnu/classpath/jdwp/id/ObjectId.java \ + gnu/classpath/jdwp/id/ReferenceTypeId.java \ + gnu/classpath/jdwp/id/StringId.java \ + gnu/classpath/jdwp/id/ThreadGroupId.java \ + gnu/classpath/jdwp/id/ThreadId.java + +gnu_classpath_jdwp_processor_SRCS = \ + gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java \ + gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ClassTypeCommandSet.java \ + gnu/classpath/jdwp/processor/CommandSet.java \ + gnu/classpath/jdwp/processor/EventRequestCommandSet.java \ + gnu/classpath/jdwp/processor/FieldCommandSet.java \ + gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java \ + gnu/classpath/jdwp/processor/MethodCommandSet.java \ + gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/PacketProcessor.java \ + gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java \ + gnu/classpath/jdwp/processor/StackFrameCommandSet.java \ + gnu/classpath/jdwp/processor/StringReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java \ + gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + +gnu_classpath_jdwp_transport_SRCS = \ + gnu/classpath/jdwp/transport/ITransport.java \ + gnu/classpath/jdwp/transport/JdwpCommandPacket.java \ + gnu/classpath/jdwp/transport/JdwpConnection.java \ + gnu/classpath/jdwp/transport/JdwpPacket.java \ + gnu/classpath/jdwp/transport/JdwpReplyPacket.java \ + gnu/classpath/jdwp/transport/SocketTransport.java \ + gnu/classpath/jdwp/transport/TransportException.java \ + gnu/classpath/jdwp/transport/TransportFactory.java + +gnu_classpath_jdwp_util_SRCS = \ + gnu/classpath/jdwp/util/JdwpString.java \ + gnu/classpath/jdwp/util/LineTable.java \ + gnu/classpath/jdwp/util/Location.java \ + gnu/classpath/jdwp/util/MethodResult.java \ + gnu/classpath/jdwp/util/Signature.java \ + gnu/classpath/jdwp/util/Value.java \ + gnu/classpath/jdwp/util/VariableTable.java gnu_classpath_tools_SRCS = \ gnu/classpath/tools/Util.java Index: kaffe/libraries/javalib/all.files diff -u kaffe/libraries/javalib/all.files:1.160 kaffe/libraries/javalib/all.files:1.161 --- kaffe/libraries/javalib/all.files:1.160 Sun Sep 11 21:51:55 2005 +++ kaffe/libraries/javalib/all.files Sun Sep 11 22:28:11 2005 @@ -215,6 +215,92 @@ gnu/classpath/debug/Component.java gnu/classpath/debug/PreciseFilter.java gnu/classpath/debug/SystemLogger.java +gnu/classpath/jdwp/Jdwp.java +gnu/classpath/jdwp/JdwpConstants.java +gnu/classpath/jdwp/VMFrame.java +gnu/classpath/jdwp/VMIdManager.java +gnu/classpath/jdwp/VMVirtualMachine.java +gnu/classpath/jdwp/event/ClassPrepareEvent.java +gnu/classpath/jdwp/event/Event.java +gnu/classpath/jdwp/event/EventManager.java +gnu/classpath/jdwp/event/EventRequest.java +gnu/classpath/jdwp/event/ThreadEndEvent.java +gnu/classpath/jdwp/event/ThreadStartEvent.java +gnu/classpath/jdwp/event/VmDeathEvent.java +gnu/classpath/jdwp/event/VmInitEvent.java +gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java +gnu/classpath/jdwp/event/filters/ClassMatchFilter.java +gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java +gnu/classpath/jdwp/event/filters/ConditionalFilter.java +gnu/classpath/jdwp/event/filters/CountFilter.java +gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java +gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java +gnu/classpath/jdwp/event/filters/IEventFilter.java +gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java +gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java +gnu/classpath/jdwp/event/filters/StepFilter.java +gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java +gnu/classpath/jdwp/exception/InvalidClassException.java +gnu/classpath/jdwp/exception/InvalidClassLoaderException.java +gnu/classpath/jdwp/exception/InvalidCountException.java +gnu/classpath/jdwp/exception/InvalidEventTypeException.java +gnu/classpath/jdwp/exception/InvalidFieldException.java +gnu/classpath/jdwp/exception/InvalidLocationException.java +gnu/classpath/jdwp/exception/InvalidMethodException.java +gnu/classpath/jdwp/exception/InvalidObjectException.java +gnu/classpath/jdwp/exception/InvalidStringException.java +gnu/classpath/jdwp/exception/InvalidThreadException.java +gnu/classpath/jdwp/exception/InvalidThreadGroupException.java +gnu/classpath/jdwp/exception/JdwpException.java +gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java +gnu/classpath/jdwp/exception/JdwpInternalErrorException.java +gnu/classpath/jdwp/exception/NotImplementedException.java +gnu/classpath/jdwp/exception/VmDeadException.java +gnu/classpath/jdwp/id/ArrayId.java +gnu/classpath/jdwp/id/ArrayReferenceTypeId.java +gnu/classpath/jdwp/id/ClassLoaderId.java +gnu/classpath/jdwp/id/ClassObjectId.java +gnu/classpath/jdwp/id/ClassReferenceTypeId.java +gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java +gnu/classpath/jdwp/id/JdwpId.java +gnu/classpath/jdwp/id/ObjectId.java +gnu/classpath/jdwp/id/ReferenceTypeId.java +gnu/classpath/jdwp/id/StringId.java +gnu/classpath/jdwp/id/ThreadGroupId.java +gnu/classpath/jdwp/id/ThreadId.java +gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java +gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java +gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java +gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java +gnu/classpath/jdwp/processor/ClassTypeCommandSet.java +gnu/classpath/jdwp/processor/CommandSet.java +gnu/classpath/jdwp/processor/EventRequestCommandSet.java +gnu/classpath/jdwp/processor/FieldCommandSet.java +gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java +gnu/classpath/jdwp/processor/MethodCommandSet.java +gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java +gnu/classpath/jdwp/processor/PacketProcessor.java +gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java +gnu/classpath/jdwp/processor/StackFrameCommandSet.java +gnu/classpath/jdwp/processor/StringReferenceCommandSet.java +gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java +gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java +gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java +gnu/classpath/jdwp/transport/ITransport.java +gnu/classpath/jdwp/transport/JdwpCommandPacket.java +gnu/classpath/jdwp/transport/JdwpConnection.java +gnu/classpath/jdwp/transport/JdwpPacket.java +gnu/classpath/jdwp/transport/JdwpReplyPacket.java +gnu/classpath/jdwp/transport/SocketTransport.java +gnu/classpath/jdwp/transport/TransportException.java +gnu/classpath/jdwp/transport/TransportFactory.java +gnu/classpath/jdwp/util/JdwpString.java +gnu/classpath/jdwp/util/LineTable.java +gnu/classpath/jdwp/util/Location.java +gnu/classpath/jdwp/util/MethodResult.java +gnu/classpath/jdwp/util/Signature.java +gnu/classpath/jdwp/util/Value.java +gnu/classpath/jdwp/util/VariableTable.java gnu/classpath/tools/Util.java gnu/classpath/tools/javap/GnuByteCodeJavap.java gnu/classpath/tools/javap/Javap.java =================================================================== Checking out kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java RCS: /home/cvs/kaffe/kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java,v VERS: 1.1 *************** --- /dev/null Sun Aug 4 19:57:58 2002 +++ kaffe/libraries/javalib/gnu/classpath/jdwp/Jdwp.java Sun Sep 11 22:33:48 2005 @@ -0,0 +1,302 @@ +/* Jdwp.java -- Virtual machine to JDWP back-end programming interface + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath.jdwp; + +import gnu.classpath.jdwp.event.Event; +import gnu.classpath.jdwp.event.EventManager; +import gnu.classpath.jdwp.event.EventRequest; +import gnu.classpath.jdwp.id.ThreadId; +import gnu.classpath.jdwp.processor.PacketProcessor; +import gnu.classpath.jdwp.transport.ITransport; +import gnu.classpath.jdwp.transport.JdwpConnection; +import gnu.classpath.jdwp.transport.TransportException; +import gnu.classpath.jdwp.transport.TransportFactory; + +import java.io.IOException; +import java.security.AccessController; +import java.util.HashMap; + +/** + * Main interface from the virtual machine to the JDWP back-end. + * + * @author Keith Seitz ([EMAIL PROTECTED]) + */ +public class Jdwp + extends Thread +{ + // The single instance of the back-end + private static Jdwp _instance = null; + + /** + * Are we debugging? + */ + public static boolean isDebugging = false; + + // Packet processor + private PacketProcessor _packetProcessor; + private Thread _ppThread; + + // JDWP configuration properties + private HashMap _properties; + + // The suspend property of the configure string + // (-Xrunjdwp:..suspend=<boolean>) + private static final String _PROPERTY_SUSPEND = "suspend"; + + // User's main application thread + private Thread _mainThread; + + // Connection to debugger + private JdwpConnection _connection; + + // Are we shutting down the current session? + private boolean _shutdown; + + // A thread group for the JDWP threads + private ThreadGroup _group; + + /** + * constructor + */ + public Jdwp () + { + _shutdown = false; + isDebugging = true; + _instance = this; + } + + /** + * Returns the JDWP back-end, creating an instance of it + * if one does not already exist. + */ + public static Jdwp getDefault () + { + return _instance; + } + + /** + * Should the virtual machine suspend on startup? + */ + public static boolean suspendOnStartup () + { + Jdwp jdwp = getDefault (); + if (jdwp != null) + { + String suspend = (String) jdwp._properties.get (_PROPERTY_SUSPEND); + if (suspend != null && suspend.equals ("y")) + return true; + } + + return false; + } + + /** + * Configures the back-end + * + * @param configArgs a string of configury options + * @param mainThread the main application thread + */ + public void configure (String configArgs, Thread mainThread) + { + _mainThread = mainThread; + _processConfigury (configArgs); + } + + // A helper function to initialize the transport layer + private void _doInitialization () + throws TransportException + { + _group = new ThreadGroup ("JDWP threads"); + // initialize transport + ITransport transport = TransportFactory.newInstance (_properties); + _connection = new JdwpConnection (_group, transport); + _connection.initialize (); + _connection.start (); + + // Create processor + _packetProcessor = new PacketProcessor (_connection); + _ppThread = new Thread (_group, new Runnable () + { + public void run () + { + AccessController.doPrivileged (_packetProcessor); + } + }); + _ppThread.start (); + } + + /** + * Shutdown the JDWP back-end + * + * NOTE: This does not quite work properly. See notes in + * run() on this subject (catch of InterruptedException). + */ + public void shutdown () + { + if (!_shutdown) + { + _packetProcessor.shutdown (); + _ppThread.interrupt (); + _connection.shutdown (); + _shutdown = true; + isDebugging = false; + + /* FIXME: probably need to check state of user's + program -- if it is suspended, we need to either + resume or kill them. */ + + interrupt (); + } + } + + /** + * Notify the debugger of an event. This method should not + * be called if debugging is not active (but it would not + * cause any harm). Places where event notifications occur + * should check isDebugging before doing anything. + * + * The event is filtered through the event manager before being + * sent. + * + * FIXME: Probably need logic to send multiple events + * @param event the event to report + */ + public static void notify (Event event) + { + Jdwp jdwp = getDefault (); + if (jdwp != null) + { + EventManager em = EventManager.getDefault (); + EventRequest request = em.getEventRequest (event); + if (request != null) + sendEvent (request, event); + } + } + + /** + * Sends the event to the debugger. + * + * This method bypasses the event manager's filtering. + * + * @param request the debugger request for the event + * @param event the event to send + */ + public static void sendEvent (EventRequest request, Event event) + { + Jdwp jdwp = getDefault (); + if (jdwp != null) + { + try + { + // !! May need to implement send queue? + synchronized (jdwp._connection) + { + jdwp._connection.sendEvent (request, event); + } + + // Follow suspend policy + jdwp._enforceSuspendPolicy (request.getSuspendPolicy ()); + } + catch (IOException ie) + { + System.out.println ("Jdwp.notify: caught exception: " + ie); + } + } + } + + // Helper function to enforce suspend policies on event notification + private void _enforceSuspendPolicy (byte suspendPolicy) + { + switch (suspendPolicy) + { + case EventRequest.SUSPEND_NONE: + // do nothing + break; + + case EventRequest.SUSPEND_THREAD: + VMVirtualMachine.suspendThread (this); + break; + + case EventRequest.SUSPEND_ALL: + VMVirtualMachine.suspendAllThreads (); + break; + } + } + + public void run () + { + try + { + _doInitialization (); + + _mainThread.start (); + + _mainThread.join (); + } + catch (InterruptedException ie) + { + /* Shutting down. If we're in server mode, we should + prepare for a new connection. Otherwise, we should + simply exit. */ + // FIXME + } + catch (Throwable t) + { + System.out.println ("Exception in JDWP back-end: " + t); + System.exit (1); + } + } + + // A helper function to process the configure string "-Xrunjdwp:..." + private void _processConfigury (String configString) + { + // Loop through configuration arguments looking for a + // transport name + _properties = new HashMap (); + String[] options = configString.split (","); + for (int i = 0; i < options.length; ++i) + { + String[] property = options[i].split ("="); + if (property.length == 2) + _properties.put (property[0], property[1]); + // ignore malformed options + } + } +} =================================================================== Checking out kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java RCS: /home/cvs/kaffe/kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java,v VERS: 1.1 *************** --- /dev/null Sun Aug 4 19:57:58 2002 +++ kaffe/libraries/javalib/gnu/classpath/jdwp/JdwpConstants.java Sun Sep 11 22:33:48 2005 @@ -0,0 +1,901 @@ +/* JdwpConstants.java -- Constants defined by JDWP 1.4 specification + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath.jdwp; + +/** + * Constants defined by JDWP specification. + * + * @author Keith Seitz ([EMAIL PROTECTED]) + */ +public class JdwpConstants +{ + public static final class Version + { + public static final int MAJOR = 1; + public static final int MINOR = 4; + } + + //////////////////////////////////////// + // Commands/Sets // + //////////////////////////////////////// + + public static final class CommandSet + { + public static final class VirtualMachine + { + public static final byte CS_VALUE = 1; + + // commands + public static final byte VERSION = 1; + public static final byte CLASSES_BY_SIGNATURE = 2; + public static final byte ALL_CLASSES = 3; + public static final byte ALL_THREADS = 4; + public static final byte TOP_LEVEL_THREAD_GROUPS = 5; + public static final byte DISPOSE = 6; + public static final byte IDSIZES = 7; + public static final byte SUSPEND = 8; + public static final byte RESUME = 9; + public static final byte EXIT = 10; + public static final byte CREATE_STRING = 11; + public static final byte CAPABILITIES = 12; + public static final byte CLASS_PATHS = 13; + public static final byte DISPOSE_OBJECTS = 14; + public static final byte HOLD_EVENTS = 15; + public static final byte RELEASE_EVENTS = 16; + public static final byte CAPABILITIES_NEW = 17; + public static final byte REDEFINE_CLASSES = 18; + public static final byte SET_DEFAULT_STRATUM = 19; + public static final byte ALL_CLASSES_WITH_GENERIC = 20; + } + + public static final class ReferenceType + { + public static final byte CS_VALUE = 2; + + // commands + public static final byte SIGNATURE= 1; + public static final byte CLASS_LOADER= 2; + public static final byte MODIFIERS = 3; + public static final byte FIELDS = 4; + public static final byte METHODS = 5; + public static final byte GET_VALUES = 6; + public static final byte SOURCE_FILE = 7; + public static final byte NESTED_TYPES = 8; + public static final byte STATUS = 9; + public static final byte INTERFACES= 10; + public static final byte CLASS_OBJECT = 11; + public static final byte SOURCE_DEBUG_EXTENSION = 12; + public static final byte SIGNATURE_WITH_GENERIC = 13; + public static final byte FIELDS_WITH_GENERIC = 14; + public static final byte METHODS_WITH_GENERIC = 15; + } + + public static final class ClassType + { + public static final byte CS_VALUE = 3; + + // commands + public static final byte SUPERCLASS = 1; + public static final byte SET_VALUES = 2; + public static final byte INVOKE_METHOD = 3; + public static final byte NEW_INSTANCE = 4; + } + + public static final class ArrayType + { + public static final byte CS_VALUE = 4; + + // commands + public static final byte NEW_INSTANCE = 1; + } + + public static final class InterfaceType *** Patch too long, truncated *** _______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe