| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 38 | 2 | 1 | 0.999 | statement_sequence[8] |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 38 | 1767 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java |
| 2 | 38 | 1821 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java |
| ||||
int paramLength = methodBinding.parameters.length;
this.generateInlinedValue(paramLength);
this.newArray(scope.createArrayType(scope.getType(TypeConstants.JAVA_LANG_CLASS, 3), 1));
if (paramLength > 0) {
this.dup();
for (int i = 0; i < paramLength; i++) {
this.generateInlinedValue(i);
TypeBinding parameter = methodBinding.parameters[i];
if (parameter.isBaseType()) {
this.getTYPE(parameter.id);
}
else if (parameter.isArrayType()) {
ArrayBinding array = (ArrayBinding) parameter;
if (array.leafComponentType.isBaseType()) {
this.getTYPE(array.leafComponentType.id);
}
else {
this.ldc(String.valueOf(array.leafComponentType.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
int dimensions = array.dimensions;
this.generateInlinedValue(dimensions);
this.newarray(TypeIds.T_int);
this.invokeArrayNewInstance();
this.invokeObjectGetClass();
}
else {
// parameter is a reference binding
this.ldc(String.valueOf(methodBinding.declaringClass.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
this.aastore();
if (i < paramLength - 1) {
this.dup();
}
}
}
this.invokeClassGetDeclaredConstructor();
this.dup();
this.iconst_1();
this.invokeAccessibleObjectSetAccessible();
|
| ||||
int paramLength = methodBinding.parameters.length;
this.generateInlinedValue(paramLength);
this.newArray(scope.createArrayType(scope.getType(TypeConstants.JAVA_LANG_CLASS, 3), 1));
if (paramLength > 0) {
this.dup();
for (int i = 0; i < paramLength; i++) {
this.generateInlinedValue(i);
TypeBinding parameter = methodBinding.parameters[i];
if (parameter.isBaseType()) {
this.getTYPE(parameter.id);
}
else if (parameter.isArrayType()) {
ArrayBinding array = (ArrayBinding) parameter;
if (array.leafComponentType.isBaseType()) {
this.getTYPE(array.leafComponentType.id);
}
else {
this.ldc(String.valueOf(array.leafComponentType.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
int dimensions = array.dimensions;
this.generateInlinedValue(dimensions);
this.newarray(TypeIds.T_int);
this.invokeArrayNewInstance();
this.invokeObjectGetClass();
}
else {
// parameter is a reference binding
this.ldc(String.valueOf(methodBinding.declaringClass.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
this.aastore();
if (i < paramLength - 1) {
this.dup();
}
}
}
this.invokeClassGetDeclaredMethod();
this.dup();
this.iconst_1();
this.invokeAccessibleObjectSetAccessible();
|
| |||
int paramLength = methodBinding.parameters.length;
this.generateInlinedValue(paramLength);
this.newArray(scope.createArrayType(scope.getType(TypeConstants.JAVA_LANG_CLASS, 3), 1));
if (paramLength > 0) {
this.dup();
for (int i = 0; i < paramLength; i++) {
this.generateInlinedValue(i);
TypeBinding parameter = methodBinding.parameters[i];
if (parameter.isBaseType()) {
this.getTYPE(parameter.id);
}
else
if (parameter.isArrayType()) {
ArrayBinding array = (ArrayBinding) parameter;
if (array.leafComponentType.isBaseType()) {
this.getTYPE(array.leafComponentType.id);
}
else {
this.ldc(String.valueOf(array.leafComponentType.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
int dimensions = array.dimensions;
this.generateInlinedValue(dimensions);
this.newarray(TypeIds.T_int);
this.invokeArrayNewInstance();
this.invokeObjectGetClass();
}
else {
// parameter is a reference binding
this.ldc(String.valueOf(methodBinding.declaringClass.constantPoolName()).replace('/', '.'));
this.invokeClassForName();
}
this.aastore();
if (i < paramLength - 1) {
this.dup();
}
}
}
this. [[#variableb61b9180]]();
this.dup();
this.iconst_1();
this.invokeAccessibleObjectSetAccessible();
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#b61b9180]] | invokeClassGetDeclaredMethod |
| 1 | 2 | [[#b61b9180]] | invokeClassGetDeclaredConstructor |