while( zvec > m_limit[ zt ][ zn ] )
{
zn++;
while( m_bsLive < 1 )
{
int zzi;
char thech = 0;
try
{
thech = (char)m_input.read();
}
catch( IOException e )
{
compressedStreamEOF();
}
if( thech == -1 )
{
compressedStreamEOF();
}
zzi = thech;
m_bsBuff = ( m_bsBuff << 8 ) | ( zzi & 0xff );
m_bsLive += 8;
}
zj = ( m_bsBuff >> ( m_bsLive - 1 ) ) & 1;
m_bsLive--;
zvec = ( zvec << 1 ) | zj;
}
while( zvec > m_limit[ zt ][ zn ] )
{
zn++;
while( m_bsLive < 1 )
{
int zzi;
char thech = 0;
try
{
thech = (char)m_input.read();
}
catch( IOException e )
{
compressedStreamEOF();
}
if( thech == -1 )
{
compressedStreamEOF();
}
zzi = thech;
m_bsBuff = ( m_bsBuff << 8 ) | ( zzi & 0xff );
m_bsLive += 8;
}
zj = ( m_bsBuff >> ( m_bsLive - 1 ) ) & 1;
m_bsLive--;
zvec = ( zvec << 1 ) | zj;
}
Clone fragments detected by clone detection tool
File path: /jEdit-4.2/src/installer/CBZip2InputStream.java
|
|
File path: /jEdit-4.2/src/installer/CBZip2InputStream.java
|
Method name: void getAndMoveToFrontDecode()
|
|
Method name: void getAndMoveToFrontDecode()
|
Number of AST nodes: 15
|
|
Number of AST nodes: 15
|
|
1 | while( zvec > m_limit[ zt ][ zn ] )↵ | | 1 | while( zvec > m_limit[ zt ][ zn ] )↵
|
2 | {↵ | | 2 | ↵
|
| | | 3 | {↵
|
3 | zn++;↵ | | 4 | zn++;↵
|
|
4 | while( m_bsLive < 1 )↵ | | 5 | while( m_bsLive < 1 )↵
|
5 | {↵ | | 6 | ↵
|
| | | 7 | {↵
|
6 | int zzi;↵ | | 8 | int zzi;↵
|
7 | char thech = 0;↵ | | 9 | char thech = 0;↵
|
8 | try↵ | | 10 | ↵
|
| | | 11 | try↵
|
9 | {↵ | | 12 | ↵
|
| | | 13 | {↵
|
10 | thech = (char)m_input.read();↵ | | 14 | thech = (char)m_input.read();↵
|
11 | }↵ | | 15 | ↵
|
| | | 16 | }↵
|
12 | catch( IOException e )↵ | | 17 | catch( IOException e )↵
|
13 | {↵ | | 18 | ↵
|
| | | 19 | {↵
|
14 | compressedStreamEOF();↵ | | 20 | compressedStreamEOF();↵
|
15 | }↵ | | 21 | ↵
|
| | | 22 | }↵
|
16 | if( thech == -1 )↵ | | 23 | if( thech == -1 )↵
|
17 | {↵ | | 24 | ↵
|
| | | 25 | {↵
|
18 | compressedStreamEOF();↵ | | 26 | compressedStreamEOF();↵
|
19 | }↵ | | 27 | }↵
|
20 | zzi = thech;↵ | | 28 | zzi = thech;↵
|
21 | m_bsBuff = ( m_bsBuff << 8 ) | ( zzi & 0xff );↵ | | 29 | m_bsBuff = ( m_bsBuff << 8 ) | ( zzi & 0xff );↵
|
22 | m_bsLive += 8;↵ | | 30 | m_bsLive += 8;↵
|
23 | }↵ | | 31 | ↵
|
|
| | | 32 | }↵
|
|
24 | zj = ( m_bsBuff >> ( m_bsLive - 1 ) ) & 1;↵ | | 33 | zj = ( m_bsBuff >> ( m_bsLive - 1 ) ) & 1;↵
|
25 | m_bsLive--;↵ | | 34 | ↵
|
|
| | | 35 | m_bsLive--;↵
|
26 | zvec = ( zvec << 1 ) | zj;↵ | | 36 | zvec = ( zvec << 1 ) | zj;↵
|
27 | } | | 37 | }
|
See real code fragment |
|
See real code fragment |
Summary
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.6 |
Clones location | Clones are in the same method |
Number of node comparisons | 81 |
-
{Non-refactorable}
Mapping Summary
Number of mapped statements | 15 |
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) | 7.4 |
Clone type | Type 1 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
23 | while (zvec > m_limit[zt][zn]) | | 57 | while (zvec > m_limit[zt][zn]) |
24 | | | 58 | |
25 | | | 59 | |
26 | | | 60 | |
27 | | | 61 | |
28 | | | 62 | |
29 | thech = (char)m_input.read(); | | 63 | thech = (char)m_input.read(); |
30 | | | 64 | |
31 | | | 65 | |
32 | | | 66 | |
33 | m_bsBuff = (m_bsBuff << 8) | (zzi & 0xff); | | 67 | m_bsBuff = (m_bsBuff << 8) | (zzi & 0xff); |
34 | | | 68 | |
35 | zj = (m_bsBuff >> (m_bsLive - 1)) & 1; | | 69 | zj = (m_bsBuff >> (m_bsLive - 1)) & 1; |
36 | | | 70 | |
37 | | | 71 | |
Precondition Violations (1)
Row |
Violation |
1 | Clone fragment #1 returns variables zn, zvec , while Clone fragment #2 returns variables zn, zvec |