File path: /jEdit-4.2/src/bsh/Primitive.java | File path: /jEdit-4.2/src/bsh/Primitive.java | |||
Method name: Object doubleBinaryOperation(Double, Double, int)
|
Method name: Object floatBinaryOperation(Float, Float, int)
|
|||
Number of AST nodes: 28 | Number of AST nodes: 28 | |||
1 | case LT:↵ | 1 | case LT:↵ | |
2 | case LTX:↵ | 2 | case LTX:↵ | |
3 | return new Boolean(lhs < rhs);↵ | 3 | return new Boolean(lhs < rhs);↵ | |
4 | case GT:↵ | 4 | case GT:↵ | |
5 | case GTX:↵ | 5 | case GTX:↵ | |
6 | return new Boolean(lhs > rhs);↵ | 6 | return new Boolean(lhs > rhs);↵ | |
7 | case EQ:↵ | 7 | case EQ:↵ | |
8 | return new Boolean(lhs == rhs);↵ | 8 | return new Boolean(lhs == rhs);↵ | |
9 | case LE:↵ | 9 | case LE:↵ | |
10 | case LEX:↵ | 10 | case LEX:↵ | |
11 | return new Boolean(lhs <= rhs);↵ | 11 | return new Boolean(lhs <= rhs);↵ | |
12 | case GE:↵ | 12 | case GE:↵ | |
13 | case GEX:↵ | 13 | case GEX:↵ | |
14 | return new Boolean(lhs >= rhs);↵ | 14 | return new Boolean(lhs >= rhs);↵ | |
15 | case NE:↵ | 15 | case NE:↵ | |
16 | return new Boolean(lhs != rhs);↵ | 16 | return new Boolean(lhs != rhs);↵ | |
17 | // arithmetic↵ | 17 | // arithmetic↵ | |
18 | case PLUS:↵ | 18 | case PLUS:↵ | |
19 | return new Double(lhs + rhs);↵ | 19 | return new Float(lhs + rhs);↵ | |
20 | case MINUS:↵ | 20 | case MINUS:↵ | |
21 | return new Double(lhs - rhs);↵ | 21 | return new Float(lhs - rhs);↵ | |
22 | case STAR:↵ | 22 | case STAR:↵ | |
23 | return new Double(lhs * rhs);↵ | 23 | return new Float(lhs * rhs);↵ | |
24 | case SLASH:↵ | 24 | case SLASH:↵ | |
25 | return new Double(lhs / rhs);↵ | 25 | return new Float(lhs / rhs);↵ | |
26 | case MOD:↵ | 26 | case MOD:↵ | |
27 | return new Double(lhs % rhs);↵ | 27 | return new Float(lhs % rhs);↵ | |
28 | // can't shift floating-point values↵ | 28 | // can't shift floats↵ | |
29 | case LSHIFT:↵ | 29 | case LSHIFT:↵ | |
30 | case LSHIFTX: | 30 |
| |
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 | 472 |
Number of mapped statements | 17 |
Number of unmapped statements in the first code fragment | 11 |
Number of unmapped statements in the second code fragment | 11 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||
---|---|---|---|---|---|---|---|
4 | case LT: | 4 | case LT: | ||||
5 | case LTX: | 5 | case LTX: | ||||
|
| 6 | return new Boolean(lhs < rhs); | ||||
6 | return new Boolean(lhs < rhs); |
| | ||||
7 | case GT: | 7 | case GT: | ||||
8 | case GTX: | 8 | case GTX: | ||||
|
| 9 | return new Boolean(lhs > rhs); | ||||
9 | return new Boolean(lhs > rhs); |
| | ||||
10 | case EQ: | 10 | case EQ: | ||||
|
| 11 | return new Boolean(lhs == rhs); | ||||
11 | return new Boolean(lhs == rhs); |
| | ||||
12 | case LE: | 12 | case LE: | ||||
13 | case LEX: | 13 | case LEX: | ||||
|
| 14 | return new Boolean(lhs <= rhs); | ||||
14 | return new Boolean(lhs <= rhs); |
| | ||||
15 | case GE: | 15 | case GE: | ||||
16 | case GEX: | 16 | case GEX: | ||||
|
| 17 | return new Boolean(lhs >= rhs); | ||||
17 | return new Boolean(lhs >= rhs); |
| | ||||
18 | case NE: | 18 | case NE: | ||||
|
| 19 | return new Boolean(lhs != rhs); | ||||
19 | return new Boolean(lhs != rhs); |
| | ||||
20 | case PLUS: | 20 | case PLUS: | ||||
|
| 21 | return new Float(lhs + rhs); | ||||
21 | return new Double(lhs + rhs); |
| | ||||
22 | case MINUS: | 22 | case MINUS: | ||||
|
| 23 | return new Float(lhs - rhs); | ||||
23 | return new Double(lhs - rhs); |
| | ||||
24 | case STAR: | 24 | case STAR: | ||||
|
| 25 | return new Float(lhs * rhs); | ||||
25 | return new Double(lhs * rhs); |
| | ||||
26 | case SLASH: | 26 | case SLASH: | ||||
|
| 27 | return new Float(lhs / rhs); | ||||
27 | return new Double(lhs / rhs); |
| | ||||
28 | case MOD: | 28 | case MOD: | ||||
|
| 29 | return new Float(lhs % rhs); | ||||
29 | return new Double(lhs % rhs); |
| | ||||
30 | case LSHIFT: | 30 | case LSHIFT: | ||||
31 | case LSHIFTX: | 31 | case LSHIFTX: |
Row | Violation |
---|---|
1 | Unmatched return new Boolean(lhs < rhs); |
2 | Unmatched return new Boolean(lhs < rhs); |
3 | Unmatched return new Boolean(lhs > rhs); |
4 | Unmatched return new Boolean(lhs > rhs); |
5 | Unmatched return new Boolean(lhs == rhs); |
6 | Unmatched return new Boolean(lhs == rhs); |
7 | Unmatched return new Boolean(lhs <= rhs); |
8 | Unmatched return new Boolean(lhs <= rhs); |
9 | Unmatched return new Boolean(lhs >= rhs); |
10 | Unmatched return new Boolean(lhs >= rhs); |
11 | Unmatched return new Boolean(lhs != rhs); |
12 | Unmatched return new Boolean(lhs != rhs); |
13 | Unmatched return new Float(lhs + rhs); |
14 | Unmatched return new Double(lhs + rhs); |
15 | Unmatched return new Float(lhs - rhs); |
16 | Unmatched return new Double(lhs - rhs); |
17 | Unmatched return new Float(lhs * rhs); |
18 | Unmatched return new Double(lhs * rhs); |
19 | Unmatched return new Float(lhs / rhs); |
20 | Unmatched return new Double(lhs / rhs); |
21 | Unmatched return new Float(lhs % rhs); |
22 | Unmatched return new Double(lhs % rhs); |