private boolean matchingArguments(int[] arguments1, int[] arguments2) { if (arguments1.length != arguments2.length) { return false; } for (int index = 0; index < arguments1.length; index++) { if (!matchingArguments(arguments1[index], arguments2[index])) { return false; } } return true; }
protected boolean matchingArguments(int[] arguments1, int[] arguments2) { if (arguments1.length != arguments2.length) { return false; } for (int index = 0; index < arguments1.length; index++) { if (!matchingArguments(arguments1[index], arguments2[index])) { return false; } } return true; }
protected boolean matchingArguments(int[] arguments1, int[] arguments2) { if (arguments1.length != arguments2.length) { return false; } for (int index = 0; index < arguments1.length; index++) { if (!matchingArguments(arguments1[index], arguments2[index])) { return false; } } return true; }
protected boolean matchingArguments(int[] arguments1, int[] arguments2) { if (arguments1.length != arguments2.length) { return false; } for (int index = 0; index < arguments1.length; index++) { if (!matchingArguments(arguments1[index], arguments2[index])) { return false; } } return true; }
public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(variableInstruction, patternInstruction) && matchingArguments(variableInstruction.variableIndex, ((VariableInstruction)patternInstruction).variableIndex) && matchingArguments(variableInstruction.constant, ((VariableInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, variableInstruction); }
public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(variableInstruction, patternInstruction) && matchingArguments(variableInstruction.variableIndex, ((VariableInstruction)patternInstruction).variableIndex) && matchingArguments(variableInstruction.constant, ((VariableInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, variableInstruction); }
public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(variableInstruction, patternInstruction) && matchingArguments(variableInstruction.variableIndex, ((VariableInstruction)patternInstruction).variableIndex) && matchingArguments(variableInstruction.constant, ((VariableInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, variableInstruction); }
public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(variableInstruction, patternInstruction) && matchingArguments(variableInstruction.variableIndex, ((VariableInstruction)patternInstruction).variableIndex) && matchingArguments(variableInstruction.constant, ((VariableInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, variableInstruction); }
public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(simpleInstruction, patternInstruction) && matchingArguments(simpleInstruction.constant, ((SimpleInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, simpleInstruction); }
public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(simpleInstruction, patternInstruction) && matchingArguments(simpleInstruction.constant, ((SimpleInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, simpleInstruction); }
public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(simpleInstruction, patternInstruction) && matchingArguments(simpleInstruction.constant, ((SimpleInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, simpleInstruction); }
public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(simpleInstruction, patternInstruction) && matchingArguments(simpleInstruction.constant, ((SimpleInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, simpleInstruction); }
public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(constantInstruction, patternInstruction) && matchingConstantIndices(clazz, constantInstruction.constantIndex, ((ConstantInstruction)patternInstruction).constantIndex) && matchingArguments(constantInstruction.constant, ((ConstantInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, constantInstruction); }
public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(constantInstruction, patternInstruction) && matchingConstantIndices(clazz, constantInstruction.constantIndex, ((ConstantInstruction)patternInstruction).constantIndex) && matchingArguments(constantInstruction.constant, ((ConstantInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, constantInstruction); }
public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(constantInstruction, patternInstruction) && matchingConstantIndices(clazz, constantInstruction.constantIndex, ((ConstantInstruction)patternInstruction).constantIndex) && matchingArguments(constantInstruction.constant, ((ConstantInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, constantInstruction); }
public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction) { Instruction patternInstruction = patternInstructions[patternInstructionIndex]; // Check if the instruction matches the next instruction in the sequence. boolean condition = matchingOpcodes(constantInstruction, patternInstruction) && matchingConstantIndices(clazz, constantInstruction.constantIndex, ((ConstantInstruction)patternInstruction).constantIndex) && matchingArguments(constantInstruction.constant, ((ConstantInstruction)patternInstruction).constant); // Check if the instruction sequence is matching now. checkMatch(condition, clazz, method, codeAttribute, offset, constantInstruction); }
public void visitMethodHandleConstant(Clazz clazz, MethodHandleConstant methodHandleConstant) { MethodHandleConstant methodHandlePatternConstant = (MethodHandleConstant)patternConstant; // Check the handle type and the name and type. matchingConstant = matchingArguments(methodHandleConstant.getReferenceKind(), methodHandlePatternConstant.getReferenceKind()) && matchingConstantIndices(clazz, methodHandleConstant.getReferenceIndex(), methodHandlePatternConstant.getReferenceIndex()); }
public void visitMethodHandleConstant(Clazz clazz, MethodHandleConstant methodHandleConstant) { MethodHandleConstant methodHandlePatternConstant = (MethodHandleConstant)patternConstant; // Check the handle type and the name and type. matchingConstant = matchingArguments(methodHandleConstant.getReferenceKind(), methodHandlePatternConstant.getReferenceKind()) && matchingConstantIndices(clazz, methodHandleConstant.getReferenceIndex(), methodHandlePatternConstant.getReferenceIndex()); }
public void visitMethodHandleConstant(Clazz clazz, MethodHandleConstant methodHandleConstant) { MethodHandleConstant methodHandlePatternConstant = (MethodHandleConstant)patternConstant; // Check the handle type and the name and type. matchingConstant = matchingArguments(methodHandleConstant.getReferenceKind(), methodHandlePatternConstant.getReferenceKind()) && matchingConstantIndices(clazz, methodHandleConstant.getReferenceIndex(), methodHandlePatternConstant.getReferenceIndex()); }
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); }