File path: /columba-1.4-src/core/src/main/java/org/columba/core/search/SearchManager.java | File path: /columba-1.4-src/core/src/main/java/org/columba/core/search/SearchManager.java | |||
Method name: void execute(IWorkerStatusController)
|
Method name: void execute(IWorkerStatusController)
|
|||
Number of AST nodes: 3 | Number of AST nodes: 4 | |||
1 | String provider↵ | 1 | while (it2.hasNext()) {↵ | |
2 | ISearchCriteria c = it2.next();↵ | |||
2 | TechnicalName = ref.getProviderTechnicalName();↵ | 3 | String searchCriteriaTechnicalName = c.getTechnicalName();↵ | |
3 | ISearchProvider p = getProvider(providerTechnicalName);↵ | 4 | ↵ | |
5 | // execute search↵ | |||
4 | doExecute(ref.getSearchTerm(), p, ref↵ | 6 | doExecute(ref.getSearchTerm(), p,↵ | |
5 | .getSearchCriteriaTechnicalName(),↵ | 7 | searchCriteriaTechnicalName↵ | |
6 | ref.isSearchInside(), ↵ | 8 | , ref.isSearchInside(),↵ | |
7 | ref.getStartIndex(), ref↵ | 9 | ref.getStartIndex(), ref↵ | |
8 | .getResultCount()); | 10 | .getResultCount());↵ | |
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.0 |
Clones location | Clones are in the same method |
Number of node comparisons | 9 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| 16 | ISearchCriteria c = it2.next(); | ||||||||||||
|
| 17 | String searchCriteriaTechnicalName = c.getTechnicalName(); | ||||||||||||
20 | String providerTechnicalName = ref.getProviderTechnicalName(); | | |||||||||||||
21 | ISearchProvider p = getProvider(providerTechnicalName); |
| | ||||||||||||
22 | doExecute(ref.getSearchTerm(), p, ref.getSearchCriteriaTechnicalName(), ref.isSearchInside(), ref.getStartIndex(), ref.getResultCount()); |
| 18 | doExecute(ref.getSearchTerm(), p, searchCriteriaTechnicalName, ref.isSearchInside(), ref.getStartIndex(), ref.getResultCount()); |
Row | Violation |
---|---|
1 | Unmatched statement ISearchCriteria c=it2.next(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Unmatched statement String searchCriteriaTechnicalName=c.getTechnicalName(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement ISearchProvider p=getProvider(providerTechnicalName); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
4 | Expression searchCriteriaTechnicalName cannot be parameterized, because it has dependencies to/from statements that will be extracted |