File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/EcoreValidator.java | File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/EcoreValidator.java | |||
Method name: Diagnostic parseTypeParameterList(String)
|
Method name: Diagnostic parseTypeArgumentList(String)
|
|||
Number of AST nodes: 6 | Number of AST nodes: 6 | |||
1 | BasicDiagnostic placeholder = new BasicDiagnostic();↵ | 1 | BasicDiagnostic placeholder = new BasicDiagnostic();↵ | |
2 | char [] instanceTypeNameCharacterArray = typeParameterList.toCharArray();↵ | 2 | char [] instanceTypeNameCharacterArray = typeArgumentList.toCharArray();↵ | |
3 | List<ETypeParameter> eTypeParameters = handleTypeParameters(instanceTypeNameCharacterArray, 0, instanceTypeNameCharacterArray.length, placeholder);↵ | 3 | List<EGenericType> eTypeArguments = handleTypeArguments(instanceTypeNameCharacterArray, 0, instanceTypeNameCharacterArray.length, placeholder);↵ | |
4 | BasicDiagnostic result =↵ | 4 | BasicDiagnostic result =↵ | |
5 | createDiagnostic↵ | 5 | createDiagnostic↵ | |
6 | (placeholder.getSeverity(),↵ | 6 | (placeholder.getSeverity(),↵ | |
7 | DIAGNOSTIC_SOURCE,↵ | 7 | DIAGNOSTIC_SOURCE,↵ | |
8 | WELL_FORMED_INSTANCE_TYPE_NAME,↵ | 8 | WELL_FORMED_INSTANCE_TYPE_NAME,↵ | |
9 | "_UI_EClassifierInstanceTypeNameAnalysisResult_diagnostic",↵ | 9 | "_UI_EClassifierInstanceTypeNameAnalysisResult_diagnostic",↵ | |
10 | new Object [] { typeParameterList },↵ | 10 | new Object [] { typeArgumentList },↵ | |
11 | new Object [] { eTypeParameters, typeParameterList });↵ | 11 | new Object [] { eTypeArguments, typeArgumentList });↵ | |
12 | result.addAll(placeholder);↵ | 12 | result.addAll(placeholder);↵ | |
13 | return result; | 13 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.0 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 20 |
Number of mapped statements | 5 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | BasicDiagnostic placeholder = new BasicDiagnostic(); | 1 | BasicDiagnostic placeholder = new BasicDiagnostic(); | ||||||||||||||||||
2 | char[] instanceTypeNameCharacterArray = typeParameterList.toCharArray(); |
| 2 | char[] instanceTypeNameCharacterArray = typeArgumentList.toCharArray(); | |||||||||||||||||
|
| 3 | List<EGenericType> eTypeArguments = handleTypeArguments(instanceTypeNameCharacterArray, 0, instanceTypeNameCharacterArray.length, placeholder); | ||||||||||||||||||
3 | List<ETypeParameter> eTypeParameters = handleTypeParameters(instanceTypeNameCharacterArray, 0, instanceTypeNameCharacterArray.length, placeholder); |
| | ||||||||||||||||||
4 | BasicDiagnostic result = createDiagnostic(placeholder.getSeverity(), DIAGNOSTIC_SOURCE, WELL_FORMED_INSTANCE_TYPE_NAME, "_UI_EClassifierInstanceTypeNameAnalysisResult_diagnostic", new Object[] {typeParameterList}, new Object[] {eTypeParameters, typeParameterList}); |
| 4 | BasicDiagnostic result = createDiagnostic(placeholder.getSeverity(), DIAGNOSTIC_SOURCE, WELL_FORMED_INSTANCE_TYPE_NAME, "_UI_EClassifierInstanceTypeNameAnalysisResult_diagnostic", new Object[] {typeArgumentList}, new Object[] {eTypeArguments, typeArgumentList}); | |||||||||||||||||
5 | result.addAll(placeholder); | 5 | result.addAll(placeholder); | ||||||||||||||||||
6 | return result; | 6 | return result; |
Row | Violation |
---|---|
1 | Unmatched statement List<EGenericType> eTypeArguments=handleTypeArguments(instanceTypeNameCharacterArray,0,instanceTypeNameCharacterArray.length,placeholder); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Unmatched statement List<ETypeParameter> eTypeParameters=handleTypeParameters(instanceTypeNameCharacterArray,0,instanceTypeNameCharacterArray.length,placeholder); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Type java.util.List<org.eclipse.emf.ecore.ETypeParameter> of variable eTypeParameters does not match with type java.util.List<org.eclipse.emf.ecore.EGenericType> of variable eTypeArguments |
4 | Clone fragment #1 returns variables placeholder, instanceTypeNameCharacterArray , while Clone fragment #2 returns variables placeholder, instanceTypeNameCharacterArray |