if (obj == this) { return true; } if (!(obj instanceof AbstractXYItemRenderer)) { return false; } AbstractXYItemRenderer that = (AbstractXYItemRenderer) obj; if (!ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator)) { return false; } if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList)) { return false; } if (!ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator)) { return false; } if (!ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator)) { return false; } if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList)) { return false; } if (!ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator)) { return false; } if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator)) { return false; } if (!this.foregroundAnnotations.equals(that.foregroundAnnotations)) { return false; } if (!this.backgroundAnnotations.equals(that.backgroundAnnotations)) { return false; } if (this.defaultEntityRadius != that.defaultEntityRadius) { return false; } if (!ObjectUtilities.equal(this.legendItemLabelGenerator, that.legendItemLabelGenerator)) { return false; } if (!ObjectUtilities.equal(this.legendItemToolTipGenerator, that.legendItemToolTipGenerator)) { return false; } if (!ObjectUtilities.equal(this.legendItemURLGenerator, that.legendItemURLGenerator)) { return false; } return super.equals(obj);
if (!(obj instanceof LegendGraphic)) { return false; } LegendGraphic that = (LegendGraphic) obj; if (this.shapeVisible != that.shapeVisible) { return false; } if (!ShapeUtilities.equal(this.shape, that.shape)) { return false; } if (this.shapeFilled != that.shapeFilled) { return false; } if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) { return false; } if (!ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer)) { return false; } if (this.shapeOutlineVisible != that.shapeOutlineVisible) { return false; } if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) { return false; } if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke)) { return false; } if (this.shapeAnchor != that.shapeAnchor) { return false; } if (this.shapeLocation != that.shapeLocation) { return false; } if (this.lineVisible != that.lineVisible) { return false; } if (!ShapeUtilities.equal(this.line, that.line)) { return false; } if (!PaintUtilities.equal(this.linePaint, that.linePaint)) { return false; } if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke)) { return false; } return super.equals(obj);
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java File path: /jfreechart-1.0.10/src/org/jfree/chart/title/LegendGraphic.java
Method name: boolean equals(Object) Method name: boolean equals(Object)
Number of AST nodes: 32 Number of AST nodes: 32
1
if (obj == this) {
1
if (!(obj instanceof LegendGraphic)) {
2
            return true;
2
            return false;
3
        }
3
        }
4
        if (!(obj instanceof AbstractXYItemRenderer)) {
4
        
5
            return false;
6
        }
7
        AbstractXYItemRenderer that = (AbstractXYItemRenderer) obj;
8
        if (!ObjectUtilities.equal(this.itemLabelGenerator,
9
                that.itemLabelGenerator
5
LegendGraphic that = (LegendGraphic) obj;
6
        if (this.shapeVisible != that.shapeVisible) {
7
            return false;
8
        }
10
)) {
9
        if (!ShapeUtilities.equal(this.shape, that.shape)) {
11
            return false;
10
            return false;
12
        }
11
        }
13
        if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList)) {
12
        if (this.shapeFilled != that.shapeFilled) {
14
            return false;
13
            return false;
15
        }
14
        }
16
        if (!ObjectUtilities.equal(this.baseItemLabelGenerator,
15
        if (!PaintUtilities.equal(this.
17
                that.baseItemLabelGenerator)) {
16
fillPaint, that.fillPaint)) {
18
            return false;
17
            return false;
19
        }
18
        }
20
        if (!ObjectUtilities.equal(this.toolTipGenerator,
19
        if (!ObjectUtilities.equal(this.fillPaintTransformer, 
21
                that.toolTipGenerator)) {
20
                that.fillPaintTransformer)) {
22
            return false;
21
            return false;
23
        }
22
        }
24
        if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList)) {
23
        if (this.shapeOutlineVisible != that.shapeOutlineVisible) {
25
            return false;
24
            return false;
26
        }
25
        }
27
        if (!ObjectUtilities.equal(this.baseToolTipGenerator,
26
        if (!PaintUtilities.equal(this.
28
                that.baseToolTipGenerator)) {
27
outlinePaint, that.outlinePaint)) {
29
            return false;
28
            return false;
30
        }
29
        }
31
        if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator)) {
30
        if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke)) {
32
            return false;
31
            return false;
33
        }
32
        }
34
        if (!this.foregroundAnnotations.equals(that.foregroundAnnotations)) {
33
        if (this.shapeAnchor != that.shapeAnchor) {
35
            return false;
34
            return false;
36
        }
35
        }
37
        if (!this.backgroundAnnotations.equals(that.backgroundAnnotations)) {
36
        if (this.shapeLocation != that.shapeLocation) {
38
            return false;
37
            return false;
39
        }
38
        }
40
        if (this.defaultEntityRadius != that.defaultEntityRadius) {
39
        if (this.lineVisible != that.lineVisible) {
41
            return false;
40
            return false;
42
        }
41
        }
43
        if (!ObjectUtilities.equal(this.legendItemLabelGenerator,
42
        if (!ShapeUtilities.equal(this.l
44
                that.legendItemLabelGenerator)) {
43
ine, that.line)) {
45
            return false;
44
            return false;
46
        }
45
        }
47
        if (!ObjectUtilities.equal(this.legendItemToolTipGenerator,
46
        if (!PaintUtilities.equal(this.l
48
                that.legendItemToolTipGenerator)) {
47
inePaint, that.linePaint)) {
49
            return false;
48
            return false;
50
        }
49
        }
51
        if (!ObjectUtilities.equal(this.legendItemURLGenerator,
50
        if (!ObjectUtilities.equal(this.l
52
                that.legendItemURLGenerator)) {
51
ineStroke, that.lineStroke)) {
53
            return false;
52
            return false;
54
        }
53
        }
55
        return super.equals(obj);
54
        return super.equals(obj);
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)26.5
Clones locationClones are in different classes
Number of node comparisons379
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements20
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment11
    Time elapsed for statement mapping (ms)17.3
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    3
    if (!(obj instanceof AbstractXYItemRenderer))
    3
    if (!(obj instanceof AbstractXYItemRenderer))
    1
    if (!(obj instanceof LegendGraphic))
    Differences
    Expression1Expression2Difference
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.renderer.xy.AbstractXYItemRenderer does not match with type org.jfree.chart.title.LegendGraphic
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    1
    if (!(obj instanceof LegendGraphic))
    4
    return false;
    2
    return false;
                                                                                      
    3
    LegendGraphic that = (LegendGraphic)obj;
                                                                                              
    4
    if (this.shapeVisible != that.shapeVisible)
                                    
    5
    return false;
    Preondition Violations
    Unmatched return false;
    5
    return false;
    5
    AbstractXYItemRenderer that = (AbstractXYItemRenderer)obj;
                                                                                                                          
                                                                                          
    8
    if (this.shapeFilled != that.shapeFilled)
                                    
    9
    return false;
    Preondition Violations
    Unmatched return false;
    9
    return false;
    6
    if (!ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator))
    6
    if (!ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator))
    12
    if (!ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer))
    Differences
    Expression1Expression2Difference
    itemLabelGeneratorfillPaintTransformerVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYItemLabelGeneratororg.jfree.ui.GradientPaintTransformerVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    itemLabelGeneratorfillPaintTransformerVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYItemLabelGeneratororg.jfree.ui.GradientPaintTransformerVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable this.fillPaintTransformer
    • Make classes org.jfree.chart.labels.XYItemLabelGenerator and org.jfree.ui.GradientPaintTransformer extend a common superclass
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable that.fillPaintTransformer
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.itemLabelGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.fillPaintTransformer cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable that.fillPaintTransformer
    • Make classes org.jfree.chart.labels.XYItemLabelGenerator and org.jfree.ui.GradientPaintTransformer extend a common superclass
    12
    if (!ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer))
    7
    return false;
    13
    return false;
    8
    if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList))
    8
    if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList))
    6
    if (!ShapeUtilities.equal(this.shape, that.shape))
    Differences
    Expression1Expression2Difference
    this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList)ShapeUtilities.equal(this.shape,that.shape)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression ShapeUtilities.equal(this.shape,that.shape) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6
    if (!ShapeUtilities.equal(this.shape, that.shape))
    9
    return false;
    7
    return false;
                                                                                                                            
    14
    if (this.shapeOutlineVisible != that.shapeOutlineVisible)
                                      
    15
    return false;
    Preondition Violations
    Unmatched return false;
    15
    return false;
    10
    if (!ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator))
    10
    if (!ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator))
    18
    if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke))
    Differences
    Expression1Expression2Difference
    baseItemLabelGeneratoroutlineStrokeVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYItemLabelGeneratorjava.awt.StrokeVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    baseItemLabelGeneratoroutlineStrokeVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYItemLabelGeneratorjava.awt.StrokeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.baseItemLabelGenerator does not match with type java.awt.Stroke of variable this.outlineStroke
    • Make classes org.jfree.chart.labels.XYItemLabelGenerator and java.awt.Stroke extend a common superclass
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.baseItemLabelGenerator does not match with type java.awt.Stroke of variable that.outlineStroke
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.baseItemLabelGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.outlineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.baseItemLabelGenerator does not match with type java.awt.Stroke of variable that.outlineStroke
    • Make classes org.jfree.chart.labels.XYItemLabelGenerator and java.awt.Stroke extend a common superclass
    18
    if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke))
    11
    return false;
    19
    return false;
    12
    if (!ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator))
    12
    if (!ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator))
    30
    if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke))
    Differences
    Expression1Expression2Difference
    toolTipGeneratorlineStrokeVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYToolTipGeneratorjava.awt.StrokeVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    toolTipGeneratorlineStrokeVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYToolTipGeneratorjava.awt.StrokeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.labels.XYToolTipGenerator of variable this.toolTipGenerator does not match with type java.awt.Stroke of variable this.lineStroke
    • Make classes org.jfree.chart.labels.XYToolTipGenerator and java.awt.Stroke extend a common superclass
    Type org.jfree.chart.labels.XYToolTipGenerator of variable that.toolTipGenerator does not match with type java.awt.Stroke of variable that.lineStroke
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.toolTipGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.lineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.chart.labels.XYToolTipGenerator of variable that.toolTipGenerator does not match with type java.awt.Stroke of variable that.lineStroke
    • Make classes org.jfree.chart.labels.XYToolTipGenerator and java.awt.Stroke extend a common superclass
    30
    if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke))
    13
    return false;
    31
    return false;
    14
    if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList))
    14
    if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList))
    10
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint))
    Differences
    Expression1Expression2Difference
    this.toolTipGeneratorList.equals(that.toolTipGeneratorList)PaintUtilities.equal(this.fillPaint,that.fillPaint)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression this.toolTipGeneratorList.equals(that.toolTipGeneratorList) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression PaintUtilities.equal(this.fillPaint,that.fillPaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint))
    15
    return false;
    11
    return false;
    16
    if (!ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator))
    16
    if (!ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator))
    16
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint))
    Differences
    Expression1Expression2Difference
    baseToolTipGeneratoroutlinePaintVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYToolTipGeneratorjava.awt.PaintVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    baseToolTipGeneratoroutlinePaintVARIABLE_NAME_MISMATCH
    org.jfree.chart.labels.XYToolTipGeneratorjava.awt.PaintVARIABLE_TYPE_MISMATCH
    org.jfree.util.ObjectUtilitiesorg.jfree.util.PaintUtilitiesVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.labels.XYToolTipGenerator of variable this.baseToolTipGenerator does not match with type java.awt.Paint of variable this.outlinePaint
    • Make classes org.jfree.chart.labels.XYToolTipGenerator and java.awt.Paint extend a common superclass
    Type org.jfree.chart.labels.XYToolTipGenerator of variable that.baseToolTipGenerator does not match with type java.awt.Paint of variable that.outlinePaint
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.baseToolTipGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.outlinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.chart.labels.XYToolTipGenerator of variable that.baseToolTipGenerator does not match with type java.awt.Paint of variable that.outlinePaint
    • Make classes org.jfree.chart.labels.XYToolTipGenerator 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
    16
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint))
    17
    return false;
    17
    return false;
                                                                                            
    20
    if (this.shapeAnchor != that.shapeAnchor)
                                      
    21
    return false;
    Preondition Violations
    Unmatched return false;
    21
    return false;
                                                                                            
    24
    if (this.lineVisible != that.lineVisible)
                                      
    25
    return false;
    Preondition Violations
    Unmatched return false;
    25
    return false;
    18
    if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator))
    18
    if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator))
    26
    if (!ShapeUtilities.equal(this.line, that.line))
    Differences
    Expression1Expression2Difference
    urlGeneratorlineVARIABLE_NAME_MISMATCH
    org.jfree.chart.urls.XYURLGeneratorjava.awt.ShapeVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    urlGeneratorlineVARIABLE_NAME_MISMATCH
    org.jfree.chart.urls.XYURLGeneratorjava.awt.ShapeVARIABLE_TYPE_MISMATCH
    org.jfree.util.ObjectUtilitiesorg.jfree.util.ShapeUtilitiesVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.chart.urls.XYURLGenerator of variable this.urlGenerator does not match with type java.awt.Shape of variable this.line
    • Make classes org.jfree.chart.urls.XYURLGenerator and java.awt.Shape extend a common superclass
    Type org.jfree.chart.urls.XYURLGenerator of variable that.urlGenerator does not match with type java.awt.Shape of variable that.line
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.urlGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.line cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type org.jfree.chart.urls.XYURLGenerator of variable that.urlGenerator does not match with type java.awt.Shape of variable that.line
    • Make classes org.jfree.chart.urls.XYURLGenerator and java.awt.Shape extend a common superclass
    Type org.jfree.util.ObjectUtilities does not match with type org.jfree.util.ShapeUtilities
    • Make classes org.jfree.util.ObjectUtilities and org.jfree.util.ShapeUtilities extend a common superclass
    26
    if (!ShapeUtilities.equal(this.line, that.line))
    19
    return false;
    27
    return false;
    20
    if (!this.foregroundAnnotations.equals(that.foregroundAnnotations))
    20
    if (!this.foregroundAnnotations.equals(that.foregroundAnnotations))
    28
    if (!PaintUtilities.equal(this.linePaint, that.linePaint))
    Differences
    Expression1Expression2Difference
    this.foregroundAnnotations.equals(that.foregroundAnnotations)PaintUtilities.equal(this.linePaint,that.linePaint)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression this.foregroundAnnotations.equals(that.foregroundAnnotations) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression PaintUtilities.equal(this.linePaint,that.linePaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28
    if (!PaintUtilities.equal(this.linePaint, that.linePaint))
    21
    return false;
    29
    return false;
    22
    if (!this.backgroundAnnotations.equals(that.backgroundAnnotations))
                                                                                                                                                
    23
    return false;
    23
    return false;
    Preondition Violations
    Unmatched return false;
                                      
    24
    if (this.defaultEntityRadius != that.defaultEntityRadius)
    24
    if (this.defaultEntityRadius != that.defaultEntityRadius)
    22
    if (this.shapeLocation != that.shapeLocation)
    Differences
    Expression1Expression2Difference
    defaultEntityRadiusshapeLocationVARIABLE_NAME_MISMATCH
    intorg.jfree.ui.RectangleAnchorVARIABLE_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.AbstractXYItemRendererorg.jfree.chart.title.LegendGraphicVARIABLE_TYPE_MISMATCH
    defaultEntityRadiusshapeLocationVARIABLE_NAME_MISMATCH
    intorg.jfree.ui.RectangleAnchorVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type int of variable this.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable this.shapeLocation
    Type int of variable that.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable that.shapeLocation
    • Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass
    Expression that.defaultEntityRadius cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression that.shapeLocation cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Type int of variable that.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable that.shapeLocation
    22
    if (this.shapeLocation != that.shapeLocation)
    25
    return false;
    23
    return false;
    Precondition Violations (46)
    Row Violation
    1Type org.jfree.chart.renderer.xy.AbstractXYItemRenderer does not match with type org.jfree.chart.title.LegendGraphic
    2Unmatched return false;
    3Unmatched return false;
    4Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable this.fillPaintTransformer
    5Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable that.fillPaintTransformer
    6Expression that.itemLabelGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression that.fillPaintTransformer cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.itemLabelGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable that.fillPaintTransformer
    9Expression this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression ShapeUtilities.equal(this.shape,that.shape) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Unmatched return false;
    12Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.baseItemLabelGenerator does not match with type java.awt.Stroke of variable this.outlineStroke
    13Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.baseItemLabelGenerator does not match with type java.awt.Stroke of variable that.outlineStroke
    14Expression that.baseItemLabelGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Expression that.outlineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16Type org.jfree.chart.labels.XYItemLabelGenerator of variable that.baseItemLabelGenerator does not match with type java.awt.Stroke of variable that.outlineStroke
    17Type org.jfree.chart.labels.XYToolTipGenerator of variable this.toolTipGenerator does not match with type java.awt.Stroke of variable this.lineStroke
    18Type org.jfree.chart.labels.XYToolTipGenerator of variable that.toolTipGenerator does not match with type java.awt.Stroke of variable that.lineStroke
    19Expression that.toolTipGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20Expression that.lineStroke cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21Type org.jfree.chart.labels.XYToolTipGenerator of variable that.toolTipGenerator does not match with type java.awt.Stroke of variable that.lineStroke
    22Expression this.toolTipGeneratorList.equals(that.toolTipGeneratorList) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    23Expression PaintUtilities.equal(this.fillPaint,that.fillPaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    24Type org.jfree.chart.labels.XYToolTipGenerator of variable this.baseToolTipGenerator does not match with type java.awt.Paint of variable this.outlinePaint
    25Type org.jfree.chart.labels.XYToolTipGenerator of variable that.baseToolTipGenerator does not match with type java.awt.Paint of variable that.outlinePaint
    26Expression that.baseToolTipGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    27Expression that.outlinePaint cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28Type org.jfree.chart.labels.XYToolTipGenerator of variable that.baseToolTipGenerator does not match with type java.awt.Paint of variable that.outlinePaint
    29Type org.jfree.util.ObjectUtilities does not match with type org.jfree.util.PaintUtilities
    30Unmatched return false;
    31Unmatched return false;
    32Type org.jfree.chart.urls.XYURLGenerator of variable this.urlGenerator does not match with type java.awt.Shape of variable this.line
    33Type org.jfree.chart.urls.XYURLGenerator of variable that.urlGenerator does not match with type java.awt.Shape of variable that.line
    34Expression that.urlGenerator cannot be parameterized, because it has dependencies to/from statements that will be extracted
    35Expression that.line cannot be parameterized, because it has dependencies to/from statements that will be extracted
    36Type org.jfree.chart.urls.XYURLGenerator of variable that.urlGenerator does not match with type java.awt.Shape of variable that.line
    37Type org.jfree.util.ObjectUtilities does not match with type org.jfree.util.ShapeUtilities
    38Expression this.foregroundAnnotations.equals(that.foregroundAnnotations) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    39Expression PaintUtilities.equal(this.linePaint,that.linePaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    40Unmatched return false;
    41Type int of variable this.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable this.shapeLocation
    42Type int of variable that.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable that.shapeLocation
    43Expression that.defaultEntityRadius cannot be parameterized, because it has dependencies to/from statements that will be extracted
    44Expression that.shapeLocation cannot be parameterized, because it has dependencies to/from statements that will be extracted
    45Type int of variable that.defaultEntityRadius does not match with type org.jfree.ui.RectangleAnchor of variable that.shapeLocation
    46Not all possible execution flows end in a return statement