File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/EObjectValidator.java | File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/EObjectValidator.java | |||
Method name: boolean validate(EDataType, Object, DiagnosticChain, Map
|
Method name: boolean validate(EDataType, Object, DiagnosticChain, Map
|
|||
Number of AST nodes: 5 | Number of AST nodes: 5 | |||
1 | int length =↵ | 1 | int length =↵ | |
2 | value instanceof String ?↵ | 2 | value instanceof String ?↵ | |
3 | ((String)value).length() :↵ | 3 | ((String)value).length() :↵ | |
4 | value instanceof Collection ?↵ | 4 | value instanceof Collection ?↵ | |
5 | ((Collection<?>)value).size() :↵ | 5 | ((Collection<?>)value).size() :↵ | |
6 | Array.getLength(value);↵ | 6 | Array.getLength(value);↵ | |
7 | if (length < effectiveMinLength)↵ | 7 | if (length > effectiveMaxLength)↵ | |
8 | {↵ | 8 | {↵ | |
9 | if (diagnostics != null) reportMinLengthViolation(eDataType, value, length, effectiveMinLength, diagnostics, context);↵ | 9 | if (diagnostics != null) reportMaxLengthViolation(eDataType, value, length, effectiveMaxLength, diagnostics, context);↵ | |
10 | result = false;↵ | 10 | result = false;↵ | |
11 | } | 11 |
| |
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.2 |
Clones location | Clones are in the same method |
Number of node comparisons | 5 |
Number of mapped statements | 2 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 139.1 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
28 | if (diagnostics != null) | 34 | if (diagnostics != null) | ||||||||||||||||||
29 | reportMinLengthViolation(eDataType, value, length, effectiveMinLength, diagnostics, context); |
| 35 | reportMaxLengthViolation(eDataType, value, length, effectiveMaxLength, diagnostics, context); |
Row | Violation |
---|---|
1 | Expression reportMinLengthViolation(eDataType,value,length,effectiveMinLength,diagnostics,context) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression reportMaxLengthViolation(eDataType,value,length,effectiveMaxLength,diagnostics,context) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression reportMinLengthViolation(eDataType,value,length,effectiveMinLength,diagnostics,context) is a void method call, and thus it cannot be parameterized |
4 | Expression reportMaxLengthViolation(eDataType,value,length,effectiveMaxLength,diagnostics,context) is a void method call, and thus it cannot be parameterized |