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.") |