File path: /jfreechart-1.0.10/src/org/jfree/data/time/Week.java | File path: /jfreechart-1.0.10/src/org/jfree/data/time/Week.java | |||
Method name: RegularTimePeriod previous()
|
Method name: RegularTimePeriod next()
|
|||
Number of AST nodes: 8 | Number of AST nodes: 8 | |||
1 | if (this.week != FIRST_WEEK_IN_YEAR) {↵ | |||
2 | result = new Week(this.week - 1, this.year↵ | 1 | Calendar calendar = Calendar.getInstance();↵ | |
3 | );↵ | 2 | calendar.set(this.year, Calendar.DECEMBER, 31);↵ | |
4 | }↵ | 3 | ↵ | |
5 | else {↵ | 4 | ↵ | |
6 | // we need to work out if the previous year has 52 or 53 weeks...↵ | 5 | int actualMaxWeek ↵ | |
6 | = calendar.getActualMaximum(Calendar.WEEK_OF_YEAR);↵ | |||
7 | if (this.year > 1900) {↵ | 7 | if (this.week < actualMaxWeek) {↵ | |
8 | int yy = this.year - 1;↵ | 8 | result = new Week(this.week + 1, this.year);↵ | |
9 | ↵ | 9 | }↵ | |
10 | Calendar prevYearCalendar = Calendar.getInstance();↵ | 10 | else {↵ | |
11 | prevYearCalendar.set(yy, Calendar.DECEMBER, 31);↵ | 11 | ↵ | |
12 | result = new Week(prevYearCalendar.getActualMaximum(↵ | |||
13 | Calendar.↵ | 12 | if (this.year < 9999) {↵ | |
14 | WEEK_OF_YEAR), yy);↵ | 13 | result = new Week(FIRST_WEEK_IN_YEAR, ↵ | |
14 | this.year + 1);↵ | |||
15 | }↵ | 15 | }↵ | |
16 | else {↵ | 16 | else {↵ | |
17 | result = null;↵ | 17 | result = null;↵ | |
18 | }↵ | 18 | ↵ | |
19 | }↵ | |||
19 | } | 20 | } | |
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.4 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 22 |
Number of mapped statements | 5 |
Number of unmapped statements in the first code fragment | 3 |
Number of unmapped statements in the second code fragment | 3 |
Time elapsed for statement mapping (ms) | 3.3 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| 4 | Calendar calendar = Calendar.getInstance(); | |||||||||||||||||
|
| 5 | calendar.set(this.year, Calendar.DECEMBER, 31); | |||||||||||||||||
| 6 | int actualMaxWeek = calendar.getActualMaximum(Calendar.WEEK_OF_YEAR); | ||||||||||||||||||
2 | if (this.week != FIRST_WEEK_IN_YEAR) |
| 7 | if (this.week < actualMaxWeek) | ||||||||||||||||
3 | result = new Week(this.week - 1, this.year); |
| 8 | result = new Week(this.week + 1, this.year); | ||||||||||||||||
else | else | |||||||||||||||||||
4 | if (this.year > 1900) |
| 9 | if (this.year < 9999) | ||||||||||||||||
5 | int yy = this.year - 1; |
| | |||||||||||||||||
6 | Calendar prevYearCalendar = Calendar.getInstance(); |
| | |||||||||||||||||
7 | prevYearCalendar.set(yy, Calendar.DECEMBER, 31); |
| | |||||||||||||||||
8 | result = new Week(prevYearCalendar.getActualMaximum(Calendar.WEEK_OF_YEAR), yy); |
| 10 | result = new Week(FIRST_WEEK_IN_YEAR, this.year + 1); | ||||||||||||||||
else | else | |||||||||||||||||||
9 | result = null; | 11 | result = null; |
Row | Violation |
---|---|
1 | Unmatched statement Calendar calendar=Calendar.getInstance(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Unmatched statement calendar.set(this.year,Calendar.DECEMBER,31); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
3 | Expression actualMaxWeek cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression this.week < actualMaxWeek cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression this.week - 1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression this.week + 1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement int yy=this.year - 1; cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
8 | Unmatched statement Calendar prevYearCalendar=Calendar.getInstance(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
9 | Unmatched statement prevYearCalendar.set(yy,Calendar.DECEMBER,31); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
10 | Expression prevYearCalendar.getActualMaximum(Calendar.WEEK_OF_YEAR) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Expression yy cannot be parameterized, because it has dependencies to/from statements that will be extracted |
12 | Expression this.year + 1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |