if (obj == this) { return true; } if (!(obj instanceof Axis)) { return false; } Axis that = (Axis) obj; if (this.visible != that.visible) { return false; } if (!ObjectUtilities.equal(this.label, that.label)) { return false; } if (!ObjectUtilities.equal(this.labelFont, that.labelFont)) { return false; } if (!PaintUtilities.equal(this.labelPaint, that.labelPaint)) { return false; } if (!ObjectUtilities.equal(this.labelInsets, that.labelInsets)) { return false; } if (this.labelAngle != that.labelAngle) { return false; } if (this.axisLineVisible != that.axisLineVisible) { return false; } if (!ObjectUtilities.equal(this.axisLineStroke, that.axisLineStroke)) { return false; } if (!PaintUtilities.equal(this.axisLinePaint, that.axisLinePaint)) { return false; } if (this.tickLabelsVisible != that.tickLabelsVisible) { return false; } if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont)) { return false; } if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint)) { return false; } if (!ObjectUtilities.equal( this.tickLabelInsets, that.tickLabelInsets )) { return false; } if (this.tickMarksVisible != that.tickMarksVisible) { return false; } if (this.tickMarkInsideLength != that.tickMarkInsideLength) { return false; } if (this.tickMarkOutsideLength != that.tickMarkOutsideLength) { return false; } if (!PaintUtilities.equal(this.tickMarkPaint, that.tickMarkPaint)) { return false; } if (!ObjectUtilities.equal(this.tickMarkStroke, that.tickMarkStroke)) { return false; } if (this.fixedDimension != that.fixedDimension) { return false; } return true;
if (obj == this) { return true; } if (!(obj instanceof MeterPlot)) { return false; } if (!super.equals(obj)) { return false; } MeterPlot that = (MeterPlot) obj; if (!ObjectUtilities.equal(this.units, that.units)) { return false; } if (!ObjectUtilities.equal(this.range, that.range)) { return false; } if (!ObjectUtilities.equal(this.intervals, that.intervals)) { return false; } if (!PaintUtilities.equal(this.dialOutlinePaint, that.dialOutlinePaint)) { return false; } if (this.shape != that.shape) { return false; } if (!PaintUtilities.equal(this.dialBackgroundPaint, that.dialBackgroundPaint)) { return false; } if (!PaintUtilities.equal(this.needlePaint, that.needlePaint)) { return false; } if (!ObjectUtilities.equal(this.valueFont, that.valueFont)) { return false; } if (!PaintUtilities.equal(this.valuePaint, that.valuePaint)) { return false; } if (!PaintUtilities.equal(this.tickPaint, that.tickPaint)) { return false; } if (this.tickSize != that.tickSize) { return false; } if (this.tickLabelsVisible != that.tickLabelsVisible) { return false; } if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont)) { return false; } if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint)) { return false; } if (!ObjectUtilities.equal(this.tickLabelFormat, that.tickLabelFormat)) { return false; } if (this.drawBorder != that.drawBorder) { return false; } if (this.meterAngle != that.meterAngle) { return false; } return true;
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/axis/Axis.java File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/MeterPlot.java
Method name: boolean equals(Object) Method name: boolean equals(Object)
Number of AST nodes: 44 Number of AST nodes: 42
1
if (obj == this) {
1
if (obj == this) {
2
            return true;
2
            return true;
3
        }
3
        }   
4
        if (!(obj instanceof Axis)) {
4
        if (!(obj instanceof MeterPlot)) {
5
            return false;
5
            return false;
6
        }
6
   
7
        Axis that = (Axis) obj;
7
        
8
        if (this.visible != that.visible
8
}
9
) {
9
        if (!super.equals(obj)) {
10
            return false;
10
            return false;
11
        }
11
        }
12
        MeterPlot that = (MeterPlot) obj;
12
        if (!ObjectUtilities.equal(this.label, that.label)) {
13
        if (!ObjectUtilities.equal(this.units, that.units)) {
13
            return false;
14
            return false;   
14
        }
15
        }
15
        if (!ObjectUtilities.equal(this.labelFont, that.labelFont)) {
16
        if (!ObjectUtilities.equal(this.range, that.range)) {
16
            return false;
17
            return false;
17
        }
18
        }
18
        if (!PaintUtilities.equal(this.labelPaint, that.labelPaint)) {
19
        if (!ObjectUtilities.equal(this.intervals, that.intervals)) {
19
            return false;
20
            return false;   
20
        }
21
        }
21
        if (!ObjectUtilities.equal(this.labelInsets, that.labelInsets)) {
22
        if (!PaintUtilities.equal(this.
22
            return false;
23
dialOutlinePaint, 
23
        }
24
        
24
        if (this.labelAngle != that.labelAngle) {
25
        that.dialOutlinePaint)) {
25
            return false;
26
            return false;   
26
        }
27
        }
27
        if (this.axisLineVisible != that.axisLineVisible) {
28
        if (this.shape != that.shape) {
28
            return false;
29
            return false;   
29
        }
30
        }
30
        if (!ObjectUtilities.equal(this.axisLineStroke, that.axisLineStroke
31
        if (!PaintUtilities.equal(this.dialBackgroundPaint, 
31
)) {
32
                that.dialBackgroundPaint)) {
32
            return false;
33
            return false;   
33
        }
34
        }
34
        if (!PaintUtilities.equal(this.axisLinePaint, that.axisLinePaint)) {
35
        if (!PaintUtilities.equal(this.needlePaint, that.needlePaint)) {
35
            return false;
36
            return false;   
36
        }
37
        }
37
        if (this.tickLabelsVisible != that.tickLabelsVisible) {
38
        if (!ObjectUtilities.equal(this.valueFont, that.valueFont)) {
38
            return false;
39
            return false;   
39
        }
40
        }
40
        if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont)) {
41
        if (!PaintUtilities.equal(this.valuePaint, that.valuePaint)) {
41
            return false;
42
            return false;   
42
        }
43
        }
43
        if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint)) {
44
        if (!PaintUtilities.equal(this.tickPaint, that.tickPaint)) {
44
            return false;
45
            return false;
45
        }
46
        }
46
        if (!ObjectUtilities.equal(
47
        if (
47
            this.tickLabelInsets, that.tickLabelInsets
48
        )) {
48
this.tickSize != that.tickSize) {
49
            return false;
49
            return false;
50
        }
50
        }
51
        if (this.tickMarksVisible != that.tickMarksVisible) {
51
        if (this.tickLabelsVisible != that.tickLabelsVisible) {
52
            return false;
52
            return false;   
53
        }
53
        }
54
        if (this.tickMarkInsideLength != that.tickMarkInsideLength) {
54
        if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont)) {
55
            return false;
55
            return false;   
56
        }
56
        }
57
        if (this.tickMarkOutsideLength != that.tickMarkOutsideLength) {
57
        if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint)) {
58
            return false;
58
            return false;
59
        }
59
        }
60
        if (!PaintUtilities.equal(this.tickMarkPaint, that.tickMarkPain
60
        if (!ObjectUtilities.equal(this.tickLabelFormat, 
61
t)) {
61
                that.tickLabelFormat)) {
62
            return false;
62
            return false;   
63
        }
63
        }
64
        if (!ObjectUtilities.equal(this.tickMarkStroke, that.tickMarkStroke)) {
64
        if (this.drawBorder != that.drawBorder) {
65
            return false;
65
            return false;   
66
        }
66
        }
67
        if (this.fixedDimension != that.fixedDimension) {
67
        if (this.meterAngle != that.meterAngle) {
68
            return false;
68
            return false;   
69
        }
69
        }
70
        return true;
70
        return true;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)82.8
Clones locationClones are in different classes
Number of node comparisons775
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements36
    Number of unmapped statements in the first code fragment5
    Number of unmapped statements in the second code fragment5
    Time elapsed for statement mapping (ms)52.4
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    if (obj == this)
    1
    if (obj == this)
    2
    return true;
    2
    return true;
    3
    if (!(obj instanceof Axis))
    3
    if (!(obj instanceof Axis))
    3
    if (!(obj instanceof MeterPlot))
    Differences
    Expression1Expression2Difference
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.axis.Axis does not match with type org.jfree.chart.plot.MeterPlot
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    3
    if (!(obj instanceof MeterPlot))
    4
    return false;
    4
    return false;
                                                      
    5
    if (!super.equals(obj))
                                    
    6
    return false;
    Preondition Violations
    Unmatched return false;
    6
    return false;
    5
    Axis that = (Axis)obj;
                                                  
                                                                      
    7
    MeterPlot that = (MeterPlot)obj;
    6
    if (this.visible != that.visible)
    6
    if (this.visible != that.visible)
    30
    if (this.tickLabelsVisible != that.tickLabelsVisible)
    Differences
    Expression1Expression2Difference
    visibletickLabelsVisibleVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    visibletickLabelsVisibleVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type boolean of variable that.visible does not match with type boolean of variable that.tickLabelsVisible
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.visible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.tickLabelsVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    30
    if (this.tickLabelsVisible != that.tickLabelsVisible)
    7
    return false;
    31
    return false;
    8
    if (!ObjectUtilities.equal(this.label, that.label))
    8
    if (!ObjectUtilities.equal(this.label, that.label))
    8
    if (!ObjectUtilities.equal(this.units, that.units))
    Differences
    Expression1Expression2Difference
    labelunitsVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    labelunitsVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type java.lang.String of variable that.label does not match with type java.lang.String of variable that.units
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.label cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.units cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8
    if (!ObjectUtilities.equal(this.units, that.units))
    9
    return false;
    9
    return false;
    10
    if (!ObjectUtilities.equal(this.labelFont, that.labelFont))
    10
    if (!ObjectUtilities.equal(this.labelFont, that.labelFont))
    22
    if (!ObjectUtilities.equal(this.valueFont, that.valueFont))
    Differences
    Expression1Expression2Difference
    labelFontvalueFontVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    labelFontvalueFontVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type java.awt.Font of variable that.labelFont does not match with type java.awt.Font of variable that.valueFont
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.labelFont cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.valueFont cannot be parameterized, because it has dependencies to/from statements that will be extracted
    22
    if (!ObjectUtilities.equal(this.valueFont, that.valueFont))
    11
    return false;
    23
    return false;
    12
    if (!PaintUtilities.equal(this.labelPaint, that.labelPaint))
    12
    if (!PaintUtilities.equal(this.labelPaint, that.labelPaint))
    14
    if (!PaintUtilities.equal(this.dialOutlinePaint, that.dialOutlinePaint))
    Differences
    Expression1Expression2Difference
    labelPaintdialOutlinePaintVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    labelPaintdialOutlinePaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type java.awt.Paint of variable that.labelPaint does not match with type java.awt.Paint of variable that.dialOutlinePaint
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.labelPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.dialOutlinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14
    if (!PaintUtilities.equal(this.dialOutlinePaint, that.dialOutlinePaint))
    13
    return false;
    15
    return false;
    14
    if (!ObjectUtilities.equal(this.labelInsets, that.labelInsets))
    14
    if (!ObjectUtilities.equal(this.labelInsets, that.labelInsets))
    12
    if (!ObjectUtilities.equal(this.intervals, that.intervals))
    Differences
    Expression1Expression2Difference
    labelInsetsintervalsVARIABLE_NAME_MISMATCH
    org.jfree.ui.RectangleInsetsjava.util.ListVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    labelInsetsintervalsVARIABLE_NAME_MISMATCH
    org.jfree.ui.RectangleInsetsjava.util.ListVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.ui.RectangleInsets of variable this.labelInsets does not match with type java.util.List of variable this.intervals
    • Make classes org.jfree.ui.RectangleInsets and java.util.List extend a common superclass
    Type org.jfree.ui.RectangleInsets of variable that.labelInsets does not match with type java.util.List of variable that.intervals
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.labelInsets cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.intervals cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.ui.RectangleInsets of variable that.labelInsets does not match with type java.util.List of variable that.intervals
    • Make classes org.jfree.ui.RectangleInsets and java.util.List extend a common superclass
    12
    if (!ObjectUtilities.equal(this.intervals, that.intervals))
    15
    return false;
    13
    return false;
                                                                                                                                                                    
    18
    if (!PaintUtilities.equal(this.dialBackgroundPaint, that.dialBackgroundPaint))
                                      
    19
    return false;
    Preondition Violations
    Unmatched return false;
    19
    return false;
    16
    if (this.labelAngle != that.labelAngle)
    16
    if (this.labelAngle != that.labelAngle)
    28
    if (this.tickSize != that.tickSize)
    Differences
    Expression1Expression2Difference
    labelAngletickSizeVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    labelAngletickSizeVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type double of variable that.labelAngle does not match with type double of variable that.tickSize
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.labelAngle cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.tickSize cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28
    if (this.tickSize != that.tickSize)
    17
    return false;
    29
    return false;
    18
    if (this.axisLineVisible != that.axisLineVisible)
    18
    if (this.axisLineVisible != that.axisLineVisible)
    38
    if (this.drawBorder != that.drawBorder)
    Differences
    Expression1Expression2Difference
    axisLineVisibledrawBorderVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    axisLineVisibledrawBorderVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type boolean of variable that.axisLineVisible does not match with type boolean of variable that.drawBorder
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.axisLineVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.drawBorder cannot be parameterized, because it has dependencies to/from statements that will be extracted
    38
    if (this.drawBorder != that.drawBorder)
    19
    return false;
    39
    return false;
    20
    if (!ObjectUtilities.equal(this.axisLineStroke, that.axisLineStroke))
    20
    if (!ObjectUtilities.equal(this.axisLineStroke, that.axisLineStroke))
    10
    if (!ObjectUtilities.equal(this.range, that.range))
    Differences
    Expression1Expression2Difference
    axisLineStrokerangeVARIABLE_NAME_MISMATCH
    java.awt.Strokeorg.jfree.data.RangeVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    axisLineStrokerangeVARIABLE_NAME_MISMATCH
    java.awt.Strokeorg.jfree.data.RangeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type java.awt.Stroke of variable this.axisLineStroke does not match with type org.jfree.data.Range of variable this.range
    • Make classes java.awt.Stroke and org.jfree.data.Range extend a common superclass
    Type java.awt.Stroke of variable that.axisLineStroke does not match with type org.jfree.data.Range of variable that.range
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.axisLineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.range cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type java.awt.Stroke of variable that.axisLineStroke does not match with type org.jfree.data.Range of variable that.range
    • Make classes java.awt.Stroke and org.jfree.data.Range extend a common superclass
    10
    if (!ObjectUtilities.equal(this.range, that.range))
    21
    return false;
    11
    return false;
    22
    if (!PaintUtilities.equal(this.axisLinePaint, that.axisLinePaint))
    22
    if (!PaintUtilities.equal(this.axisLinePaint, that.axisLinePaint))
    20
    if (!PaintUtilities.equal(this.needlePaint, that.needlePaint))
    Differences
    Expression1Expression2Difference
    axisLinePaintneedlePaintVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    axisLinePaintneedlePaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type java.awt.Paint of variable that.axisLinePaint does not match with type java.awt.Paint of variable that.needlePaint
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.axisLinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.needlePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20
    if (!PaintUtilities.equal(this.needlePaint, that.needlePaint))
    23
    return false;
    21
    return false;
    24
    if (this.tickLabelsVisible != that.tickLabelsVisible)
    24
    if (this.tickLabelsVisible != that.tickLabelsVisible)
    16
    if (this.shape != that.shape)
    Differences
    Expression1Expression2Difference
    tickLabelsVisibleshapeVARIABLE_NAME_MISMATCH
    booleanorg.jfree.chart.plot.DialShapeVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    tickLabelsVisibleshapeVARIABLE_NAME_MISMATCH
    booleanorg.jfree.chart.plot.DialShapeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type boolean of variable this.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable this.shape
    Type boolean of variable that.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable that.shape
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.tickLabelsVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.shape cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type boolean of variable that.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable that.shape
    16
    if (this.shape != that.shape)
    25
    return false;
    17
    return false;
    26
    if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont))
    26
    if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont))
    32
    if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont))
    Differences
    Expression1Expression2Difference
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type java.awt.Font of variable that.tickLabelFont does not match with type java.awt.Font of variable that.tickLabelFont
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    32
    if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont))
    27
    return false;
    33
    return false;
    28
    if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint))
    28
    if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint))
    34
    if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint))
    Differences
    Expression1Expression2Difference
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type java.awt.Paint of variable that.tickLabelPaint does not match with type java.awt.Paint of variable that.tickLabelPaint
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    34
    if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint))
    29
    return false;
    35
    return false;
    30
    if (!ObjectUtilities.equal(this.tickLabelInsets, that.tickLabelInsets))
    30
    if (!ObjectUtilities.equal(this.tickLabelInsets, that.tickLabelInsets))
    36
    if (!ObjectUtilities.equal(this.tickLabelFormat, that.tickLabelFormat))
    Differences
    Expression1Expression2Difference
    tickLabelInsetstickLabelFormatVARIABLE_NAME_MISMATCH
    org.jfree.ui.RectangleInsetsjava.text.NumberFormatVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    tickLabelInsetstickLabelFormatVARIABLE_NAME_MISMATCH
    org.jfree.ui.RectangleInsetsjava.text.NumberFormatVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.ui.RectangleInsets of variable this.tickLabelInsets does not match with type java.text.NumberFormat of variable this.tickLabelFormat
    • Make classes org.jfree.ui.RectangleInsets and java.text.NumberFormat extend a common superclass
    Type org.jfree.ui.RectangleInsets of variable that.tickLabelInsets does not match with type java.text.NumberFormat of variable that.tickLabelFormat
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.tickLabelInsets cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.tickLabelFormat cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.ui.RectangleInsets of variable that.tickLabelInsets does not match with type java.text.NumberFormat of variable that.tickLabelFormat
    • Make classes org.jfree.ui.RectangleInsets and java.text.NumberFormat extend a common superclass
    36
    if (!ObjectUtilities.equal(this.tickLabelFormat, that.tickLabelFormat))
    31
    return false;
    37
    return false;
    32
    if (this.tickMarksVisible != that.tickMarksVisible)
    32
    if (this.tickMarksVisible != that.tickMarksVisible)
    40
    if (this.meterAngle != that.meterAngle)
    Differences
    Expression1Expression2Difference
    tickMarksVisiblemeterAngleVARIABLE_NAME_MISMATCH
    booleanintVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    tickMarksVisiblemeterAngleVARIABLE_NAME_MISMATCH
    booleanintVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type boolean of variable this.tickMarksVisible does not match with type int of variable this.meterAngle
    Type boolean of variable that.tickMarksVisible does not match with type int of variable that.meterAngle
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.tickMarksVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.meterAngle cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type boolean of variable that.tickMarksVisible does not match with type int of variable that.meterAngle
    40
    if (this.meterAngle != that.meterAngle)
    33
    return false;
    41
    return false;
    34
    if (this.tickMarkInsideLength != that.tickMarkInsideLength)
                                                                                                                                
    35
    return false;
    35
    return false;
    Preondition Violations
    Unmatched return false;
                                      
    36
    if (this.tickMarkOutsideLength != that.tickMarkOutsideLength)
                                                                                                                                    
    37
    return false;
    37
    return false;
    Preondition Violations
    Unmatched return false;
                                      
    38
    if (!PaintUtilities.equal(this.tickMarkPaint, that.tickMarkPaint))
    38
    if (!PaintUtilities.equal(this.tickMarkPaint, that.tickMarkPaint))
    26
    if (!PaintUtilities.equal(this.tickPaint, that.tickPaint))
    Differences
    Expression1Expression2Difference
    tickMarkPainttickPaintVARIABLE_NAME_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    tickMarkPainttickPaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type java.awt.Paint of variable that.tickMarkPaint does not match with type java.awt.Paint of variable that.tickPaint
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.tickMarkPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.tickPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26
    if (!PaintUtilities.equal(this.tickPaint, that.tickPaint))
    39
    return false;
    27
    return false;
    40
    if (!ObjectUtilities.equal(this.tickMarkStroke, that.tickMarkStroke))
    40
    if (!ObjectUtilities.equal(this.tickMarkStroke, that.tickMarkStroke))
    24
    if (!PaintUtilities.equal(this.valuePaint, that.valuePaint))
    Differences
    Expression1Expression2Difference
    tickMarkStrokevaluePaintVARIABLE_NAME_MISMATCH
    java.awt.Strokejava.awt.PaintVARIABLE_TYPE_MISMATCH
    org.jfree.chart.axis.Axisorg.jfree.chart.plot.MeterPlotVARIABLE_TYPE_MISMATCH
    tickMarkStrokevaluePaintVARIABLE_NAME_MISMATCH
    java.awt.Strokejava.awt.PaintVARIABLE_TYPE_MISMATCH
    org.jfree.util.ObjectUtilitiesorg.jfree.util.PaintUtilitiesVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type java.awt.Stroke of variable this.tickMarkStroke does not match with type java.awt.Paint of variable this.valuePaint
    • Make classes java.awt.Stroke and java.awt.Paint extend a common superclass
    Type java.awt.Stroke of variable that.tickMarkStroke does not match with type java.awt.Paint of variable that.valuePaint
    • Make classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot extend a common superclass
    Expression that.tickMarkStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.valuePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type java.awt.Stroke of variable that.tickMarkStroke does not match with type java.awt.Paint of variable that.valuePaint
    • Make classes java.awt.Stroke and java.awt.Paint extend a common superclass
    Type org.jfree.util.ObjectUtilities does not match with type org.jfree.util.PaintUtilities
    • Make classes org.jfree.util.ObjectUtilities and org.jfree.util.PaintUtilities extend a common superclass
    24
    if (!PaintUtilities.equal(this.valuePaint, that.valuePaint))
    41
    return false;
    25
    return false;
    Precondition Violations (64)
    Row Violation
    1Type org.jfree.chart.axis.Axis does not match with type org.jfree.chart.plot.MeterPlot
    2Unmatched return false;
    3Type boolean of variable that.visible does not match with type boolean of variable that.tickLabelsVisible
    4Expression that.visible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression that.tickLabelsVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Type java.lang.String of variable that.label does not match with type java.lang.String of variable that.units
    7Expression that.label cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Expression that.units cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9Type java.awt.Font of variable that.labelFont does not match with type java.awt.Font of variable that.valueFont
    10Expression that.labelFont cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression that.valueFont cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Type java.awt.Paint of variable that.labelPaint does not match with type java.awt.Paint of variable that.dialOutlinePaint
    13Expression that.labelPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression that.dialOutlinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Type org.jfree.ui.RectangleInsets of variable this.labelInsets does not match with type java.util.List of variable this.intervals
    16Type org.jfree.ui.RectangleInsets of variable that.labelInsets does not match with type java.util.List of variable that.intervals
    17Expression that.labelInsets cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18Expression that.intervals cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19Type org.jfree.ui.RectangleInsets of variable that.labelInsets does not match with type java.util.List of variable that.intervals
    20Unmatched return false;
    21Type double of variable that.labelAngle does not match with type double of variable that.tickSize
    22Expression that.labelAngle cannot be parameterized, because it has dependencies to/from statements that will be extracted
    23Expression that.tickSize cannot be parameterized, because it has dependencies to/from statements that will be extracted
    24Type boolean of variable that.axisLineVisible does not match with type boolean of variable that.drawBorder
    25Expression that.axisLineVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26Expression that.drawBorder cannot be parameterized, because it has dependencies to/from statements that will be extracted
    27Type java.awt.Stroke of variable this.axisLineStroke does not match with type org.jfree.data.Range of variable this.range
    28Type java.awt.Stroke of variable that.axisLineStroke does not match with type org.jfree.data.Range of variable that.range
    29Expression that.axisLineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    30Expression that.range cannot be parameterized, because it has dependencies to/from statements that will be extracted
    31Type java.awt.Stroke of variable that.axisLineStroke does not match with type org.jfree.data.Range of variable that.range
    32Type java.awt.Paint of variable that.axisLinePaint does not match with type java.awt.Paint of variable that.needlePaint
    33Expression that.axisLinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    34Expression that.needlePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    35Type boolean of variable this.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable this.shape
    36Type boolean of variable that.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable that.shape
    37Expression that.tickLabelsVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    38Expression that.shape cannot be parameterized, because it has dependencies to/from statements that will be extracted
    39Type boolean of variable that.tickLabelsVisible does not match with type org.jfree.chart.plot.DialShape of variable that.shape
    40Type java.awt.Font of variable that.tickLabelFont does not match with type java.awt.Font of variable that.tickLabelFont
    41Type java.awt.Paint of variable that.tickLabelPaint does not match with type java.awt.Paint of variable that.tickLabelPaint
    42Type org.jfree.ui.RectangleInsets of variable this.tickLabelInsets does not match with type java.text.NumberFormat of variable this.tickLabelFormat
    43Type org.jfree.ui.RectangleInsets of variable that.tickLabelInsets does not match with type java.text.NumberFormat of variable that.tickLabelFormat
    44Expression that.tickLabelInsets cannot be parameterized, because it has dependencies to/from statements that will be extracted
    45Expression that.tickLabelFormat cannot be parameterized, because it has dependencies to/from statements that will be extracted
    46Type org.jfree.ui.RectangleInsets of variable that.tickLabelInsets does not match with type java.text.NumberFormat of variable that.tickLabelFormat
    47Type boolean of variable this.tickMarksVisible does not match with type int of variable this.meterAngle
    48Type boolean of variable that.tickMarksVisible does not match with type int of variable that.meterAngle
    49Expression that.tickMarksVisible cannot be parameterized, because it has dependencies to/from statements that will be extracted
    50Expression that.meterAngle cannot be parameterized, because it has dependencies to/from statements that will be extracted
    51Type boolean of variable that.tickMarksVisible does not match with type int of variable that.meterAngle
    52Unmatched return false;
    53Unmatched return false;
    54Type java.awt.Paint of variable that.tickMarkPaint does not match with type java.awt.Paint of variable that.tickPaint
    55Expression that.tickMarkPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    56Expression that.tickPaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    57Type java.awt.Stroke of variable this.tickMarkStroke does not match with type java.awt.Paint of variable this.valuePaint
    58Type java.awt.Stroke of variable that.tickMarkStroke does not match with type java.awt.Paint of variable that.valuePaint
    59Expression that.tickMarkStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    60Expression that.valuePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    61Type java.awt.Stroke of variable that.tickMarkStroke does not match with type java.awt.Paint of variable that.valuePaint
    62Type org.jfree.util.ObjectUtilities does not match with type org.jfree.util.PaintUtilities
    63Not all possible execution flows end in a return statement
    64The refactoring of the clones is infeasible, because classes org.jfree.chart.axis.Axis and org.jfree.chart.plot.MeterPlot do not have a common superclass