Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
29 | 2 | 3 | 0.963 | statement_sequence[7] |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 31 | 884 | plugins/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java |
2 | 29 | 8217 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java |
| ||||
TypeReference[][] typeArguments = new TypeReference[numberOfIdentifiers][]; char[][] tokens = new char[numberOfIdentifiers][]; long[] positions = new long[numberOfIdentifiers]; int index = numberOfIdentifiers; int currentIdentifiersLength = identifierLength; while (index > 0) { int currentTypeArgumentsLength = this.genericsLengthStack[this.genericsLengthPtr-- ]; if (currentTypeArgumentsLength != 0) { this.genericsPtr -= currentTypeArgumentsLength; System.arraycopy(this.genericsStack, this.genericsPtr + 1, typeArguments[index - 1] = new TypeReference[currentTypeArgumentsLength], 0, currentTypeArgumentsLength); } switch (currentIdentifiersLength) { case 1: // we are in a case A<B>.C<D> or A<B>.C<D> tokens[index - 1] = this.identifierStack[this.identifierPtr]; positions[index - 1] = this.identifierPositionStack[this.identifierPtr-- ]; break; default: // we are in a case A.B.C<B>.C<D> or A.B.C<B>... this.identifierPtr -= currentIdentifiersLength; System.arraycopy(this.identifierStack, this.identifierPtr + 1, tokens, index - currentIdentifiersLength, currentIdentifiersLength); System.arraycopy(this.identifierPositionStack, this.identifierPtr + 1, positions, index - currentIdentifiersLength, currentIdentifiersLength); } index -= currentIdentifiersLength; if (index > 0) { currentIdentifiersLength = this.identifierLengthStack[this.identifierLengthPtr-- ]; } } // remove completion token int realLength = numberOfIdentifiers; |
| ||||
TypeReference[][] typeArguments = new TypeReference[numberOfIdentifiers][]; char[][] tokens = new char[numberOfIdentifiers][]; long[] positions = new long[numberOfIdentifiers]; int index = numberOfIdentifiers; int currentIdentifiersLength = identifierLength; while (index > 0) { int currentTypeArgumentsLength = this.genericsLengthStack[this.genericsLengthPtr-- ]; if (currentTypeArgumentsLength != 0) { this.genericsPtr -= currentTypeArgumentsLength; System.arraycopy(this.genericsStack, this.genericsPtr + 1, typeArguments[index - 1] = new TypeReference[currentTypeArgumentsLength], 0, currentTypeArgumentsLength); } switch (currentIdentifiersLength) { case 1: // we are in a case A<B>.C<D> or A<B>.C<D> tokens[index - 1] = this.identifierStack[this.identifierPtr]; positions[index - 1] = this.identifierPositionStack[this.identifierPtr-- ]; break; default: // we are in a case A.B.C<B>.C<D> or A.B.C<B>... this.identifierPtr -= currentIdentifiersLength; System.arraycopy(this.identifierStack, this.identifierPtr + 1, tokens, index - currentIdentifiersLength, currentIdentifiersLength); System.arraycopy(this.identifierPositionStack, this.identifierPtr + 1, positions, index - currentIdentifiersLength, currentIdentifiersLength); } index -= currentIdentifiersLength; if (index > 0) { currentIdentifiersLength = this.identifierLengthStack[this.identifierLengthPtr-- ]; } } ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference = new ParameterizedQualifiedTypeReference(tokens, typeArguments, dim, positions); |
| |||
TypeReference[][] typeArguments = new TypeReference[numberOfIdentifiers][]; char[][] tokens = new char[numberOfIdentifiers][]; long[] positions = new long[numberOfIdentifiers]; int index = numberOfIdentifiers; int currentIdentifiersLength = identifierLength; while (index > 0) { int currentTypeArgumentsLength = this.genericsLengthStack[this.genericsLengthPtr-- ]; if (currentTypeArgumentsLength != 0) { this.genericsPtr -= currentTypeArgumentsLength; System.arraycopy(this.genericsStack, this.genericsPtr + 1, typeArguments[index - 1] = new TypeReference[currentTypeArgumentsLength], 0, currentTypeArgumentsLength); } switch (currentIdentifiersLength) { case 1: // we are in a case A<B>.C<D> or A<B>.C<D> tokens[index - 1] = this.identifierStack[this.identifierPtr]; positions[index - 1] = this.identifierPositionStack[this.identifierPtr-- ]; break; default: // we are in a case A.B.C<B>.C<D> or A.B.C<B>... this.identifierPtr -= currentIdentifiersLength; System.arraycopy(this.identifierStack, this.identifierPtr + 1, tokens, index - currentIdentifiersLength, currentIdentifiersLength); System.arraycopy(this.identifierPositionStack, this.identifierPtr + 1, positions, index - currentIdentifiersLength, currentIdentifiersLength); } index -= currentIdentifiersLength; if (index > 0) { currentIdentifiersLength = this.identifierLengthStack[this.identifierLengthPtr-- ]; } } [[#variable5a1c1ce0]] [[#variableb9b28540]]= [[#variableb9c63aa0]]; |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
1 | 1 | [[#5a1c1ce0]] | ParameterizedQualifiedTypeReference |
1 | 2 | [[#5a1c1ce0]] | // remove completion token int |
2 | 1 | [[#b9b28540]] | parameterizedQualifiedTypeReference |
2 | 2 | [[#b9b28540]] | realLength |
3 | 1 | [[#b9c63aa0]] | new ParameterizedQualifiedTypeReference(tokens, typeArguments, dim, positions) |
3 | 2 | [[#b9c63aa0]] | numberOfIdentifiers |