1166-2-4

if (flag) { Plot plot = this.chart.getPlot(); if (plot instanceof Zoomable) { Zoomable z = (Zoomable) plot; this.rangeZoomable = flag && (z.isRangeZoomable()); } } else { this.rangeZoomable = false; }
if (flag) { Plot plot = this.chart.getPlot(); if (plot instanceof Zoomable) { Zoomable z = (Zoomable) plot; this.rangeZoomable = flag && (z.isRangeZoomable()); } } else { this.rangeZoomable = false; }

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

1

    if (flag) {
    ↵

1

    if (flag) {↵

2

                Plot plot = this.chart.getPlot();
    ↵

2

                Plot plot = this.chart.getPlot();↵

3

                if (plot instanceof Zoomable) {
    ↵

3

                if (plot instanceof Zoomable) {↵

4

                    Zoomable z = (Zoomable) plot;
    ↵

4

                    Zoomable z = (Zoomable) plot;↵

5

                    this.rangeZoomable = flag && (z.isRangeZoomable());
    ↵

5

                    this.rangeZoomable = flag && (z.isRangeZoomable());  ↵

6

                }
    ↵

6

                }↵

7

            }
    ↵

7

            }↵

8

            else {
    ↵

8

            else {↵

9

                this.rangeZoomable = false;
    ↵

9

                this.rangeZoomable = false;↵

10

            }

10

            }

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.1
Clones location | Clones are in different classes
Number of node comparisons | 18

1. {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) | 0.9
   Clone type | Type 1

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

   1

       if (flag)

   1

       if (flag)

   2

       Plot plot = this.chart.getPlot();

   2

       Plot plot = this.chart.getPlot();

   3

       if (plot instanceof Zoomable)

   3

       if (plot instanceof Zoomable)

   4

       Zoomable z = (Zoomable)plot;

   4

       Zoomable z = (Zoomable)plot;

   5

       this.rangeZoomable = flag && (z.isRangeZoomable());

   5

       this.rangeZoomable = flag && (z.isRangeZoomable());

       else

       else

   6

       this.rangeZoomable = false;

   6

       this.rangeZoomable = false;

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