| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 24 | 2 | 5 | 0.979 | switch_group |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 24 | 241 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.java |
| 2 | 24 | 265 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.java |
| ||||
case T_int:
// 0 & x
if ((this.left.constant != Constant.NotAConstant) &&
(this.left.constant.typeID() == TypeIds.T_int) &&
(this.left.constant.intValue() == 0)) {
this.right.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream.iconst_0();
}
else {
// x & 0
if ((this.right.constant != Constant.NotAConstant) &&
(this.right.constant.typeID() == TypeIds.T_int) &&
(this.right.constant.intValue() == 0)) {
this.left.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream.iconst_0();
}
else {
this.left.generateCode(currentScope, codeStream, valueRequired);
this.right.generateCode(currentScope, codeStream, valueRequired);
if (valueRequired)
codeStream.iand();
}
}
break;
|
| ||||
case T_long:
// 0 & x
if ((this.left.constant != Constant.NotAConstant) &&
(this.left.constant.typeID() == TypeIds.T_long) &&
(this.left.constant.longValue() == 0L)) {
this.right.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream.lconst_0();
}
else {
// x & 0
if ((this.right.constant != Constant.NotAConstant) &&
(this.right.constant.typeID() == TypeIds.T_long) &&
(this.right.constant.longValue() == 0L)) {
this.left.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream.lconst_0();
}
else {
this.left.generateCode(currentScope, codeStream, valueRequired);
this.right.generateCode(currentScope, codeStream, valueRequired);
if (valueRequired)
codeStream.land();
}
}
break;
|
| |||
case [[#variableb1a1f1a0]]:
// 0 & x
if ((this.left.constant != Constant.NotAConstant) && (this.left.constant.typeID() == TypeIds. [[#variableb1a1f1a0]]) && (this.left.constant. [[#variableb1a1f120]]() == [[#variableb1a1f040]])) {
this.right.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream. [[#variableb1f091c0]]();
}
else {
// x & 0
if ((this.right.constant != Constant.NotAConstant) && (this.right.constant.typeID() == TypeIds. [[#variableb1a1f1a0]]) && (this.right.constant. [[#variableb1a1f120]]() == [[#variableb1a1f040]])) {
this.left.generateCode(currentScope, codeStream, false);
if (valueRequired)
codeStream. [[#variableb1f091c0]]();
}
else {
this.left.generateCode(currentScope, codeStream, valueRequired);
this.right.generateCode(currentScope, codeStream, valueRequired);
if (valueRequired)
codeStream. [[#variableb1a1f0e0]]();
}
}
break;
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#b1a1f1a0]] | T_int |
| 1 | 2 | [[#b1a1f1a0]] | T_long |
| 2 | 1 | [[#b1a1f120]] | intValue |
| 2 | 2 | [[#b1a1f120]] | longValue |
| 3 | 1 | [[#b1a1f040]] | 0 |
| 3 | 2 | [[#b1a1f040]] | 0L |
| 4 | 1 | [[#b1f091c0]] | iconst_0 |
| 4 | 2 | [[#b1f091c0]] | lconst_0 |
| 5 | 1 | [[#b1a1f0e0]] | iand |
| 5 | 2 | [[#b1a1f0e0]] | land |