1798-1-2

if (this.horizontalAxisTrace && area.x < this.verticalTraceLineX && area.x + area.width > this.verticalTraceLineX) { e.gc.drawLine(this.verticalTraceLineX, area.y, this.verticalTraceLineX, area.y + area.height); }
if (this.verticalAxisTrace && area.y < this.horizontalTraceLineY && area.y + area.height > this.horizontalTraceLineY) { e.gc.drawLine(area.x, this.horizontalTraceLineY, area.x + area.width, this.horizontalTraceLineY); }

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/swt/org/jfree/experimental/chart/swt/ChartComposite.java |  | File path: /jfreechart-1.0.10/swt/org/jfree/experimental/chart/swt/ChartComposite.java
Method name: `void paintControl(PaintEvent)` |  | Method name: `void paintControl(PaintEvent)`
Number of AST nodes: 2 |  | Number of AST nodes: 2

1

    if (this.horizontalAxisTrace && area.x < this.verticalTraceLineX ↵

1

    if (this.verticalAxisTrace && area.y < this.horizontalTraceLineY ↵

2

                    && area.x + area.width > this.verticalTraceLineX) {↵

2

                    && area.y + area.height > this.horizontalTraceLineY) {↵

3

                e.gc.drawLine(this.verticalTraceLineX, area.y, ↵

3

                e.gc.drawLine(area.x, this.horizontalTraceLineY, ↵

4

                        this.verticalTraceLineX, area.y + area.height);↵

4

                        area.x + area.width, this.horizontalTraceLineY);↵

5

            }

5

            }

See real code fragment |  | See real code fragment

Summary
Number of common nesting structure subtrees | 1
Number of refactorable cases | 1
Number of non-refactorable cases | 0
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.4
Clones location | Clones are in the same method
Number of node comparisons | 4

1. {Refactorable}

   Mapping Summary
   Number of mapped statements | 2
   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) | 1.6
   Clone type | Type 2

   Mapped Statements
   ID | Statement |  | ID | Statement
   --- | --- | --- | --- | ---

   60

       if (this.horizontalAxisTrace && area.x < this.verticalTraceLineX && area.x + area.width > this.verticalTraceLineX)

   60 | if (this.horizontalAxisTrace && area.x < this.verticalTraceLineX && area.x + area.width > this.verticalTraceLineX)
   62 | if (this.verticalAxisTrace && area.y < this.horizontalTraceLineY && area.y + area.height > this.horizontalTraceLineY)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   horizontalAxisTrace | verticalAxisTrace | VARIABLE_NAME_MISMATCH
   x | y | VARIABLE_NAME_MISMATCH
   verticalTraceLineX | horizontalTraceLineY | VARIABLE_NAME_MISMATCH
   x | y | VARIABLE_NAME_MISMATCH
   width | height | VARIABLE_NAME_MISMATCH
   verticalTraceLineX | horizontalTraceLineY | VARIABLE_NAME_MISMATCH

   62

       if (this.verticalAxisTrace && area.y < this.horizontalTraceLineY && area.y + area.height > this.horizontalTraceLineY)

   61

       e.gc.drawLine(this.verticalTraceLineX, area.y, this.verticalTraceLineX, area.y + area.height);

   61 | e.gc.drawLine(this.verticalTraceLineX, area.y, this.verticalTraceLineX, area.y + area.height);
   63 | e.gc.drawLine(area.x, this.horizontalTraceLineY, area.x + area.width, this.horizontalTraceLineY);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   this.verticalTraceLineX | area.x | TYPE_COMPATIBLE_REPLACEMENT
   area.y | this.horizontalTraceLineY | TYPE_COMPATIBLE_REPLACEMENT
   this.verticalTraceLineX | area.x + area.width | TYPE_COMPATIBLE_REPLACEMENT
   area.y + area.height | this.horizontalTraceLineY | TYPE_COMPATIBLE_REPLACEMENT

   63

       e.gc.drawLine(area.x, this.horizontalTraceLineY, area.x + area.width, this.horizontalTraceLineY);

   Precondition Violations (0)
   Row | Violation
   --- | ---