java.lang.Object | |||
↳ | com.sun.tools.jdi.TypeImpl | ||
↳ | com.sun.tools.jdi.ReferenceTypeImpl | ||
↳ | com.sun.tools.jdi.ClassTypeImpl |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.sun.jdi.ClassType
|
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.sun.tools.jdi.ReferenceTypeImpl
| |||||||||||
From class
com.sun.tools.jdi.TypeImpl
|
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets the interfaces directly and indirectly implemented
by this class.
| |||||||||||
Returns a list containing each
Method declared in this type,
and its superclasses, implemented interfaces, and/or superinterfaces. | |||||||||||
Returns a the single non-abstract
Method visible from
this class that has the given name and signature. | |||||||||||
Gets the interfaces directly implemented by this class.
| |||||||||||
Invokes the specified static
Method in the
target VM. | |||||||||||
Determine if this class was declared as an enum.
| |||||||||||
Constructs a new instance of this type, using
the given constructor
Method in the
target VM. | |||||||||||
Assigns a value to a static field.
| |||||||||||
Gets the currently loaded, direct subclasses of this class.
| |||||||||||
Gets the superclass of this class.
| |||||||||||
Returns a string representation of the object.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.sun.tools.jdi.ReferenceTypeImpl
| |||||||||||
From class
com.sun.tools.jdi.TypeImpl
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
com.sun.jdi.Accessible
| |||||||||||
From interface
com.sun.jdi.ClassType
| |||||||||||
From interface
com.sun.jdi.Mirror
| |||||||||||
From interface
com.sun.jdi.ReferenceType
| |||||||||||
From interface
com.sun.jdi.Type
| |||||||||||
From interface
java.lang.Comparable
|
Gets the interfaces directly and indirectly implemented
by this class. Interfaces returned by interfaces()
are returned as well all superinterfaces.
InterfaceType
objects each mirroring
an interface of this ClassType in the target VM.
If none exist, returns a zero length List.Returns a list containing each Method
declared in this type,
and its superclasses, implemented interfaces, and/or superinterfaces.
All declared and inherited
methods are included, regardless of whether they are hidden or
overridden.
For arrays (ArrayType
) and primitive classes, the returned
list is always empty.
Method
objects; the list has length
0 if no methods exist.Returns a the single non-abstract Method
visible from
this class that has the given name and signature.
See methodsByName(java.lang.String, java.lang.String)
for information on signature format.
The returned method (if non-null) is a component of
ClassType
.
name | the name of the method to find. |
---|---|
signature | the signature of the method to find |
Method
that matches the given
name and signature or null
if there is no match.Gets the interfaces directly implemented by this class. Only the interfaces that are declared with the "implements" keyword in this class are included.
InterfaceType
objects each mirroring
a direct interface this ClassType in the target VM.
If none exist, returns a zero length List.Invokes the specified static Method
in the
target VM. The
specified method can be defined in this class,
or in a superclass.
The method must be a static method
but not a static initializer.
Use newInstance(ThreadReference, Method, List extends Value>, int)
to create a new object and
run its constructor.
The method invocation will occur in the specified thread.
Method invocation can occur only if the specified thread
has been suspended by an event which occurred in that thread.
Method invocation is not supported
when the target VM has been suspended through
suspend()
or when the specified thread
is suspended through suspend()
.
The specified method is invoked with the arguments in the specified
argument list. The method invocation is synchronous; this method
does not return until the invoked method returns in the target VM.
If the invoked method throws an exception, this method will throw
an InvocationException
which contains a mirror to the exception
object thrown.
Object arguments must be assignment compatible with the argument type (This implies that the argument type must be loaded through the enclosing class's class loader). Primitive arguments must be either assignment compatible with the argument type or must be convertible to the argument type without loss of information. If the method being called accepts a variable number of arguments, then the last argument type is an array of some component type. The argument in the matching position can be omitted, or can be null, an array of the same component type, or an argument of the component type followed by any number of other arguments of the same type. If the argument is omitted, then a 0 length array of the component type is passed. The component type can be a primitive type. Autoboxing is not supported. See the Java Language Specification. section 5.2 for more information on assignment compatibility.
By default, all threads in the target VM are resumed while
the method is being invoked if they were previously
suspended by an event or by suspend()
or
suspend()
. This is done to prevent the deadlocks
that will occur if any of the threads own monitors
that will be needed by the invoked method.
Note, however, that this implicit resume acts exactly like
resume()
, so if the thread's suspend
count is greater than 1, it will remain in a suspended state
during the invocation and thus a deadlock could still occur.
By default, when the invocation completes,
all threads in the target VM are suspended, regardless their state
before the invocation.
It is possible that
breakpoints or other events might occur during the invocation.
This can cause deadlocks as described above. It can also cause a deadlock
if invokeMethod is called from the client's event handler thread. In this
case, this thread will be waiting for the invokeMethod to complete and
won't read the EventSet that comes in for the new event. If this
new EventSet is SUSPEND_ALL, then a deadlock will occur because no
one will resume the EventSet. To avoid this, all EventRequests should
be disabled before doing the invokeMethod, or the invokeMethod should
not be done from the client's event handler thread.
The resumption of other threads during the invocation can be prevented
by specifying the INVOKE_SINGLE_THREADED
bit flag in the options
argument; however,
there is no protection against or recovery from the deadlocks
described above, so this option should be used with great caution.
Only the specified thread will be resumed (as described for all
threads above). Upon completion of a single threaded invoke, the invoking thread
will be suspended once again. Note that any threads started during
the single threaded invocation will not be suspended when the
invocation completes.
If the target VM is disconnected during the invoke (for example, through
dispose()
) the method invocation continues.
threadIntf | the thread in which to invoke. |
---|---|
methodIntf | the Method to invoke. |
origArguments | the list of Value arguments bound to the
invoked method. Values from the list are assigned to arguments
in the order they appear in the method signature. |
options | the integer bit flag options. |
Value
mirror of the invoked method's return value.Determine if this class was declared as an enum.
true
if this class was declared as an enum; false
otherwise.
Constructs a new instance of this type, using
the given constructor Method
in the
target VM. The
specified constructor must be defined in this class.
Instance creation will occur in the specified thread.
Instance creation can occur only if the specified thread
has been suspended by an event which occurred in that thread.
Instance creation is not supported
when the target VM has been suspended through
suspend()
or when the specified thread
is suspended through suspend()
.
The specified constructor is invoked with the arguments in the specified
argument list. The invocation is synchronous; this method
does not return until the constructor returns in the target VM.
If the invoked method throws an
exception, this method will throw an InvocationException
which contains a mirror to the exception object thrown.
Object arguments must be assignment compatible with the argument type (This implies that the argument type must be loaded through the enclosing class's class loader). Primitive arguments must be either assignment compatible with the argument type or must be convertible to the argument type without loss of information. If the method being called accepts a variable number of arguments, then the last argument type is an array of some component type. The argument in the matching position can be omitted, or can be null, an array of the same component type, or an argument of the component type, followed by any number of other arguments of the same type. If the argument is omitted, then a 0 length array of the component type is passed. The component type can be a primitive type. Autoboxing is not supported. See the Java Language Specification. section 5.2 for more information on assignment compatibility.
By default, all threads in the target VM are resumed while
the method is being invoked if they were previously
suspended by an event or by suspend()
or
suspend()
. This is done to prevent the deadlocks
that will occur if any of the threads own monitors
that will be needed by the invoked method. It is possible that
breakpoints or other events might occur during the invocation.
Note, however, that this implicit resume acts exactly like
resume()
, so if the thread's suspend
count is greater than 1, it will remain in a suspended state
during the invocation. By default, when the invocation completes,
all threads in the target VM are suspended, regardless their state
before the invocation.
The resumption of other threads during the invocation can be prevented
by specifying the INVOKE_SINGLE_THREADED
bit flag in the options
argument; however,
there is no protection against or recovery from the deadlocks
described above, so this option should be used with great caution.
Only the specified thread will be resumed (as described for all
threads above). Upon completion of a single threaded invoke, the invoking thread
will be suspended once again. Note that any threads started during
the single threaded invocation will not be suspended when the
invocation completes.
If the target VM is disconnected during the invoke (for example, through
dispose()
) the method invocation continues.
threadIntf | the thread in which to invoke. |
---|---|
methodIntf | the constructor Method to invoke. |
origArguments | the list of Value arguments bound to the
invoked constructor. Values from the list are assigned to arguments
in the order they appear in the constructor signature. |
options | the integer bit flag options. |
ObjectReference
mirror of the newly created
object.Assigns a value to a static field.
The Field
must be valid for this ClassType; that is,
it must be from the mirrored object's class or a superclass of that class.
The field must not be final.
Object values must be assignment compatible with the field type (This implies that the field type must be loaded through the enclosing class's class loader). Primitive values must be either assignment compatible with the field type or must be convertible to the field type without loss of information. See JLS section 5.2 for more information on assignment compatibility.
field | the field to set. |
---|---|
value | the value to be assigned. |
Gets the currently loaded, direct subclasses of this class. No ordering of this list is guaranteed.
ClassType
objects each mirroring a loaded
subclass of this class in the target VM. If no such classes
exist, this method returns a zero-length list.
Gets the superclass of this class.
ClassType
that mirrors the superclass
of this class in the target VM. If no such class exists,
returns null
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())