if (this.circular) {
double min = Math.min(linkW, linkH) / 2;
linkX = (linkX + linkX + linkW) / 2 - min;
linkY = (linkY + linkY + linkH) / 2 - min;
linkW = 2 * min;
linkH = 2 * min;
}
if (isCircular()) { // is circular?
double min = Math.min(linkW, linkH) / 2;
linkX = (linkX + linkX + linkW) / 2 - min;
linkY = (linkY + linkY + linkH) / 2 - min;
linkW = 2 * min;
linkH = 2 * min;
}
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/PiePlot.java
|
|
File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/PiePlot3D.java
|
Method name: void drawPie(Graphics2D, Rectangle2D, PlotRenderingInfo)
|
|
Method name: void draw(Graphics2D, Rectangle2D, Point2D, PlotState, PlotRenderingInfo)
|
Number of AST nodes: 6
|
|
Number of AST nodes: 6
|
|
1 | if (this.circular) {↵ | | 1 | if (isCircular()) { // is circular?↵
|
2 | double min = Math.min(linkW, linkH) / 2;↵ | | 2 | double min = Math.min(linkW, linkH) / 2;↵
|
3 | linkX = (linkX + linkX + linkW) / 2 - min;↵ | | 3 | linkX = (linkX + linkX + linkW) / 2 - min;↵
|
4 | linkY = (linkY + linkY + linkH) / 2 - min;↵ | | 4 | linkY = (linkY + linkY + linkH) / 2 - min;↵
|
5 | linkW = 2 * min;↵ | | 5 | linkW = 2 * min;↵
|
6 | linkH = 2 * min;↵ | | 6 | linkH = 2 * min;↵
|
7 | } | | 7 | }
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.2 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 36 |
-
{Non-refactorable}
Mapping Summary
Number of mapped statements | 6 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 3.6 |
Clone type | Type 2 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
20 | if (this.circular) | | 29 | if (isCircular()) |
21 | double min = Math.min(linkW, linkH) / 2; | | 30 | double min = Math.min(linkW, linkH) / 2; |
22 | linkX = (linkX + linkX + linkW) / 2 - min; | | 31 | linkX = (linkX + linkX + linkW) / 2 - min; |
23 | linkY = (linkY + linkY + linkH) / 2 - min; | | 32 | linkY = (linkY + linkY + linkH) / 2 - min; |
24 | | | 33 | |
25 | | | 34 | |
Precondition Violations (1)
Row |
Violation |
1 | Clone fragment #1 returns variables linkX, linkY, linkW, linkH , while Clone fragment #2 returns variables linkX, linkY, linkW, linkH |