CloneSet584


Previous CloneSetNext CloneSetBack to Main Report
Clone
Mass
Clones in
CloneSet
Parameter
Count
Clone
Similarity
Syntax Category
[Sequence Length]
24201.000statement_sequence[5]
Clone AbstractionParameter Bindings
Clone Instance
(Click to see clone)
Line CountSource Line
Source File
124445
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java
224329
plugins/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java
Clone Instance
1
Line Count
24
Source Line
445
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.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;


Clone Instance
2
Line Count
24
Source Line
329
Source File
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;


Clone AbstractionParameter Count: 0Parameter Bindings

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 Bindings
Parameter
Index
Clone
Instance
Parameter
Name
Value
None