| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 11 | 3 | 3 | 0.964 | statement_sequence[3] |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 11 | 148 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.java |
| 2 | 11 | 198 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ForStatement.java |
| 3 | 11 | 145 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/WhileStatement.java |
| ||||
FlowInfo mergedInfo = FlowInfo.mergedOptimizedBranches(
(loopingContext.initsOnBreak.tagBits&
FlowInfo.UNREACHABLE) != 0 ?
loopingContext.initsOnBreak:
flowInfo.addInitializationsFrom(loopingContext.initsOnBreak), // recover upstream null info
false,
exitBranch,
false,
true
/*for(;;){}while(true); unreachable(); */
);
mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
return mergedInfo;
|
| ||||
//end of loop
FlowInfo mergedInfo = FlowInfo.mergedOptimizedBranches(
(loopingContext.initsOnBreak.tagBits&
FlowInfo.UNREACHABLE) != 0 ?
loopingContext.initsOnBreak:
flowInfo.addInitializationsFrom(loopingContext.initsOnBreak), // recover upstream null info
isConditionOptimizedTrue,
exitBranch,
isConditionOptimizedFalse,
!isConditionTrue
/*for(;;){}while(true); unreachable(); */
);
mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
return mergedInfo;
|
| ||||
// end of loop
FlowInfo mergedInfo = FlowInfo.mergedOptimizedBranches(
(loopingContext.initsOnBreak.tagBits&
FlowInfo.UNREACHABLE) != 0 ?
loopingContext.initsOnBreak:
flowInfo.addInitializationsFrom(loopingContext.initsOnBreak), // recover upstream null info
isConditionOptimizedTrue,
exitBranch,
isConditionOptimizedFalse,
!isConditionTrue
/*while(true); unreachable(); */
);
mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
return mergedInfo;
|
| |||
// end of loop
//end of loop
FlowInfo mergedInfo = FlowInfo.mergedOptimizedBranches((loopingContext.initsOnBreak.tagBits&FlowInfo.UNREACHABLE) != 0 ? loopingContext.initsOnBreak: flowInfo.addInitializationsFrom(loopingContext.initsOnBreak), // recover upstream null info
[[#variableb40cd300]], exitBranch, [[#variableb945ca80]], [[#variable54b22940]]
/*while(true); unreachable(); */
/*for(;;){}while(true); unreachable(); */
);
mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
return mergedInfo;
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#b40cd300]] | isConditionOptimizedTrue |
| 1 | 2 | [[#b40cd300]] | false |
| 1 | 3 | [[#b40cd300]] | isConditionOptimizedTrue |
| 2 | 1 | [[#b945ca80]] | isConditionOptimizedFalse |
| 2 | 2 | [[#b945ca80]] | false |
| 2 | 3 | [[#b945ca80]] | isConditionOptimizedFalse |
| 3 | 1 | [[#54b22940]] | !isConditionTrue |
| 3 | 2 | [[#54b22940]] | true |
| 3 | 3 | [[#54b22940]] | !isConditionTrue |