if (this.equals(RangeType.FULL)) { return RangeType.FULL; } else if (this.equals(RangeType.POSITIVE)) { return RangeType.POSITIVE; } else if (this.equals(RangeType.NEGATIVE)) { return RangeType.NEGATIVE; }
if (this.equals(HistogramType.FREQUENCY)) { return HistogramType.FREQUENCY; } else if (this.equals(HistogramType.RELATIVE_FREQUENCY)) { return HistogramType.RELATIVE_FREQUENCY; } else if (this.equals(HistogramType.SCALE_AREA_TO_1)) { return HistogramType.SCALE_AREA_TO_1; }
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/data/RangeType.java File path: /jfreechart-1.0.10/src/org/jfree/data/statistics/HistogramType.java
Method name: Object readResolve() Method name: Object readResolve()
Number of AST nodes: 6 Number of AST nodes: 6
1
if (this.equals(RangeType.FULL)) {
1
if (this.equals(HistogramType.FREQUENCY)) {
2
            return RangeType.FULL;
2
            return HistogramType.FREQUENCY;
3
        }
3
        }
4
        else if (this.equals(RangeType.POSITIVE)) {
4
        else if (this.equals(HistogramType.RELATIVE_FREQUENCY)) {
5
            return RangeType.POSITIVE;
5
            return HistogramType.RELATIVE_FREQUENCY;
6
        }
6
        }
7
        else if (this.equals(RangeType.NEGATIVE)) {
7
        else if (this.equals(HistogramType.SCALE_AREA_TO_1)) {
8
            return RangeType.NEGATIVE;
8
            return HistogramType.SCALE_AREA_TO_1;
9
        }
9
        }
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.8
Clones locationClones are in different classes
Number of node comparisons27
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements3
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment3
    Time elapsed for statement mapping (ms)1.5
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    if (this.equals(RangeType.FULL))
    1
    if (this.equals(RangeType.FULL))
    1
    if (this.equals(HistogramType.FREQUENCY))
    Differences
    Expression1Expression2Difference
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    FULLFREQUENCYVARIABLE_NAME_MISMATCH
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    Type org.jfree.data.RangeType of variable RangeType.FULL does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.FREQUENCY
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    1
    if (this.equals(HistogramType.FREQUENCY))
                                                                        
    2
    return HistogramType.FREQUENCY;
    Preondition Violations
    Unmatched return HistogramType.FREQUENCY;
    2
    return HistogramType.FREQUENCY;
    2
    return RangeType.FULL;
    2
    return RangeType.FULL;
    Preondition Violations
    Unmatched return RangeType.FULL;
                                                      
    3
    else if (this.equals(RangeType.POSITIVE))
    3
    else if (this.equals(RangeType.POSITIVE))
    3
    else if (this.equals(HistogramType.RELATIVE_FREQUENCY))
    Differences
    Expression1Expression2Difference
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    POSITIVERELATIVE_FREQUENCYVARIABLE_NAME_MISMATCH
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    Type org.jfree.data.RangeType of variable RangeType.POSITIVE does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.RELATIVE_FREQUENCY
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    3
    else if (this.equals(HistogramType.RELATIVE_FREQUENCY))
                                                                                          
    4
    return HistogramType.RELATIVE_FREQUENCY;
    Preondition Violations
    Unmatched return HistogramType.RELATIVE_FREQUENCY;
    4
    return HistogramType.RELATIVE_FREQUENCY;
    4
    return RangeType.POSITIVE;
    4
    return RangeType.POSITIVE;
    Preondition Violations
    Unmatched return RangeType.POSITIVE;
                                                              
    5
    else if (this.equals(RangeType.NEGATIVE))
    5
    else if (this.equals(RangeType.NEGATIVE))
    5
    else if (this.equals(HistogramType.SCALE_AREA_TO_1))
    Differences
    Expression1Expression2Difference
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    NEGATIVESCALE_AREA_TO_1VARIABLE_NAME_MISMATCH
    org.jfree.data.RangeTypeorg.jfree.data.statistics.HistogramTypeVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    Type org.jfree.data.RangeType of variable RangeType.NEGATIVE does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.SCALE_AREA_TO_1
    • Make classes org.jfree.data.RangeType and org.jfree.data.statistics.HistogramType extend a common superclass
    5
    else if (this.equals(HistogramType.SCALE_AREA_TO_1))
                                                                                    
    6
    return HistogramType.SCALE_AREA_TO_1;
    Preondition Violations
    Unmatched return HistogramType.SCALE_AREA_TO_1;
    6
    return HistogramType.SCALE_AREA_TO_1;
    6
    return RangeType.NEGATIVE;
    6
    return RangeType.NEGATIVE;
    Preondition Violations
    Unmatched return RangeType.NEGATIVE;
                                                              
    Precondition Violations (12)
    Row Violation
    1Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    2Type org.jfree.data.RangeType of variable RangeType.FULL does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.FREQUENCY
    3Unmatched return HistogramType.FREQUENCY;
    4Unmatched return RangeType.FULL;
    5Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    6Type org.jfree.data.RangeType of variable RangeType.POSITIVE does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.RELATIVE_FREQUENCY
    7Unmatched return HistogramType.RELATIVE_FREQUENCY;
    8Unmatched return RangeType.POSITIVE;
    9Type org.jfree.data.RangeType does not match with type org.jfree.data.statistics.HistogramType
    10Type org.jfree.data.RangeType of variable RangeType.NEGATIVE does not match with type org.jfree.data.statistics.HistogramType of variable HistogramType.SCALE_AREA_TO_1
    11Unmatched return HistogramType.SCALE_AREA_TO_1;
    12Unmatched return RangeType.NEGATIVE;