| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 23 | 2 | 5 | 0.992 | class_body_declaration |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 23 | 738 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java |
| 2 | 23 | 763 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java |
| ||||
final public boolean isPotentiallyNonNull(LocalVariableBinding local) {
if ((this.tagBits& NULL_FLAG_MASK) == 0 ||
(local.type.tagBits& TagBits.IsBaseType) != 0) {
return false;
}
int position;
if ((position = local.id + this.maxFieldCount) < BitCacheSize) {
// use bits
return ((this.nullBit3& ( ~this.nullBit1| ~this.nullBit2))&
(1L << position)) != 0;
}
// use extra vector
if (this.extra == null) {
return false; // if vector not yet allocated, then not initialized
}
int vectorIndex;
if ((vectorIndex = (position / BitCacheSize) - 1) >=
this.extra[0].length) {
return false; // if not enough room in vector, then not initialized
}
return ((this.extra[4][vectorIndex]&
( ~this.extra[2][vectorIndex]| ~this.extra[3][vectorIndex]))&
(1L << (position % BitCacheSize))) != 0;
}
|
| ||||
final public boolean isPotentiallyNull(LocalVariableBinding local) {
if ((this.tagBits& NULL_FLAG_MASK) == 0 ||
(local.type.tagBits& TagBits.IsBaseType) != 0) {
return false;
}
int position;
if ((position = local.id + this.maxFieldCount) < BitCacheSize) {
// use bits
return ((this.nullBit2& ( ~this.nullBit1| ~this.nullBit3))&
(1L << position)) != 0;
}
// use extra vector
if (this.extra == null) {
return false; // if vector not yet allocated, then not initialized
}
int vectorIndex;
if ((vectorIndex = (position / BitCacheSize) - 1) >=
this.extra[0].length) {
return false; // if not enough room in vector, then not initialized
}
return ((this.extra[3][vectorIndex]&
( ~this.extra[2][vectorIndex]| ~this.extra[4][vectorIndex]))&
(1L << (position % BitCacheSize))) != 0;
}
|
| |||
final public boolean [[#variable5e6b9a80]](LocalVariableBinding local) {
if ((this.tagBits&NULL_FLAG_MASK) == 0 || (local.type.tagBits&TagBits.IsBaseType) != 0) {
return false;
}
int position;
if ((position = local.id + this.maxFieldCount) < BitCacheSize) {
// use bits
return ((this. [[#variable5e6b9a20]]&( ~this.nullBit1| ~this. [[#variable5e6b99c0]]))&(1L << position)) != 0;
}
// use extra vector
if (this.extra == null) {
return false; // if vector not yet allocated, then not initialized
}
int vectorIndex;
if ((vectorIndex = (position / BitCacheSize) - 1) >= this.extra[0].length) {
return false; // if not enough room in vector, then not initialized
}
return ((this.extra[ [[#variable5e6b9900]]][vectorIndex]&( ~this.extra[2][vectorIndex]| ~this.extra[ [[#variable5e6b9820]]][vectorIndex]))&(1L << (position % BitCacheSize))) != 0;
}
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#5e6b9a80]] | isPotentiallyNonNull |
| 1 | 2 | [[#5e6b9a80]] | isPotentiallyNull |
| 2 | 1 | [[#5e6b9a20]] | nullBit3 |
| 2 | 2 | [[#5e6b9a20]] | nullBit2 |
| 3 | 1 | [[#5e6b99c0]] | nullBit2 |
| 3 | 2 | [[#5e6b99c0]] | nullBit3 |
| 4 | 1 | [[#5e6b9900]] | 4 |
| 4 | 2 | [[#5e6b9900]] | 3 |
| 5 | 1 | [[#5e6b9820]] | 3 |
| 5 | 2 | [[#5e6b9820]] | 4 |