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