File path: /apache-ant-1.7.0/src/org/apache/tools/bzip2/CBZip2InputStream.java | File path: /apache-ant-1.7.0/src/org/apache/tools/bzip2/CBZip2InputStream.java | |||
Method name: void getAndMoveToFrontDecode()
|
Method name: void getAndMoveToFrontDecode()
|
|||
Number of AST nodes: 30 | Number of AST nodes: 30 | |||
1 | if (groupPos == 0) {↵ | 1 | if (groupPos == 0) {↵ | |
2 | groupPos = G_SIZE - 1;↵ | 2 | groupPos = G_SIZE - 1;↵ | |
3 | zt = selector[++groupNo] & 0xff;↵ | 3 | zt = selector[++groupNo] & 0xff;↵ | |
4 | base_zt = base[zt];↵ | 4 | base_zt = base[zt];↵ | |
5 | limit_zt = limit[zt];↵ | 5 | limit_zt = limit[zt];↵ | |
6 | perm_zt = perm[zt];↵ | 6 | perm_zt = perm[zt];↵ | |
7 | minLens_zt = minLens[zt];↵ | 7 | minLens_zt = minLens[zt];↵ | |
8 | } else {↵ | 8 | } else {↵ | |
9 | groupPos--;↵ | 9 | groupPos--;↵ | |
10 | }↵ | 10 | ↵ | |
11 | ↵ | 11 | }↵ | |
12 | int zn = minLens_zt;↵ | 12 | int zn = minLens_zt;↵ | |
13 | // Inlined:↵ | 13 | // Inlined:↵ | |
14 | // int zvec = bsR(zn);↵ | 14 | // int zvec = bsR(zn);↵ | |
15 | while (bsLiveShadow < zn) {↵ | 15 | while (bsLiveShadow < zn) {↵ | |
16 | final int thech = inShadow.read();↵ | 16 | final int thech = inShadow.read();↵ | |
17 | if (thech >= 0) {↵ | 17 | if (thech >= 0) {↵ | |
18 | bsBuffShadow = (bsBuffShadow << 8) | thech;↵ | 18 | bsBuffShadow = (bsBuffShadow << 8) | thech;↵ | |
19 | bsLiveShadow += 8;↵ | 19 | bsLiveShadow += 8;↵ | |
20 | continue;↵ | 20 | continue;↵ | |
21 | } else {↵ | 21 | } else {↵ | |
22 | throw new IOException("unexpected end of stream");↵ | 22 | throw new IOException("unexpected end of stream");↵ | |
23 | }↵ | 23 | ↵ | |
24 | ↵ | 24 | }↵ | |
25 | }↵ | 25 | }↵ | |
26 | int zvec = (bsBuffShadow >> (bsLiveShadow - zn)) & ((1 << zn) - 1);↵ | 26 | int zvec = (bsBuffShadow >> (bsLiveShadow - zn)) & ((1 << zn) - 1);↵ | |
27 | bsLiveShadow -= zn;↵ | 27 | bsLiveShadow -= zn;↵ | |
28 | while (zvec > limit_zt[zn]) {↵ | 28 | while (zvec > limit_zt[zn]) {↵ | |
29 | zn++;↵ | 29 | zn++;↵ | |
30 | while (bsLiveShadow < 1) {↵ | 30 | while (bsLiveShadow < 1) {↵ | |
31 | final int thech = inShadow.read();↵ | 31 | final int thech = inShadow.read();↵ | |
32 | if (thech >= 0) {↵ | 32 | if (thech >= 0) {↵ | |
33 | bsBuffShadow = (bsBuffShadow << 8) | thech;↵ | 33 | bsBuffShadow = (bsBuffShadow << 8) | thech;↵ | |
34 | bsLiveShadow += 8;↵ | 34 | bsLiveShadow += 8;↵ | |
35 | continue;↵ | 35 | continue;↵ | |
36 | } else {↵ | 36 | } else {↵ | |
37 | throw new IOException("unexpected end of stream");↵ | 37 | throw new IOException("unexpected end of stream");↵ | |
38 | }↵ | 38 | }↵ | |
39 | }↵ | 39 | ↵ | |
40 | ↵ | 40 | }↵ | |
41 | bsLiveShadow--;↵ | 41 | bsLiveShadow--;↵ | |
42 | zvec = (zvec << 1) | ((bsBuffShadow >> bsLiveShadow) & 1);↵ | 42 | zvec = (zvec << 1) | ((bsBuffShadow >> bsLiveShadow) & 1);↵ | |
43 | }↵ | 43 | ↵ | |
44 | ↵ | 44 | }↵ | |
45 | nextSym = perm_zt[zvec - base_zt[zn]]; | 45 |
| |
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) | 2.1 |
Clones location | Clones are in the same method |
Number of node comparisons | 182 |
Number of mapped statements | 30 |
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) | 701.1 |
Clone type | Type 1 |
ID | Statement | ID | Statement | |
---|---|---|---|---|
39 | if (groupPos == 0) | 85 | if (groupPos == 0) | |
40 | groupPos = G_SIZE - 1; | 86 | groupPos = G_SIZE - 1; | |
41 | zt = selector[++groupNo] & 0xff; | 87 | zt = selector[++groupNo] & 0xff; | |
42 | base_zt = base[zt]; | 88 | base_zt = base[zt]; | |
43 | limit_zt = limit[zt]; | 89 | limit_zt = limit[zt]; | |
44 | perm_zt = perm[zt]; | 90 | perm_zt = perm[zt]; | |
45 | minLens_zt = minLens[zt]; | 91 | minLens_zt = minLens[zt]; | |
else | else | |||
46 | groupPos--; | 92 | groupPos--; | |
47 | int zn = minLens_zt; | 93 | int zn = minLens_zt; | |
48 | while (bsLiveShadow < zn) | 94 | while (bsLiveShadow < zn) | |
49 | final int thech = inShadow.read(); | 95 | final int thech = inShadow.read(); | |
50 | if (thech >= 0) | 96 | if (thech >= 0) | |
51 | bsBuffShadow = (bsBuffShadow << 8) | thech; | 97 | bsBuffShadow = (bsBuffShadow << 8) | thech; | |
52 | bsLiveShadow += 8; | 98 | bsLiveShadow += 8; | |
53 | continue; | 99 | continue; | |
else | else | |||
54 | throw new IOException("unexpected end of stream"); | 100 | throw new IOException("unexpected end of stream"); | |
55 | int zvec = (bsBuffShadow >> (bsLiveShadow - zn)) & ((1 << zn) - 1); | 101 | int zvec = (bsBuffShadow >> (bsLiveShadow - zn)) & ((1 << zn) - 1); | |
56 | bsLiveShadow -= zn; | 102 | bsLiveShadow -= zn; | |
57 | while (zvec > limit_zt[zn]) | 103 | while (zvec > limit_zt[zn]) | |
58 | zn++; | 104 | zn++; | |
59 | while (bsLiveShadow < 1) | 105 | while (bsLiveShadow < 1) | |
60 | final int thech = inShadow.read(); | 106 | final int thech = inShadow.read(); | |
61 | if (thech >= 0) | 107 | if (thech >= 0) | |
62 | bsBuffShadow = (bsBuffShadow << 8) | thech; | 108 | bsBuffShadow = (bsBuffShadow << 8) | thech; | |
63 | bsLiveShadow += 8; | 109 | bsLiveShadow += 8; | |
64 | continue; | 110 | continue; | |
else | else | |||
65 | throw new IOException("unexpected end of stream"); | 111 | throw new IOException("unexpected end of stream"); | |
66 | bsLiveShadow--; | 112 | bsLiveShadow--; | |
67 | zvec = (zvec << 1) | ((bsBuffShadow >> bsLiveShadow) & 1); | 113 | zvec = (zvec << 1) | ((bsBuffShadow >> bsLiveShadow) & 1); | |
68 | nextSym = perm_zt[zvec - base_zt[zn]]; | 114 | nextSym = perm_zt[zvec - base_zt[zn]]; |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables nextSym, groupPos, groupNo, minLens_zt, bsLiveShadow, bsBuffShadow, limit_zt, base_zt, perm_zt , while Clone fragment #2 returns variables nextSym, groupPos, groupNo, minLens_zt, bsLiveShadow, bsBuffShadow, limit_zt, base_zt, perm_zt |