## Uses of Interface
com.sun.jdi.ReferenceType

- Packages that use ReferenceType
  Package | Description
  --- | ---
  com.sun.jdi | This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
  com.sun.jdi.event | This package defines JDI events and event processing.
  com.sun.jdi.request | This package is used to request that a JDI event be sent under specified conditions.
  jdk.jshell.execution | Provides implementation support for building JShell execution engines.

- - ### Uses of ReferenceType in com.sun.jdi

    Subinterfaces of ReferenceType in com.sun.jdi
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `ArrayType` | Provides access to the class of an array and the type of its components in the target VM.
    `interface` | `ClassType` | A mirror of a class in the target VM.
    `interface` | `InterfaceType` | A mirror of an interface in the target VM.

    Methods in com.sun.jdi that return ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `ReferenceType` | Location.`declaringType()` | Gets the type to which this Location belongs.
    `ReferenceType` | TypeComponent.`declaringType()` | Returns the type in which this component was declared.
    `ReferenceType` | ObjectReference.`referenceType()` | Gets the `ReferenceType` that mirrors the type of this object.
    `ReferenceType` | ClassObjectReference.`reflectedType()` | Returns the `ReferenceType` corresponding to this class object.

    Methods in com.sun.jdi that return types with arguments of type ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<ReferenceType>` | VirtualMachine.`allClasses()` | Returns all loaded types.
    `List<ReferenceType>` | VirtualMachine.`classesByName​(String className)` | Returns the loaded reference types that match a given name.
    `List<ReferenceType>` | ClassLoaderReference.`definedClasses()` | Returns a list of all loaded classes that were defined by this class loader.
    `List<ReferenceType>` | ReferenceType.`nestedTypes()` | Returns a List containing `ReferenceType` objects that are declared within this type and are currently loaded into the Virtual Machine.
    `List<ReferenceType>` | ClassLoaderReference.`visibleClasses()` | Returns a list of all classes for which this class loader has been recorded as the initiating loader in the target VM.

    Method parameters in com.sun.jdi with type arguments of type ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `long[]` | VirtualMachine.`instanceCounts​(List<? extends ReferenceType> refTypes)` | Returns the number of instances of each ReferenceType in the 'refTypes' list.
    `void` | VirtualMachine.`redefineClasses​(Map<? extends ReferenceType,​byte[]> classToBytes)` | All classes given are redefined according to the definitions supplied.

  - ### Uses of ReferenceType in com.sun.jdi.event

    Methods in com.sun.jdi.event that return ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `ReferenceType` | ClassPrepareEvent.`referenceType()` | Returns the reference type for which this event was generated.

  - ### Uses of ReferenceType in com.sun.jdi.request

    Methods in com.sun.jdi.request that return ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `ReferenceType` | ExceptionRequest.`exception()` | Returns exception type for which exception events are requested.

    Methods in com.sun.jdi.request with parameters of type ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ClassPrepareRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to be the preparation of the given reference type and any subtypes.
    `void` | ExceptionRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose location is in the given reference type or any of its subtypes.
    `void` | MethodEntryRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose method is in the given reference type or any of its subtypes.
    `void` | MethodExitRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose method is in the given reference type or any of its subtypes.
    `void` | MonitorContendedEnteredRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose method is in the given reference type or any of its subtypes.
    `void` | MonitorContendedEnterRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose method is in the given reference type or any of its subtypes.
    `void` | MonitorWaitedRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose monitor object is of the given reference type or any of its subtypes.
    `void` | MonitorWaitRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose monitor object is of the given reference type or any of its subtypes.
    `void` | StepRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose location is in the given reference type or any of its subtypes.
    `void` | WatchpointRequest.`addClassFilter​(ReferenceType refType)` | Restricts the events generated by this request to those whose location is in the given reference type or any of its subtypes.
    `ExceptionRequest` | EventRequestManager.`createExceptionRequest​(ReferenceType refType, boolean notifyCaught, boolean notifyUncaught)` | Creates a new disabled `ExceptionRequest`.

  - ### Uses of ReferenceType in jdk.jshell.execution

    Methods in jdk.jshell.execution that return ReferenceType
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ReferenceType` | JdiExecutionControl.`referenceType​(VirtualMachine vm, String name)` | Returns the JDI `ReferenceType` corresponding to the specified class name.