make/data/jdwp/jdwp.spec
changeset 50735 2f2af62dfac7
parent 50530 7e3aa681a484
child 52064 50ef71b6fd3d
equal deleted inserted replaced
50734:0828a0f6676b 50735:2f2af62dfac7
   393                      "Can the VM redefine classes?")
   393                      "Can the VM redefine classes?")
   394             (boolean canAddMethod
   394             (boolean canAddMethod
   395                      "Can the VM add methods when redefining "
   395                      "Can the VM add methods when redefining "
   396                      "classes?")
   396                      "classes?")
   397             (boolean canUnrestrictedlyRedefineClasses
   397             (boolean canUnrestrictedlyRedefineClasses
   398                      "Can the VM redefine classes"
   398                      "Can the VM redefine classes "
   399                      "in arbitrary ways?")
   399                      "in ways that are normally restricted?")
   400             (boolean canPopFrames
   400             (boolean canPopFrames
   401                      "Can the VM pop stack frames?")
   401                      "Can the VM pop stack frames?")
   402             (boolean canUseInstanceFilters
   402             (boolean canUseInstanceFilters
   403                      "Can the VM filter events by specific object?")
   403                      "Can the VM filter events by specific object?")
   404             (boolean canGetSourceDebugExtension
   404             (boolean canGetSourceDebugExtension
   458         "All breakpoints in the redefined classes are cleared."
   458         "All breakpoints in the redefined classes are cleared."
   459         "If resetting of stack frames is desired, the "
   459         "If resetting of stack frames is desired, the "
   460         "<a href=\"#JDWP_StackFrame_PopFrames\">PopFrames</a> command can be used "
   460         "<a href=\"#JDWP_StackFrame_PopFrames\">PopFrames</a> command can be used "
   461         "to pop frames with obsolete methods."
   461         "to pop frames with obsolete methods."
   462         "<p>"
   462         "<p>"
       
   463         "Unless the canUnrestrictedlyRedefineClasses capability is present the following "
       
   464         "redefinitions are restricted: "
       
   465         "<ul>"
       
   466         "<li>changing the schema (the fields)</li>"
       
   467         "<li>changing the hierarchy (superclasses, interfaces)</li>"
       
   468         "<li>deleting a method</li>"
       
   469         "<li>changing class modifiers</li>"
       
   470         "<li>changing method modifiers</li>"
       
   471         "<li>changing the <code>NestHost</code> or <code>NestMembers</code> class attributes</li>"
       
   472         "</ul>"
       
   473         "<p>"
   463         "Requires canRedefineClasses capability - see "
   474         "Requires canRedefineClasses capability - see "
   464         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
   475         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
   465         "In addition to the canRedefineClasses capability, the target VM must "
   476         "In addition to the canRedefineClasses capability, the target VM must "
   466         "have the canAddMethod capability to add methods when redefining classes, "
   477         "have the canAddMethod capability to add methods when redefining classes, "
   467         "or the canUnrestrictedlyRedefineClasses to redefine classes in arbitrary "
   478         "or the canUnrestrictedlyRedefineClasses capability to redefine classes in ways "
   468         "ways."
   479         "that are normally restricted."
   469         (Out
   480         (Out
   470             (Repeat classes "Number of reference types that follow."
   481             (Repeat classes "Number of reference types that follow."
   471                 (Group ClassDef
   482                 (Group ClassDef
   472                     (referenceType refType "The reference type.")
   483                     (referenceType refType "The reference type.")
   473                     (Repeat classfile "Number of bytes defining class (below)"
   484                     (Repeat classfile "Number of bytes defining class (below)"
   494             (Error SCHEMA_CHANGE_NOT_IMPLEMENTED)
   505             (Error SCHEMA_CHANGE_NOT_IMPLEMENTED)
   495             (Error HIERARCHY_CHANGE_NOT_IMPLEMENTED)
   506             (Error HIERARCHY_CHANGE_NOT_IMPLEMENTED)
   496             (Error DELETE_METHOD_NOT_IMPLEMENTED)
   507             (Error DELETE_METHOD_NOT_IMPLEMENTED)
   497             (Error CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
   508             (Error CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
   498             (Error METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
   509             (Error METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
       
   510             (Error CLASS_ATTRIBUTE_CHANGE_NOT_IMPLEMENTED)
   499             (Error VM_DEAD)
   511             (Error VM_DEAD)
   500         )
   512         )
   501     )
   513     )
   502     (Command SetDefaultStratum=19
   514     (Command SetDefaultStratum=19
   503         "Set the default stratum. Requires canSetDefaultStratum capability - see "
   515         "Set the default stratum. Requires canSetDefaultStratum capability - see "
  3146                                           "by this VM.")
  3158                                           "by this VM.")
  3147     (Constant NAMES_DONT_MATCH       =69  "The class name defined in the new class file is "
  3159     (Constant NAMES_DONT_MATCH       =69  "The class name defined in the new class file is "
  3148                                           "different from the name in the old class object.")
  3160                                           "different from the name in the old class object.")
  3149     (Constant CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
  3161     (Constant CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
  3150                                      =70  "The new class version has different modifiers and "
  3162                                      =70  "The new class version has different modifiers and "
  3151                                           "and canUnrestrictedlyRedefineClasses is false.")
  3163                                           "canUnrestrictedlyRedefineClasses is false.")
  3152     (Constant METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
  3164     (Constant METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
  3153                                      =71  "A method in the new class version has "
  3165                                      =71  "A method in the new class version has "
  3154                                           "different modifiers "
  3166                                           "different modifiers "
  3155                                           "than its counterpart in the old class version and "
  3167                                           "than its counterpart in the old class version and "
  3156                                           "and canUnrestrictedlyRedefineClasses is false.")
  3168                                           "canUnrestrictedlyRedefineClasses is false.")
       
  3169     (Constant CLASS_ATTRIBUTE_CHANGE_NOT_IMPLEMENTED
       
  3170                                      =72  "The new class version has different NestHost or "
       
  3171                                           "NestMembers class attribute and "
       
  3172                                           "canUnrestrictedlyRedefineClasses is false.")
  3157     (Constant NOT_IMPLEMENTED        =99  "The functionality is not implemented in "
  3173     (Constant NOT_IMPLEMENTED        =99  "The functionality is not implemented in "
  3158                                           "this virtual machine.")
  3174                                           "this virtual machine.")
  3159     (Constant NULL_POINTER           =100 "Invalid pointer.")
  3175     (Constant NULL_POINTER           =100 "Invalid pointer.")
  3160     (Constant ABSENT_INFORMATION     =101 "Desired information is not available.")
  3176     (Constant ABSENT_INFORMATION     =101 "Desired information is not available.")
  3161     (Constant INVALID_EVENT_TYPE     =102 "The specified event type id is not recognized.")
  3177     (Constant INVALID_EVENT_TYPE     =102 "The specified event type id is not recognized.")