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; |