Previous CloneSet | Next CloneSet | Back to Main Report |
Clone Mass | Clones in CloneSet | Parameter Count | Clone Similarity | Syntax Category [Sequence Length] |
---|---|---|---|---|
24 | 2 | 0 | 1.000 | statement_sequence[5] |
Clone Abstraction | Parameter Bindings |
Clone Instance (Click to see clone) | Line Count | Source Line | Source File |
---|---|---|---|
1 | 24 | 445 | plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java |
2 | 24 | 329 | plugins/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java |
| ||||
checkInvocationArguments(scope, this.receiver, actualReceiverType, binding, this.arguments, argumentTypes, argsContainCast, this ); //-------message send that are known to fail at compile time----------- if (binding.isAbstract()) { if (receiver.isSuper()) { scope.problemReporter().cannotDireclyInvokeAbstractMethod(this, binding); } // abstract private methods cannot occur nor abstract static............ } if (isMethodUseDeprecated(binding, scope, true)) scope.problemReporter().deprecatedMethod(binding, this ); // from 1.5 compliance on, array#clone() returns the array type (but binding still shows Object) if (actualReceiverType.isArrayType() && this.binding.parameters == Binding.NO_PARAMETERS && scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5 && CharOperation.equals(this.binding.selector, CLONE)) { this.resolvedType = actualReceiverType; } else { TypeBinding returnType = this.binding.returnType; if (returnType != null) returnType = returnType.capture(scope, this.sourceEnd); this.resolvedType = returnType; } return this.resolvedType; |
| ||||
checkInvocationArguments(scope, this.receiver, actualReceiverType, binding, this.arguments, argumentTypes, argsContainCast, this ); //-------message send that are known to fail at compile time----------- if (binding.isAbstract()) { if (receiver.isSuper()) { scope.problemReporter().cannotDireclyInvokeAbstractMethod(this, binding); } // abstract private methods cannot occur nor abstract static............ } if (isMethodUseDeprecated(binding, scope, true)) scope.problemReporter().deprecatedMethod(binding, this ); // from 1.5 compliance on, array#clone() returns the array type (but binding still shows Object) if (actualReceiverType.isArrayType() && this.binding.parameters == Binding.NO_PARAMETERS && scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5 && CharOperation.equals(this.binding.selector, CLONE)) { this.resolvedType = actualReceiverType; } else { TypeBinding returnType = this.binding.returnType; if (returnType != null) returnType = returnType.capture(scope, this.sourceEnd); this.resolvedType = returnType; } return this.resolvedType; |
| |||
checkInvocationArguments(scope, this.receiver, actualReceiverType, binding, this.arguments, argumentTypes, argsContainCast, this ); //-------message send that are known to fail at compile time----------- if (binding.isAbstract()) { if (receiver.isSuper()) { scope.problemReporter().cannotDireclyInvokeAbstractMethod(this, binding); } // abstract private methods cannot occur nor abstract static............ } if (isMethodUseDeprecated(binding, scope, true)) scope.problemReporter().deprecatedMethod(binding, this ); // from 1.5 compliance on, array#clone() returns the array type (but binding still shows Object) if (actualReceiverType.isArrayType() && this.binding.parameters == Binding.NO_PARAMETERS && scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5 && CharOperation.equals(this.binding.selector, CLONE)) { this.resolvedType = actualReceiverType; } else { TypeBinding returnType = this.binding.returnType; if (returnType != null) returnType = returnType.capture(scope, this.sourceEnd); this.resolvedType = returnType; } return this.resolvedType; |
CloneAbstraction |
Parameter Index | Clone Instance | Parameter Name | Value |
---|---|---|---|
None |