switch (featureID) { case XMLTypePackage.PROCESSING_INSTRUCTION__DATA: return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data); case XMLTypePackage.PROCESSING_INSTRUCTION__TARGET: return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target); } return eDynamicIsSet(featureID);
switch (featureID) { case MappingPackage.FUNCTION_NAME_PAIR__IN2OUT: return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out); case MappingPackage.FUNCTION_NAME_PAIR__OUT2IN: return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in); } return super.eIsSet(featureID);
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xml/type/impl/ProcessingInstructionImpl.java File path: /emf-2.4.1/src/org/eclipse/emf/mapping/impl/FunctionNamePairImpl.java
Method name: boolean eIsSet(int) Method name: boolean eIsSet(int)
Number of AST nodes: 6 Number of AST nodes: 6
1
switch (featureID)
1
switch (featureID)
2
    {
2
    {
3
      case XMLTypePackage.PROCESSING_INSTRUCTION__DATA:
3
      case MappingPackage.FUNCTION_NAME_PAIR__IN2OUT:
4
        return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
4
        return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
5
      case XMLTypePackage.PROCESSING_INSTRUCTION__TARGET:
5
      case MappingPackage.FUNCTION_NAME_PAIR__OUT2IN:
6
        return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
6
        return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
7
    }
7
    }
8
    return eDynamicIsSet(featureID);
8
    return super.eIsSet(featureID);
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.1
Clones locationClones are in different classes having the same super class
Number of node comparisons5
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements3
    Number of unmapped statements in the first code fragment5
    Number of unmapped statements in the second code fragment5
    Time elapsed for statement mapping (ms)49.8
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
                                            
    1
    switch (featureID)
                                                                                                        
    2
    case MappingPackage.FUNCTION_NAME_PAIR__IN2OUT:
                                                                                                                                                                              
    3
    return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
    Preondition Violations
    Unmatched return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
    3
    return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
                                                                                                        
    4
    case MappingPackage.FUNCTION_NAME_PAIR__OUT2IN:
                                                                                                                                                                              
    5
    return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    Preondition Violations
    Unmatched return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    5
    return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    1
    switch (featureID)
                                            
    2
    case XMLTypePackage.PROCESSING_INSTRUCTION__DATA:
                                                                                                            
    3
    return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
    3
    return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
    Preondition Violations
    Unmatched return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
                                                                                                                                                              
    4
    case XMLTypePackage.PROCESSING_INSTRUCTION__TARGET:
                                                                                                                
    5
    return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
    5
    return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
    Preondition Violations
    Unmatched return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
                                                                                                                                                                              
    3
    return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
    3
    return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
    3
    return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
    Differences
    Expression1Expression2Difference
    DATA_EDEFAULTIN2OUT_EDEFAULTVARIABLE_NAME_MISMATCH
    datain2outVARIABLE_NAME_MISMATCH
    datain2outVARIABLE_NAME_MISMATCH
    DATA_EDEFAULTIN2OUT_EDEFAULTVARIABLE_NAME_MISMATCH
    3
    return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
    5
    return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
    5
    return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
    5
    return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    Differences
    Expression1Expression2Difference
    TARGET_EDEFAULTOUT2IN_EDEFAULTVARIABLE_NAME_MISMATCH
    targetout2inVARIABLE_NAME_MISMATCH
    targetout2inVARIABLE_NAME_MISMATCH
    TARGET_EDEFAULTOUT2IN_EDEFAULTVARIABLE_NAME_MISMATCH
    5
    return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    6
    return eDynamicIsSet(featureID);
    6
    return eDynamicIsSet(featureID);
    6
    return super.eIsSet(featureID);
    Differences
    Expression1Expression2Difference
    eDynamicIsSet(featureID)super.eIsSet(featureID)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Super method call return super.eIsSet(featureID); cannot be extracted from method
    6
    return super.eIsSet(featureID);
    Precondition Violations (5)
    Row Violation
    1Unmatched return IN2OUT_EDEFAULT == null ? in2out != null : !IN2OUT_EDEFAULT.equals(in2out);
    2Unmatched return OUT2IN_EDEFAULT == null ? out2in != null : !OUT2IN_EDEFAULT.equals(out2in);
    3Unmatched return DATA_EDEFAULT == null ? data != null : !DATA_EDEFAULT.equals(data);
    4Unmatched return TARGET_EDEFAULT == null ? target != null : !TARGET_EDEFAULT.equals(target);
    5Super method call return super.eIsSet(featureID); cannot be extracted from method