switch (featureID) { case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__MIXED: if (coreType) return getMixed(); return ((FeatureMap.Internal)getMixed()).getWrapper(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP: if (coreType) return getXMLNSPrefixMap(); else return getXMLNSPrefixMap().map(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION: if (coreType) return getXSISchemaLocation(); else return getXSISchemaLocation().map(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__CDATA: return getCDATA(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__COMMENT: return getComment(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION: return getProcessingInstruction(); case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__TEXT: return getText(); } return eDynamicGet(featureID, resolve, coreType);
switch (featureID) { case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__MIXED: if (coreType) return getMixed(); return ((FeatureMap.Internal)getMixed()).getWrapper(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP: if (coreType) return getXMLNSPrefixMap(); else return getXMLNSPrefixMap().map(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION: if (coreType) return getXSISchemaLocation(); else return getXSISchemaLocation().map(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__BASE: return getBase(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__ID: return getId(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__LANG: return getLang(); case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__SPACE: return getSpace(); } return eDynamicGet(featureID, resolve, coreType);
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xml/type/impl/XMLTypeDocumentRootImpl.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xml/namespace/impl/XMLNamespaceDocumentRootImpl.java
Method name: Object eGet(int, boolean, boolean) Method name: Object eGet(int, boolean, boolean)
Number of AST nodes: 22 Number of AST nodes: 22
1
switch (featureID)
1
switch (featureID)
2
    {
2
    {
3
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__MIXED:
3
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__MIXED:
4
        if (coreType) return getMixed();
4
        if (coreType) return getMixed();
5
        return ((FeatureMap.Internal)getMixed()).getWrapper();
5
        return ((FeatureMap.Internal)getMixed()).getWrapper();
6
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
6
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
7
        if (coreType) return getXMLNSPrefixMap();
7
        if (coreType) return getXMLNSPrefixMap();
8
        else return getXMLNSPrefixMap().map();
8
        else return getXMLNSPrefixMap().map();
9
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
9
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
10
        if (coreType) return getXSISchemaLocation();
10
        if (coreType) return getXSISchemaLocation();
11
        else return getXSISchemaLocation().map();
11
        else return getXSISchemaLocation().map();
12
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__CDATA:
12
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__BASE:
13
        return getCDATA();
13
        return getBase();
14
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__COMMENT:
14
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__ID:
15
        return getComment();
15
        return getId();
16
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION:
16
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__
17
        return getProcessingInstruction
17
LANG:
18
();
18
        return getLang();
19
      case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__TEXT:
19
      case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__SPACE:
20
        return getText();
20
        return getSpace();
21
    }
21
    }
22
    return eDynamicGet(featureID, resolve, coreType);
22
    return eDynamicGet(featureID, resolve, coreType);
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.3
Clones locationClones are in different classes having the same super class
Number of node comparisons137
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements18
    Number of unmapped statements in the first code fragment4
    Number of unmapped statements in the second code fragment4
    Time elapsed for statement mapping (ms)7.1
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    switch (featureID)
    1
    switch (featureID)
    2
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__MIXED:
    2
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__MIXED:
    2
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__MIXED:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__MIXEDXML_NAMESPACE_DOCUMENT_ROOT__MIXEDVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    2
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__MIXED:
    3
    if (coreType)
    3
    if (coreType)
    4
    return getMixed();
    4
    return getMixed();
    5
    return ((FeatureMap.Internal)getMixed()).getWrapper();
    5
    return ((FeatureMap.Internal)getMixed()).getWrapper();
    6
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
    6
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
    6
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAPXML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAPVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    6
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
    7
    if (coreType)
    7
    if (coreType)
    8
    return getXMLNSPrefixMap();
    8
    return getXMLNSPrefixMap();
    else
    else
    9
    return getXMLNSPrefixMap().map();
    9
    return getXMLNSPrefixMap().map();
    10
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
    10
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
    10
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATIONXML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATIONVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    10
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
    11
    if (coreType)
    11
    if (coreType)
    12
    return getXSISchemaLocation();
    12
    return getXSISchemaLocation();
    else
    else
    13
    return getXSISchemaLocation().map();
    13
    return getXSISchemaLocation().map();
    14
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__CDATA:
    14
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__CDATA:
    14
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__BASE:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__CDATAXML_NAMESPACE_DOCUMENT_ROOT__BASEVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    14
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__BASE:
                                              
    15
    return getBase();
    Preondition Violations
    Unmatched return getBase();
    15
    return getBase();
    15
    return getCDATA();
    15
    return getCDATA();
    Preondition Violations
    Unmatched return getCDATA();
                                                
    16
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__COMMENT:
    16
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__COMMENT:
    16
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__ID:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__COMMENTXML_NAMESPACE_DOCUMENT_ROOT__IDVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    16
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__ID:
                                          
    17
    return getId();
    Preondition Violations
    Unmatched return getId();
    17
    return getId();
    17
    return getComment();
    17
    return getComment();
    Preondition Violations
    Unmatched return getComment();
                                                    
    18
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION:
    18
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION:
    18
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__LANG:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTIONXML_NAMESPACE_DOCUMENT_ROOT__LANGVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    18
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__LANG:
                                              
    19
    return getLang();
    Preondition Violations
    Unmatched return getLang();
    19
    return getLang();
    19
    return getProcessingInstruction();
    19
    return getProcessingInstruction();
    Preondition Violations
    Unmatched return getProcessingInstruction();
                                                                                
    20
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__TEXT:
    20
    case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__TEXT:
    20
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__SPACE:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.ecore.xml.type.XMLTypePackageorg.eclipse.emf.ecore.xml.namespace.XMLNamespacePackageVARIABLE_TYPE_MISMATCH
    XML_TYPE_DOCUMENT_ROOT__TEXTXML_NAMESPACE_DOCUMENT_ROOT__SPACEVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    • Make classes org.eclipse.emf.ecore.xml.type.XMLTypePackage and org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage extend a common superclass
    20
    case XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__SPACE:
                                                
    21
    return getSpace();
    Preondition Violations
    Unmatched return getSpace();
    21
    return getSpace();
    21
    return getText();
    21
    return getText();
    Preondition Violations
    Unmatched return getText();
                                              
    22
    return eDynamicGet(featureID, resolve, coreType);
    22
    return eDynamicGet(featureID, resolve, coreType);
    Precondition Violations (15)
    Row Violation
    1Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    2Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    3Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    4Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    5Unmatched return getBase();
    6Unmatched return getCDATA();
    7Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    8Unmatched return getId();
    9Unmatched return getComment();
    10Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    11Unmatched return getLang();
    12Unmatched return getProcessingInstruction();
    13Type org.eclipse.emf.ecore.xml.type.XMLTypePackage of variable XMLTypePackage does not match with type org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage of variable XMLNamespacePackage
    14Unmatched return getSpace();
    15Unmatched return getText();