File path: /emf-2.4.1/src/org/eclipse/emf/common/ui/celleditor/ExtendedTableEditor.java | File path: /emf-2.4.1/src/org/eclipse/emf/common/ui/celleditor/ExtendedTableTreeEditor.java | |||
Method name: void mouseDown(MouseEvent)
|
Method name: void mouseDown(MouseEvent)
|
|||
Number of AST nodes: 25 | Number of AST nodes: 24 | |||
1 | Rectangle bounds = tableItems[i].getBounds(j);↵ | |||
2 | if (bounds.y > event.y)↵ | 1 | if (bounds.y > event.y)↵ | |
3 | {↵ | 2 | {↵ | |
4 | break LOOP;↵ | 3 | break LOOP;↵ | |
5 | }↵ | 4 | }↵ | |
6 | else if (bounds.contains(event.x, event.y))↵ | 5 | else if (bounds.contains(event.x, event.y))↵ | |
7 | {↵ | 6 | {↵ | |
8 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y))↵ | 7 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y))↵ | |
9 | {↵ | 8 | {↵ | |
10 | TableItem tableItem = tableItems[i];↵ | 9 | TableItem tableItem = tableItems[i];↵ | |
11 | if (tableItem == selectedTableItem || wasActive)↵ | 10 | if (tableItem == selectedTableItem || wasActive)↵ | |
12 | {↵ | 11 | {↵ | |
13 | if (tableItem != selectedTableItem)↵ | 12 | if (tableItem != selectedTableItem)↵ | |
14 | {↵ | 13 | {↵ | |
15 | table.setSelection(i);↵ | 14 | table.setSelection(i);↵ | |
16 | Event selectionEvent = new Event();↵ | 15 | Event selectionEvent = new Event();↵ | |
17 | selectionEvent.widget = table;↵ | 16 | selectionEvent.widget = table;↵ | |
18 | selectionEvent.item = tableItem;↵ | 17 | selectionEvent.item = tableItem;↵ | |
19 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | 18 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | |
20 | selectedTableItem = tableItem;↵ | 19 | selectedTableItem = tableItem;↵ | |
21 | }↵ | 20 | }↵ | |
22 | editTableItem = tableItems[i];↵ | 21 | editTableTreeItem = (TableTreeItem)tableItems[i].getData(ExtendedTableTreeViewer.ITEM_ID);↵ | |
23 | editTableItemColumn = j;↵ | 22 | editTableTreeItemColumn = j;↵ | |
24 | }↵ | 23 | }↵ | |
25 | else↵ | 24 | else↵ | |
26 | {↵ | 25 | {↵ | |
27 | TableItem mouseBasedTableItem = table.getItem(point);↵ | 26 | TableItem mouseBasedTableItem = table.getItem(point);↵ | |
28 | if (mouseBasedTableItem == null)↵ | 27 | if (mouseBasedTableItem == null)↵ | |
29 | {↵ | 28 | {↵ | |
30 | table.setSelection(i);↵ | 29 | table.setSelection(i);↵ | |
31 | Event selectionEvent = new Event();↵ | 30 | Event selectionEvent = new Event();↵ | |
32 | selectionEvent.widget = table;↵ | 31 | selectionEvent.widget = table;↵ | |
33 | selectionEvent.item = tableItem;↵ | 32 | selectionEvent.item = tableItem;↵ | |
34 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | 33 | table.notifyListeners(SWT.Selection, selectionEvent);↵ | |
35 | selectedTableItem = tableItem;↵ | 34 | selectedTableItem = tableItem;↵ | |
36 | }↵ | 35 | }↵ | |
37 | }↵ | 36 | }↵ | |
38 | }↵ | 37 | }↵ | |
39 | break LOOP;↵ | 38 | break LOOP;↵ | |
40 | } | 39 |
| |
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) | 1.8 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 178 |
Number of mapped statements | 24 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 14.7 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10 | Rectangle bounds = tableItems[i].getBounds(j); |
| | |||||||||||||||||||
11 | if (bounds.y > event.y) | 11 | if (bounds.y > event.y) | |||||||||||||||||||
12 | break LOOP; |
| 12 | break LOOP; | ||||||||||||||||||
13 | else if (bounds.contains(event.x, event.y)) | 13 | else if (bounds.contains(event.x, event.y)) | |||||||||||||||||||
14 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y)) | 14 | if (j != 0 || !tableItems[i].getImageBounds(0).contains(event.x, event.y)) | |||||||||||||||||||
15 | TableItem tableItem = tableItems[i]; | 15 | TableItem tableItem = tableItems[i]; | |||||||||||||||||||
16 | if (tableItem == selectedTableItem || wasActive) | 16 | if (tableItem == selectedTableItem || wasActive) | |||||||||||||||||||
17 | if (tableItem != selectedTableItem) | 17 | if (tableItem != selectedTableItem) | |||||||||||||||||||
18 | table.setSelection(i); | 18 | table.setSelection(i); | |||||||||||||||||||
19 | Event selectionEvent = new Event(); | 19 | Event selectionEvent = new Event(); | |||||||||||||||||||
20 | selectionEvent.widget = table; | 20 | selectionEvent.widget = table; | |||||||||||||||||||
21 | selectionEvent.item = tableItem; | 21 | selectionEvent.item = tableItem; | |||||||||||||||||||
22 | table.notifyListeners(SWT.Selection, selectionEvent); | 22 | table.notifyListeners(SWT.Selection, selectionEvent); | |||||||||||||||||||
23 | selectedTableItem = tableItem; | 23 | selectedTableItem = tableItem; | |||||||||||||||||||
24 | editTableItem = tableItems[i]; |
| 24 | editTableTreeItem = (TableTreeItem)tableItems[i].getData(ExtendedTableTreeViewer.ITEM_ID); | ||||||||||||||||||
25 | editTableItemColumn = j; |
| 25 | editTableTreeItemColumn = j; | ||||||||||||||||||
else | else | |||||||||||||||||||||
26 | TableItem mouseBasedTableItem = table.getItem(point); | 26 | TableItem mouseBasedTableItem = table.getItem(point); | |||||||||||||||||||
27 | if (mouseBasedTableItem == null) | 27 | if (mouseBasedTableItem == null) | |||||||||||||||||||
28 | table.setSelection(i); | 28 | table.setSelection(i); | |||||||||||||||||||
29 | Event selectionEvent = new Event(); | 29 | Event selectionEvent = new Event(); | |||||||||||||||||||
30 | selectionEvent.widget = table; | 30 | selectionEvent.widget = table; | |||||||||||||||||||
31 | selectionEvent.item = tableItem; | 31 | selectionEvent.item = tableItem; | |||||||||||||||||||
32 | table.notifyListeners(SWT.Selection, selectionEvent); | 32 | table.notifyListeners(SWT.Selection, selectionEvent); | |||||||||||||||||||
33 | selectedTableItem = tableItem; | 33 | selectedTableItem = tableItem; | |||||||||||||||||||
34 | break LOOP; |
| 34 | break LOOP; |
Row | Violation |
---|---|
1 | Unmatched statement Rectangle bounds=tableItems[i].getBounds(j); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Statement break LOOP; without innermost loop |
3 | Statement break LOOP; without innermost loop |
4 | Expression editTableItem is a field being modified, and thus it cannot be parameterized |
5 | Expression editTableTreeItem is a field being modified, and thus it cannot be parameterized |
6 | Expression editTableItemColumn is a field being modified, and thus it cannot be parameterized |
7 | Expression editTableTreeItemColumn is a field being modified, and thus it cannot be parameterized |
8 | Statement break LOOP; without innermost loop |
9 | Statement break LOOP; without innermost loop |