if (w == LengthConstraintType.NONE) { if (h == LengthConstraintType.NONE) { return arrangeNN(container, g2); } else if (h == LengthConstraintType.FIXED) { throw new RuntimeException("Not implemented."); } else if (h == LengthConstraintType.RANGE) { throw new RuntimeException("Not implemented."); } } else if (w == LengthConstraintType.FIXED) { if (h == LengthConstraintType.NONE) { return arrangeFN(container, g2, constraint); } else if (h == LengthConstraintType.FIXED) { throw new RuntimeException("Not implemented."); } else if (h == LengthConstraintType.RANGE) { throw new RuntimeException("Not implemented."); } } else if (w == LengthConstraintType.RANGE) { if (h == LengthConstraintType.NONE) { return arrangeRN(container, g2, constraint); } else if (h == LengthConstraintType.FIXED) { return arrangeRF(container, g2, constraint); } else if (h == LengthConstraintType.RANGE) { return arrangeRR(container, g2, constraint); } }
if (w == LengthConstraintType.NONE) { if (h == LengthConstraintType.NONE) { return arrangeNN(container, g2); } else if (h == LengthConstraintType.FIXED) { throw new RuntimeException("Not yet implemented."); } else if (h == LengthConstraintType.RANGE) { // find optimum height, then map to range throw new RuntimeException("Not yet implemented."); } } else if (w == LengthConstraintType.FIXED) { if (h == LengthConstraintType.NONE) { // find optimum height return arrangeFN(container, g2, constraint); } else if (h == LengthConstraintType.FIXED) { return arrangeFF(container, g2, constraint); } else if (h == LengthConstraintType.RANGE) { // find optimum height and map to range return arrangeFR(container, g2, constraint); } } else if (w == LengthConstraintType.RANGE) { // find optimum width and map to range if (h == LengthConstraintType.NONE) { // find optimum height throw new RuntimeException("Not yet implemented."); } else if (h == LengthConstraintType.FIXED) { // fixed width throw new RuntimeException("Not yet implemented."); } else if (h == LengthConstraintType.RANGE) { throw new RuntimeException("Not yet implemented."); } }
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/block/CenterArrangement.java File path: /jfreechart-1.0.10/src/org/jfree/chart/block/GridArrangement.java
Method name: Size2D arrange(BlockContainer, Graphics2D, RectangleConstraint) Method name: Size2D arrange(BlockContainer, Graphics2D, RectangleConstraint)
Number of AST nodes: 21 Number of AST nodes: 21
1
if (w == LengthConstraintType.NONE) {
1
if (w == LengthConstraintType.NONE) {
2
            if (h == LengthConstraintType.NONE) {
2
            if (h == LengthConstraintType.NONE) {
3
                return arrangeNN(container, g2);  
3
                return arrangeNN(container, g2);  
4
            }
4
            }
5
            else if (h == LengthConstraintType.FIXED) {
5
            else if (h == LengthConstraintType.FIXED) {
6
                
6
                throw new RuntimeException("Not implemented.");  
7
                throw new RuntimeException("Not yet implemented.");  
7
            }
8
            }
8
            else if (h == LengthConstraintType.RANGE) {
9
            else if (h == LengthConstraintType.RANGE) {
10
                // find optimum height, then map to range
9
                throw new RuntimeException("Not implemented.");  
11
                throw new RuntimeException("Not yet implemented.");  
10
            }
12
            }
11
        }
13
        }
12
        else if (w == LengthConstraintType.FIXED) {
14
        else if (w == LengthConstraintType.FIXED) {
13
            if (h == LengthConstraintType.NONE) {
15
            if (h == LengthConstraintType.NONE) {
16
                // find optimum height
14
                return arrangeFN(container, g2, constraint);  
17
                return arrangeFN(container, g2, constraint);  
15
            }
18
            }
16
            else if (h == LengthConstraintType.FIXED) {
19
            else if (h == LengthConstraintType.FIXED) {
17
                throw new RuntimeException("Not implemented.");  
20
                return arrangeFF(container, g2, constraint);
18
            }
21
            }
19
            else if (h == LengthConstraintType.RANGE) {
22
            else if (h == LengthConstraintType.RANGE) {
20
                throw new RuntimeException("Not implemented."
23
                // find optimum height and map to range
21
);  
24
                return arrangeFR(container, g2, constraint);  
22
            }
25
            }
23
        }
26
        }
24
        else if (w == LengthConstraintType.RANGE) {
27
        else if (w == LengthConstraintType.RANGE) {
28
            // find optimum width and map to range
25
            if (h == LengthConstraintType.NONE) {
29
            if (h == LengthConstraintType.NONE) {
26
                return arrangeRN(container, g2, constraint
30
                // find optimum height
27
);  
31
                throw new RuntimeException("Not yet implemented.");  
28
            }
32
            }
29
            else if (h == LengthConstraintType.FIXED) {
33
            else if (h == LengthConstraintType.FIXED) {
30
                return arrangeRF(container, g2, constraint
34
                // fixed width
31
);  
35
                throw new RuntimeException("Not yet implemented.");  
32
            }
36
            }
33
            else if (h == LengthConstraintType.RANGE) {
37
            else if (h == LengthConstraintType.RANGE) {
34
                return arrangeRR(container, g2, constraint);   
38
                throw new RuntimeException("Not yet implemented.");  
35
            }
39
            }
36
        }
40
        }
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)5.2
Clones locationClones are in different classes
Number of node comparisons171
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements16
    Number of unmapped statements in the first code fragment5
    Number of unmapped statements in the second code fragment5
    Time elapsed for statement mapping (ms)5.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    3
    if (w == LengthConstraintType.NONE)
    3
    if (w == LengthConstraintType.NONE)
    4
    if (h == LengthConstraintType.NONE)
    4
    if (h == LengthConstraintType.NONE)
    5
    return arrangeNN(container, g2);
    5
    return arrangeNN(container, g2);
    6
    else if (h == LengthConstraintType.FIXED)
    6
    else if (h == LengthConstraintType.FIXED)
    7
    throw new RuntimeException("Not implemented.");
    7
    throw new RuntimeException("Not implemented.");
    7
    throw new RuntimeException("Not yet implemented.");
    Differences
    Expression1Expression2Difference
    "Not implemented.""Not yet implemented."LITERAL_VALUE_MISMATCH
    7
    throw new RuntimeException("Not yet implemented.");
    8
    else if (h == LengthConstraintType.RANGE)
    8
    else if (h == LengthConstraintType.RANGE)
    9
    throw new RuntimeException("Not implemented.");
    9
    throw new RuntimeException("Not implemented.");
    9
    throw new RuntimeException("Not yet implemented.");
    Differences
    Expression1Expression2Difference
    "Not implemented.""Not yet implemented."LITERAL_VALUE_MISMATCH
    9
    throw new RuntimeException("Not yet implemented.");
    10
    else if (w == LengthConstraintType.FIXED)
    10
    else if (w == LengthConstraintType.FIXED)
    11
    if (h == LengthConstraintType.NONE)
    11
    if (h == LengthConstraintType.NONE)
    12
    return arrangeFN(container, g2, constraint);
    12
    return arrangeFN(container, g2, constraint);
    13
    else if (h == LengthConstraintType.FIXED)
    13
    else if (h == LengthConstraintType.FIXED)
                                                                                                
    14
    return arrangeFF(container, g2, constraint);
    Preondition Violations
    Unmatched return arrangeFF(container,g2,constraint);
    14
    return arrangeFF(container, g2, constraint);
    14
    throw new RuntimeException("Not implemented.");
    14
    throw new RuntimeException("Not implemented.");
    Preondition Violations
    Unmatched statement throw new RuntimeException("Not implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched throw new RuntimeException("Not implemented.");
                                                                                                          
    15
    else if (h == LengthConstraintType.RANGE)
    15
    else if (h == LengthConstraintType.RANGE)
                                                                                                
    16
    return arrangeFR(container, g2, constraint);
    Preondition Violations
    Unmatched statement return arrangeFR(container,g2,constraint); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched return arrangeFR(container,g2,constraint);
    16
    return arrangeFR(container, g2, constraint);
    16
    throw new RuntimeException("Not implemented.");
    16
    throw new RuntimeException("Not implemented.");
    Preondition Violations
    Unmatched statement throw new RuntimeException("Not implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched throw new RuntimeException("Not implemented.");
                                                                                                          
    17
    else if (w == LengthConstraintType.RANGE)
    17
    else if (w == LengthConstraintType.RANGE)
    18
    if (h == LengthConstraintType.NONE)
    18
    if (h == LengthConstraintType.NONE)
                                                                                                                  
    19
    throw new RuntimeException("Not yet implemented.");
    Preondition Violations
    Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched throw new RuntimeException("Not yet implemented.");
    19
    throw new RuntimeException("Not yet implemented.");
    19
    return arrangeRN(container, g2, constraint);
    19
    return arrangeRN(container, g2, constraint);
    Preondition Violations
    Unmatched return arrangeRN(container,g2,constraint);
                                                                                                
    20
    else if (h == LengthConstraintType.FIXED)
    20
    else if (h == LengthConstraintType.FIXED)
                                                                                                                  
    21
    throw new RuntimeException("Not yet implemented.");
    Preondition Violations
    Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched throw new RuntimeException("Not yet implemented.");
    21
    throw new RuntimeException("Not yet implemented.");
    21
    return arrangeRF(container, g2, constraint);
    21
    return arrangeRF(container, g2, constraint);
    Preondition Violations
    Unmatched return arrangeRF(container,g2,constraint);
                                                                                                
    22
    else if (h == LengthConstraintType.RANGE)
    22
    else if (h == LengthConstraintType.RANGE)
                                                                                                                  
    23
    throw new RuntimeException("Not yet implemented.");
    Preondition Violations
    Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    Unmatched throw new RuntimeException("Not yet implemented.");
    23
    throw new RuntimeException("Not yet implemented.");
    23
    return arrangeRR(container, g2, constraint);
    23
    return arrangeRR(container, g2, constraint);
    Preondition Violations
    Unmatched return arrangeRR(container,g2,constraint);
                                                                                                
    Precondition Violations (17)
    Row Violation
    1Unmatched return arrangeFF(container,g2,constraint);
    2Unmatched statement throw new RuntimeException("Not implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    3Unmatched throw new RuntimeException("Not implemented.");
    4Unmatched statement return arrangeFR(container,g2,constraint); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    5Unmatched return arrangeFR(container,g2,constraint);
    6Unmatched statement throw new RuntimeException("Not implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    7Unmatched throw new RuntimeException("Not implemented.");
    8Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    9Unmatched throw new RuntimeException("Not yet implemented.");
    10Unmatched return arrangeRN(container,g2,constraint);
    11Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    12Unmatched throw new RuntimeException("Not yet implemented.");
    13Unmatched return arrangeRF(container,g2,constraint);
    14Unmatched statement throw new RuntimeException("Not yet implemented."); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted
    15Unmatched throw new RuntimeException("Not yet implemented.");
    16Unmatched return arrangeRR(container,g2,constraint);
    17Not all possible execution flows end in a return statement