mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixes for IDEA-CR-34442
This commit is contained in:
@@ -31,13 +31,11 @@ public class MethodBytecodeUtil {
|
||||
* Allows to use ASM MethodVisitor with jdi method bytecode
|
||||
*/
|
||||
public static void visit(Method method, MethodVisitor methodVisitor, boolean withLineNumbers) {
|
||||
if (method.virtualMachine().canGetBytecodes()) {
|
||||
visit(method, method.bytecodes(), methodVisitor, withLineNumbers);
|
||||
}
|
||||
visit(method, method.bytecodes(), methodVisitor, withLineNumbers);
|
||||
}
|
||||
|
||||
public static void visit(Method method, long maxOffset, MethodVisitor methodVisitor, boolean withLineNumbers) {
|
||||
if (maxOffset > 0 && method.virtualMachine().canGetBytecodes()) {
|
||||
if (maxOffset > 0) {
|
||||
// need to keep the size, otherwise labels array will not be initialized correctly
|
||||
byte[] originalBytecodes = method.bytecodes();
|
||||
byte[] bytecodes = originalBytecodes;
|
||||
@@ -65,9 +63,6 @@ public class MethodBytecodeUtil {
|
||||
}
|
||||
|
||||
private static void visit(Method method, byte[] bytecodes, MethodVisitor methodVisitor, boolean withLineNumbers) {
|
||||
if (!method.virtualMachine().canGetConstantPool()) {
|
||||
return;
|
||||
}
|
||||
ReferenceType type = method.declaringType();
|
||||
try {
|
||||
byte[] constantPool = getConstantPool(type);
|
||||
|
||||
+1
@@ -122,6 +122,7 @@ public class WildcardMethodBreakpoint extends Breakpoint<JavaMethodBreakpointPro
|
||||
VirtualMachineProxyImpl virtualMachineProxy = debugProcess.getVirtualMachineProxy();
|
||||
if (!virtualMachineProxy.canGetBytecodes() || !virtualMachineProxy.canGetConstantPool()) {
|
||||
disableEmulation();
|
||||
return;
|
||||
}
|
||||
debugProcess.getRequestsManager().callbackOnPrepareClasses(this, getClassPattern());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user