| Previous CloneSet | Next CloneSet | Back to Main Report |
| Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
|---|---|---|---|---|
| 23 | 2 | 4 | 0.951 | statement_sequence[6] |
| Clone Abstraction | Parameter Bindings |
| Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
|---|---|---|---|
| 1 | 23 | 160 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.java |
| 2 | 21 | 130 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java |
| ||||
TypeBinding[] argTypes = new TypeBinding[argLength];
boolean argHasError = false;
for (int j = 0; j < argLength; j++) {
TypeReference arg = args[j];
TypeBinding argType = isClassScope ?
arg.resolveTypeArgument((ClassScope) scope, currentType, j):
arg.resolveTypeArgument((BlockScope) scope, currentType, j);
if (argType == null) {
argHasError = true;
}
else {
argTypes[j] = argType;
}
}
if (argHasError) {
return null;
}
if (isClassScope) {
((ClassScope) scope).superTypeReference = keep;
if (((ClassScope) scope).detectHierarchyCycle(currentType, this, argTypes))
return null;
}
TypeVariableBinding[] typeVariables = currentType.typeVariables();
|
| ||||
TypeBinding[] argTypes = new TypeBinding[argLength];
boolean argHasError = false;
for (int i = 0; i < argLength; i++) {
TypeReference typeArgument = this.typeArguments[i];
TypeBinding argType = isClassScope ?
typeArgument.resolveTypeArgument((ClassScope) scope, currentType, i):
typeArgument.resolveTypeArgument((BlockScope) scope, currentType, i);
if (argType == null) {
argHasError = true;
}
else {
argTypes[i] = argType;
}
}
if (argHasError) return null;
if (isClassScope) {
((ClassScope) scope).superTypeReference = keep;
if (((ClassScope) scope).detectHierarchyCycle(currentType, this, argTypes))
return null;
}
TypeVariableBinding[] typeVariables = currentType.typeVariables();
|
| |||
TypeBinding[] argTypes = new TypeBinding[argLength];
boolean argHasError = false;
for (int [[#variableb1a1f420]]= 0; [[#variableb1a1f420]] < argLength; [[#variableb1a1f420]]++) {
TypeReference [[#variable761b17a0]]= [[#variablec30d6de0]][ [[#variableb1a1f420]]];
TypeBinding argType = isClassScope ? [[#variable761b17a0]].resolveTypeArgument((ClassScope) scope, currentType, [[#variableb1a1f420]]): [[#variable761b17a0]].resolveTypeArgument((BlockScope) scope, currentType, [[#variableb1a1f420]]);
if (argType == null) {
argHasError = true;
}
else {
argTypes[ [[#variableb1a1f420]]] = argType;
}
}
if (argHasError)
[[#variable9eeb77e0]]
if (isClassScope) {
((ClassScope) scope).superTypeReference = keep;
if (((ClassScope) scope).detectHierarchyCycle(currentType, this, argTypes))
return null;
}
TypeVariableBinding[] typeVariables = currentType.typeVariables();
|
| CloneAbstraction |
| Parameter Index | Clone Instance | Parameter Name | Value |
|---|---|---|---|
| 1 | 1 | [[#b1a1f420]] | j |
| 1 | 2 | [[#b1a1f420]] | i |
| 2 | 1 | [[#761b17a0]] | arg |
| 2 | 2 | [[#761b17a0]] | typeArgument |
| 3 | 1 | [[#c30d6de0]] | args |
| 3 | 2 | [[#c30d6de0]] | this.typeArguments |
| 4 | 1 | [[#9eeb77e0]] | {
return null;
} |
| 4 | 2 | [[#9eeb77e0]] | return null; |