stream.defaultReadObject(); this.sectionPaint = SerialUtilities.readPaint(stream); this.baseSectionPaint = SerialUtilities.readPaint(stream); this.sectionOutlinePaint = SerialUtilities.readPaint(stream); this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream); this.sectionOutlineStroke = SerialUtilities.readStroke(stream); this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream); this.shadowPaint = SerialUtilities.readPaint(stream); this.labelPaint = SerialUtilities.readPaint(stream); this.labelBackgroundPaint = SerialUtilities.readPaint(stream); this.labelOutlinePaint = SerialUtilities.readPaint(stream); this.labelOutlineStroke = SerialUtilities.readStroke(stream); this.labelShadowPaint = SerialUtilities.readPaint(stream); this.labelLinkPaint = SerialUtilities.readPaint(stream); this.labelLinkStroke = SerialUtilities.readStroke(stream); this.legendItemShape = SerialUtilities.readShape(stream);
stream.defaultReadObject(); this.paint = SerialUtilities.readPaint(stream); this.basePaint = SerialUtilities.readPaint(stream); this.fillPaint = SerialUtilities.readPaint(stream); this.baseFillPaint = SerialUtilities.readPaint(stream); this.outlinePaint = SerialUtilities.readPaint(stream); this.baseOutlinePaint = SerialUtilities.readPaint(stream); this.stroke = SerialUtilities.readStroke(stream); this.baseStroke = SerialUtilities.readStroke(stream); this.outlineStroke = SerialUtilities.readStroke(stream); this.baseOutlineStroke = SerialUtilities.readStroke(stream); this.shape = SerialUtilities.readShape(stream); this.baseShape = SerialUtilities.readShape(stream); this.itemLabelPaint = SerialUtilities.readPaint(stream); this.baseItemLabelPaint = SerialUtilities.readPaint(stream); // listeners are not restored automatically, but storage must be // provided... this.listenerList = new EventListenerList();
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/renderer/AbstractRenderer.java
Method name: void readObject(ObjectInputStream) Method name: void readObject(ObjectInputStream)
Number of AST nodes: 16 Number of AST nodes: 16
1
stream.defaultReadObject();
1
stream.defaultReadObject();
2
        this.sectionPaint = SerialUtilities.readPaint(stream);
2
        this.paint = SerialUtilities.readPaint(stream);
3
        this.baseSectionPaint = SerialUtilities.readPaint(stream);
3
        this.basePaint = SerialUtilities.readPaint(stream);
4
        this.sectionOutlinePaint = SerialUtilities.readPaint(stream);
4
        this.fillPaint = SerialUtilities.readPaint(stream);
5
        this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);
5
        this.baseFillPaint = SerialUtilities.readPaint(stream);
6
        this.sectionOutlineStroke = SerialUtilities.readStroke(stream);
6
        this.outlinePaint = SerialUtilities.readPaint(stream);
7
        this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);
7
        this.baseOutlinePaint = SerialUtilities.readPaint(stream);
8
        this.shadowPaint = SerialUtilities.readPaint(stream);
8
        this.stroke = SerialUtilities.readStroke(stream);
9
        this.labelPaint = SerialUtilities.readPaint(stream);
9
        this.baseStroke = SerialUtilities.readStroke(stream);
10
        this.labelBackgroundPaint = SerialUtilities.readPaint(stream);
10
        this.outlineStroke = SerialUtilities.readStroke(stream);
11
        this.labelOutlinePaint = SerialUtilities.readPaint(stream);
11
        this.baseOutlineStroke = SerialUtilities.readStroke(stream);
12
        this.labelOutlineStroke = SerialUtilities.readStroke(stream);
12
        this.shape = SerialUtilities.readShape(stream);
13
        this.labelShadowPaint = SerialUtilities.readPaint(stream);
13
        this.baseShape = SerialUtilities.readShape(stream);
14
        this.labelLinkPaint = SerialUtilities.readPaint(stream);
14
        this.itemLabelPaint = SerialUtilities.readPaint(stream);
15
        this.labelLinkStroke = SerialUtilities.readStroke(stream);
15
        this.baseItemLabelPaint = SerialUtilities.readPaint(stream);
16
        this.legendItemShape = SerialUtilities.readShape(stream
16
        // listeners are not restored automatically, but storage must be
17
        // provided...
17
);
18
        this.listenerList = new EventListenerList();
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)0.0
Clones locationClones are in different classes
Number of node comparisons135
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements13
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment3
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    stream.defaultReadObject();
    1
    stream.defaultReadObject();
    2
    this.sectionPaint = SerialUtilities.readPaint(stream);
    2
    this.sectionPaint = SerialUtilities.readPaint(stream);
    2
    this.paint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    sectionPaintpaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.sectionPaint is a field being modified, and thus it cannot be parameterized
    Expression this.paint is a field being modified, and thus it cannot be parameterized
    2
    this.paint = SerialUtilities.readPaint(stream);
    3
    this.baseSectionPaint = SerialUtilities.readPaint(stream);
    3
    this.baseSectionPaint = SerialUtilities.readPaint(stream);
    3
    this.basePaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    baseSectionPaintbasePaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.baseSectionPaint is a field being modified, and thus it cannot be parameterized
    Expression this.basePaint is a field being modified, and thus it cannot be parameterized
    3
    this.basePaint = SerialUtilities.readPaint(stream);
    4
    this.sectionOutlinePaint = SerialUtilities.readPaint(stream);
    4
    this.sectionOutlinePaint = SerialUtilities.readPaint(stream);
    4
    this.fillPaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    sectionOutlinePaintfillPaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.sectionOutlinePaint is a field being modified, and thus it cannot be parameterized
    Expression this.fillPaint is a field being modified, and thus it cannot be parameterized
    4
    this.fillPaint = SerialUtilities.readPaint(stream);
    5
    this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);
    5
    this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);
    5
    this.baseFillPaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    baseSectionOutlinePaintbaseFillPaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.baseSectionOutlinePaint is a field being modified, and thus it cannot be parameterized
    Expression this.baseFillPaint is a field being modified, and thus it cannot be parameterized
    5
    this.baseFillPaint = SerialUtilities.readPaint(stream);
    6
    this.sectionOutlineStroke = SerialUtilities.readStroke(stream);
    6
    this.sectionOutlineStroke = SerialUtilities.readStroke(stream);
    8
    this.stroke = SerialUtilities.readStroke(stream);
    Differences
    Expression1Expression2Difference
    sectionOutlineStrokestrokeVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.sectionOutlineStroke is a field being modified, and thus it cannot be parameterized
    Expression this.stroke is a field being modified, and thus it cannot be parameterized
    8
    this.stroke = SerialUtilities.readStroke(stream);
    7
    this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);
    7
    this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);
    9
    this.baseStroke = SerialUtilities.readStroke(stream);
    Differences
    Expression1Expression2Difference
    baseSectionOutlineStrokebaseStrokeVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.baseSectionOutlineStroke is a field being modified, and thus it cannot be parameterized
    Expression this.baseStroke is a field being modified, and thus it cannot be parameterized
    9
    this.baseStroke = SerialUtilities.readStroke(stream);
    8
    this.shadowPaint = SerialUtilities.readPaint(stream);
    8
    this.shadowPaint = SerialUtilities.readPaint(stream);
    7
    this.baseOutlinePaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    shadowPaintbaseOutlinePaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.shadowPaint is a field being modified, and thus it cannot be parameterized
    Expression this.baseOutlinePaint is a field being modified, and thus it cannot be parameterized
    7
    this.baseOutlinePaint = SerialUtilities.readPaint(stream);
    9
    this.labelPaint = SerialUtilities.readPaint(stream);
    9
    this.labelPaint = SerialUtilities.readPaint(stream);
    6
    this.outlinePaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    labelPaintoutlinePaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.labelPaint is a field being modified, and thus it cannot be parameterized
    Expression this.outlinePaint is a field being modified, and thus it cannot be parameterized
    6
    this.outlinePaint = SerialUtilities.readPaint(stream);
                                                                                                                        
    10
    this.outlineStroke = SerialUtilities.readStroke(stream);
    Preondition Violations
    Unmatched statement this.outlineStroke=SerialUtilities.readStroke(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    10
    this.outlineStroke = SerialUtilities.readStroke(stream);
                                                                                                      
    12
    this.shape = SerialUtilities.readShape(stream);
    Preondition Violations
    Unmatched statement this.shape=SerialUtilities.readShape(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    12
    this.shape = SerialUtilities.readShape(stream);
    10
    this.labelBackgroundPaint = SerialUtilities.readPaint(stream);
    10
    this.labelBackgroundPaint = SerialUtilities.readPaint(stream);
    14
    this.itemLabelPaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    labelBackgroundPaintitemLabelPaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.labelBackgroundPaint is a field being modified, and thus it cannot be parameterized
    Expression this.itemLabelPaint is a field being modified, and thus it cannot be parameterized
    14
    this.itemLabelPaint = SerialUtilities.readPaint(stream);
    11
    this.labelOutlinePaint = SerialUtilities.readPaint(stream);
    11
    this.labelOutlinePaint = SerialUtilities.readPaint(stream);
    15
    this.baseItemLabelPaint = SerialUtilities.readPaint(stream);
    Differences
    Expression1Expression2Difference
    labelOutlinePaintbaseItemLabelPaintVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.labelOutlinePaint is a field being modified, and thus it cannot be parameterized
    Expression this.baseItemLabelPaint is a field being modified, and thus it cannot be parameterized
    15
    this.baseItemLabelPaint = SerialUtilities.readPaint(stream);
    12
    this.labelOutlineStroke = SerialUtilities.readStroke(stream);
    12
    this.labelOutlineStroke = SerialUtilities.readStroke(stream);
    11
    this.baseOutlineStroke = SerialUtilities.readStroke(stream);
    Differences
    Expression1Expression2Difference
    labelOutlineStrokebaseOutlineStrokeVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.labelOutlineStroke is a field being modified, and thus it cannot be parameterized
    Expression this.baseOutlineStroke is a field being modified, and thus it cannot be parameterized
    11
    this.baseOutlineStroke = SerialUtilities.readStroke(stream);
    13
    this.labelShadowPaint = SerialUtilities.readPaint(stream);
    13
    this.labelShadowPaint = SerialUtilities.readPaint(stream);
    Preondition Violations
    Unmatched statement this.labelShadowPaint=SerialUtilities.readPaint(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                                            
    14
    this.labelLinkPaint = SerialUtilities.readPaint(stream);
    14
    this.labelLinkPaint = SerialUtilities.readPaint(stream);
    Preondition Violations
    Unmatched statement this.labelLinkPaint=SerialUtilities.readPaint(stream); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                                                        
    15
    this.labelLinkStroke = SerialUtilities.readStroke(stream);
    15
    this.labelLinkStroke = SerialUtilities.readStroke(stream);
    Preondition Violations
    Unmatched statement this.labelLinkStroke=SerialUtilities.readStroke(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                                            
    16
    this.legendItemShape = SerialUtilities.readShape(stream);
    16
    this.legendItemShape = SerialUtilities.readShape(stream);
    13
    this.baseShape = SerialUtilities.readShape(stream);
    Differences
    Expression1Expression2Difference
    legendItemShapebaseShapeVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression this.legendItemShape is a field being modified, and thus it cannot be parameterized
    Expression this.baseShape is a field being modified, and thus it cannot be parameterized
    13
    this.baseShape = SerialUtilities.readShape(stream);
                                                                                                
    16
    this.listenerList = new EventListenerList();
    Preondition Violations
    Unmatched statement this.listenerList=new EventListenerList(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    16
    this.listenerList = new EventListenerList();
    Precondition Violations (30)
    Row Violation
    1Expression this.sectionPaint is a field being modified, and thus it cannot be parameterized
    2Expression this.paint is a field being modified, and thus it cannot be parameterized
    3Expression this.baseSectionPaint is a field being modified, and thus it cannot be parameterized
    4Expression this.basePaint is a field being modified, and thus it cannot be parameterized
    5Expression this.sectionOutlinePaint is a field being modified, and thus it cannot be parameterized
    6Expression this.fillPaint is a field being modified, and thus it cannot be parameterized
    7Expression this.baseSectionOutlinePaint is a field being modified, and thus it cannot be parameterized
    8Expression this.baseFillPaint is a field being modified, and thus it cannot be parameterized
    9Expression this.sectionOutlineStroke is a field being modified, and thus it cannot be parameterized
    10Expression this.stroke is a field being modified, and thus it cannot be parameterized
    11Expression this.baseSectionOutlineStroke is a field being modified, and thus it cannot be parameterized
    12Expression this.baseStroke is a field being modified, and thus it cannot be parameterized
    13Expression this.shadowPaint is a field being modified, and thus it cannot be parameterized
    14Expression this.baseOutlinePaint is a field being modified, and thus it cannot be parameterized
    15Expression this.labelPaint is a field being modified, and thus it cannot be parameterized
    16Expression this.outlinePaint is a field being modified, and thus it cannot be parameterized
    17Unmatched statement this.outlineStroke=SerialUtilities.readStroke(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    18Unmatched statement this.shape=SerialUtilities.readShape(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    19Expression this.labelBackgroundPaint is a field being modified, and thus it cannot be parameterized
    20Expression this.itemLabelPaint is a field being modified, and thus it cannot be parameterized
    21Expression this.labelOutlinePaint is a field being modified, and thus it cannot be parameterized
    22Expression this.baseItemLabelPaint is a field being modified, and thus it cannot be parameterized
    23Expression this.labelOutlineStroke is a field being modified, and thus it cannot be parameterized
    24Expression this.baseOutlineStroke is a field being modified, and thus it cannot be parameterized
    25Unmatched statement this.labelShadowPaint=SerialUtilities.readPaint(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    26Unmatched statement this.labelLinkPaint=SerialUtilities.readPaint(stream); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    27Unmatched statement this.labelLinkStroke=SerialUtilities.readStroke(stream); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    28Expression this.legendItemShape is a field being modified, and thus it cannot be parameterized
    29Expression this.baseShape is a field being modified, and thus it cannot be parameterized
    30Unmatched statement this.listenerList=new EventListenerList(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted