Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
42 | 2 | 0 | 1.000 | statement_sequence[4] |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 42 | 2704 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
2 | 42 | 3387 | plugins/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java |
| ||||
List arguments = node.arguments(); int argCount = arguments.size(); if (methodBinding.isVarargs() && !(paramCount == argCount && parameterTypes[paramCount - 1].getDimensions() == ((Expression) arguments.get(argCount - 1)).resolveTypeBinding().getDimensions())) { // if this method is a varargs, and if the method is invoked using the varargs syntax // (multiple arguments) and not an array Iterator iterator = arguments.iterator(); // process the first arguments (no part of the var argument) for (int i = 0; i < paramCount - 1; i++) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } // create a array of the remainder arguments ITypeBinding varargsParameterType = parameterTypes[paramCount - 1]; ITypeBinding varargsElementType = varargsParameterType.getElementType(); push(new ArrayInitializerInstruction(getTypeSignature(varargsElementType), argCount - paramCount + 1, varargsParameterType.getDimensions(), fCounter)); while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), varargsElementType); argument.accept(this ); if (storeRequired) { storeInstruction(); } } storeInstruction(); } else { Iterator iterator = arguments.iterator(); int i = 0; while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i++ ]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } } return false; |
| ||||
List arguments = node.arguments(); int argCount = arguments.size(); if (methodBinding.isVarargs() && !(paramCount == argCount && parameterTypes[paramCount - 1].getDimensions() == ((Expression) arguments.get(argCount - 1)).resolveTypeBinding().getDimensions())) { // if this method is a varargs, and if the method is invoked using the varargs syntax // (multiple arguments) and not an array Iterator iterator = arguments.iterator(); // process the first arguments (no part of the var argument) for (int i = 0; i < paramCount - 1; i++) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } // create a array of the remainder arguments ITypeBinding varargsParameterType = parameterTypes[paramCount - 1]; ITypeBinding varargsElementType = varargsParameterType.getElementType(); push(new ArrayInitializerInstruction(getTypeSignature(varargsElementType), argCount - paramCount + 1, varargsParameterType.getDimensions(), fCounter)); while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), varargsElementType); argument.accept(this ); if (storeRequired) { storeInstruction(); } } storeInstruction(); } else { Iterator iterator = arguments.iterator(); int i = 0; while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i++ ]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } } return false; |
| |||
List arguments = node.arguments(); int argCount = arguments.size(); if (methodBinding.isVarargs() && !(paramCount == argCount && parameterTypes[paramCount - 1].getDimensions() == ((Expression) arguments.get(argCount - 1)).resolveTypeBinding().getDimensions())) { // if this method is a varargs, and if the method is invoked using the varargs syntax // (multiple arguments) and not an array Iterator iterator = arguments.iterator(); // process the first arguments (no part of the var argument) for (int i = 0; i < paramCount - 1; i++) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } // create a array of the remainder arguments ITypeBinding varargsParameterType = parameterTypes[paramCount - 1]; ITypeBinding varargsElementType = varargsParameterType.getElementType(); push(new ArrayInitializerInstruction(getTypeSignature(varargsElementType), argCount - paramCount + 1, varargsParameterType.getDimensions(), fCounter)); while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), varargsElementType); argument.accept(this ); if (storeRequired) { storeInstruction(); } } storeInstruction(); } else { Iterator iterator = arguments.iterator(); int i = 0; while (iterator.hasNext()) { Expression argument = (Expression) iterator.next(); boolean storeRequired = checkAutoBoxing(argument.resolveTypeBinding(), parameterTypes[i++ ]); argument.accept(this ); if (storeRequired) { storeInstruction(); } } } return false; |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
None |