protected boolean matchingJumpOffsets(int offset, int[] jumpOffsets1, int[] jumpOffsets2) { if (jumpOffsets1.length != jumpOffsets2.length) { return false; } for (int index = 0; index < jumpOffsets1.length; index++) { if (!matchingBranchOffsets(offset, jumpOffsets1[index], jumpOffsets2[index])) { return false; } } return true; }
protected boolean matchingJumpOffsets(int offset, int[] jumpOffsets1, int[] jumpOffsets2) { if (jumpOffsets1.length != jumpOffsets2.length) { return false; } for (int index = 0; index < jumpOffsets1.length; index++) { if (!matchingBranchOffsets(offset, jumpOffsets1[index], jumpOffsets2[index])) { return false; } } return true; }
private boolean matchingJumpOffsets(int offset, int[] jumpOffsets1, int[] jumpOffsets2) { if (jumpOffsets1.length != jumpOffsets2.length) { return false; } for (int index = 0; index < jumpOffsets1.length; index++) { if (!matchingBranchOffsets(offset, jumpOffsets1[index], jumpOffsets2[index])) { return false; } } return true; }
protected boolean matchingJumpOffsets(int offset, int[] jumpOffsets1, int[] jumpOffsets2) { if (jumpOffsets1.length != jumpOffsets2.length) { return false; } for (int index = 0; index < jumpOffsets1.length; index++) { if (!matchingBranchOffsets(offset, jumpOffsets1[index], jumpOffsets2[index])) { return false; } } return true; }
public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the from // sequence. boolean condition = matchingOpcodes(branchInstruction, patternInstruction) && matchingBranchOffsets(offset, branchInstruction.branchOffset, ((BranchInstruction)patternInstruction).branchOffset); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, branchInstruction); }
public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the from // sequence. boolean condition = matchingOpcodes(branchInstruction, patternInstruction) && matchingBranchOffsets(offset, branchInstruction.branchOffset, ((BranchInstruction)patternInstruction).branchOffset); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, branchInstruction); }
public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the from // sequence. boolean condition = matchingOpcodes(branchInstruction, patternInstruction) && matchingBranchOffsets(offset, branchInstruction.branchOffset, ((BranchInstruction)patternInstruction).branchOffset); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, branchInstruction); }
public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the from // sequence. boolean condition = matchingOpcodes(branchInstruction, patternInstruction) && matchingBranchOffsets(offset, branchInstruction.branchOffset, ((BranchInstruction)patternInstruction).branchOffset); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, branchInstruction); }
public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(lookUpSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, lookUpSwitchInstruction.defaultOffset, ((LookUpSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(lookUpSwitchInstruction.cases, ((LookUpSwitchInstruction)patternInstruction).cases) && matchingJumpOffsets(offset, lookUpSwitchInstruction.jumpOffsets, ((LookUpSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, lookUpSwitchInstruction); }
public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(lookUpSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, lookUpSwitchInstruction.defaultOffset, ((LookUpSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(lookUpSwitchInstruction.cases, ((LookUpSwitchInstruction)patternInstruction).cases) && matchingJumpOffsets(offset, lookUpSwitchInstruction.jumpOffsets, ((LookUpSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, lookUpSwitchInstruction); }
public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(lookUpSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, lookUpSwitchInstruction.defaultOffset, ((LookUpSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(lookUpSwitchInstruction.cases, ((LookUpSwitchInstruction)patternInstruction).cases) && matchingJumpOffsets(offset, lookUpSwitchInstruction.jumpOffsets, ((LookUpSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, lookUpSwitchInstruction); }
public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(lookUpSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, lookUpSwitchInstruction.defaultOffset, ((LookUpSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(lookUpSwitchInstruction.cases, ((LookUpSwitchInstruction)patternInstruction).cases) && matchingJumpOffsets(offset, lookUpSwitchInstruction.jumpOffsets, ((LookUpSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, lookUpSwitchInstruction); }
public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(tableSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, tableSwitchInstruction.defaultOffset, ((TableSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(tableSwitchInstruction.lowCase, ((TableSwitchInstruction)patternInstruction).lowCase) && matchingArguments(tableSwitchInstruction.highCase, ((TableSwitchInstruction)patternInstruction).highCase) && matchingJumpOffsets(offset, tableSwitchInstruction.jumpOffsets, ((TableSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, tableSwitchInstruction); }
public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(tableSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, tableSwitchInstruction.defaultOffset, ((TableSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(tableSwitchInstruction.lowCase, ((TableSwitchInstruction)patternInstruction).lowCase) && matchingArguments(tableSwitchInstruction.highCase, ((TableSwitchInstruction)patternInstruction).highCase) && matchingJumpOffsets(offset, tableSwitchInstruction.jumpOffsets, ((TableSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, tableSwitchInstruction); }
public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(tableSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, tableSwitchInstruction.defaultOffset, ((TableSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(tableSwitchInstruction.lowCase, ((TableSwitchInstruction)patternInstruction).lowCase) && matchingArguments(tableSwitchInstruction.highCase, ((TableSwitchInstruction)patternInstruction).highCase) && matchingJumpOffsets(offset, tableSwitchInstruction.jumpOffsets, ((TableSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, tableSwitchInstruction); }
public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(tableSwitchInstruction, patternInstruction) && matchingBranchOffsets(offset, tableSwitchInstruction.defaultOffset, ((TableSwitchInstruction)patternInstruction).defaultOffset) && matchingArguments(tableSwitchInstruction.lowCase, ((TableSwitchInstruction)patternInstruction).lowCase) && matchingArguments(tableSwitchInstruction.highCase, ((TableSwitchInstruction)patternInstruction).highCase) && matchingJumpOffsets(offset, tableSwitchInstruction.jumpOffsets, ((TableSwitchInstruction)patternInstruction).jumpOffsets); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, tableSwitchInstruction); }