Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
17 | 4 | 5 | 0.955 | statement_sequence[2] |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 17 | 788 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
2 | 17 | 883 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
3 | 17 | 997 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
4 | 17 | 1426 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
| ||||
// for each pending break or continue instruction which are related to // this loop, set the offset of the corresponding jump. for (Iterator iter = fCompleteInstructions.iterator(); iter.hasNext();) { CompleteInstruction instruction = (CompleteInstruction) iter.next(); Jump jumpInstruction = instruction.fInstruction; int instructionAddress = fInstructions.indexOf(jumpInstruction); if (instructionAddress > bodyStartAddress && (instruction.fLabel == null || instruction.fLabel.equals(label))) { iter.remove(); if (instruction.fIsBreak) { // jump to the instruction after the last jump jumpInstruction.setOffset((conditionAddress - instructionAddress) + 1); } else { // jump to the first instruction of the condition jumpInstruction.setOffset(bodyAddress - instructionAddress); } } } storeInstruction(); |
| ||||
for (Iterator iter = fCompleteInstructions.iterator(); iter.hasNext();) { CompleteInstruction instruction = (CompleteInstruction) iter.next(); Jump jumpInstruction = instruction.fInstruction; int instructionAddress = fInstructions.indexOf(jumpInstruction); if (instructionAddress > conditionAddress && (instruction.fLabel == null || instruction.fLabel.equals(label))) { iter.remove(); if (instruction.fIsBreak) { // jump to the instruction after the last jump jumpInstruction.setOffset((bodyAddress - instructionAddress) + 1); } else { // jump to the first instruction of the condition jumpInstruction.setOffset(initAddress - instructionAddress); } } } storeInstruction(); |
| ||||
// for each pending break or continue instruction which are related to // this loop, set the offset of the corresponding jump. for (Iterator iter = fCompleteInstructions.iterator(); iter.hasNext();) { CompleteInstruction instruction = (CompleteInstruction) iter.next(); Jump jumpInstruction = instruction.fInstruction; int instructionAddress = fInstructions.indexOf(jumpInstruction); if (instructionAddress > bodyStartAddress && (instruction.fLabel == null || instruction.fLabel.equals(label))) { iter.remove(); if (instruction.fIsBreak) { // jump to the instruction after the last jump jumpInstruction.setOffset((updatersAddress - instructionAddress) + 1); } else { // jump to the first instruction of the condition jumpInstruction.setOffset(bodyAddress - instructionAddress); } } } storeInstruction(); |
| ||||
// for each pending break or continue instruction which are related to // this loop, set the offset of the corresponding jump. for (Iterator iter = fCompleteInstructions.iterator(); iter.hasNext();) { CompleteInstruction instruction = (CompleteInstruction) iter.next(); Jump jumpInstruction = instruction.fInstruction; int instructionAddress = fInstructions.indexOf(jumpInstruction); if (instructionAddress > conditionAddress && (instruction.fLabel == null || instruction.fLabel.equals(label))) { iter.remove(); if (instruction.fIsBreak) { // jump to the instruction after the last jump jumpInstruction.setOffset((bodyAddress - instructionAddress) + 2); } else { // jump to the first instruction of the condition jumpInstruction.setOffset((conditionAddress - condition.getSize()) - instructionAddress); } } } fCounter += 2; |
| |||
// for each pending break or continue instruction which are related to // this loop, set the offset of the corresponding jump. for (Iterator iter = fCompleteInstructions.iterator(); iter.hasNext();) { CompleteInstruction instruction = (CompleteInstruction) iter.next(); Jump jumpInstruction = instruction.fInstruction; int instructionAddress = fInstructions.indexOf(jumpInstruction); if (instructionAddress > [[#variable92bcff80]]&& (instruction.fLabel == null || instruction.fLabel.equals(label))) { iter.remove(); if (instruction.fIsBreak) { // jump to the instruction after the last jump jumpInstruction.setOffset(( [[#variable587ac580]] - instructionAddress) + [[#variable4d34efe0]]); } else { // jump to the first instruction of the condition jumpInstruction.setOffset( [[#variable4d34efa0]] - instructionAddress); } } } [[#variable4d34f180]]; |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
1 | 1 | [[#92bcff80]] | bodyStartAddress |
1 | 2 | [[#92bcff80]] | conditionAddress |
1 | 3 | [[#92bcff80]] | bodyStartAddress |
1 | 4 | [[#92bcff80]] | conditionAddress |
2 | 1 | [[#587ac580]] | conditionAddress |
2 | 2 | [[#587ac580]] | bodyAddress |
2 | 3 | [[#587ac580]] | updatersAddress |
2 | 4 | [[#587ac580]] | bodyAddress |
3 | 1 | [[#4d34efe0]] | 1 |
3 | 2 | [[#4d34efe0]] | 1 |
3 | 3 | [[#4d34efe0]] | 1 |
3 | 4 | [[#4d34efe0]] | 2 |
4 | 1 | [[#4d34efa0]] | bodyAddress |
4 | 2 | [[#4d34efa0]] | initAddress |
4 | 3 | [[#4d34efa0]] | bodyAddress |
4 | 4 | [[#4d34efa0]] | (conditionAddress - condition.getSize()) |
5 | 1 | [[#4d34f180]] | storeInstruction() |
5 | 2 | [[#4d34f180]] | storeInstruction() |
5 | 3 | [[#4d34f180]] | storeInstruction() |
5 | 4 | [[#4d34f180]] | fCounter += 2 |