CloneSet1628


Previous CloneSetNext CloneSetBack to Main Report
Clone
Mass
Clones in
CloneSet
Parameter
Count
Clone
Similarity
Syntax Category
[Sequence Length]
8210.961executable_statement
Clone AbstractionParameter Bindings
Clone Instance
(Click to see clone)
Line CountSource Line
Source File
110401
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
28413
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
Clone Instance
1
Line Count
10
Source Line
401
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java

                                                                                                {
                                        TypeBinding substitutedBound = Scope.substitute(this, originalVariable.superclass);
                                        argument.collectSubstitutes(scope, substitutedBound, collectedSubstitutes, CONSTRAINT_SUPER);
                                        if (collectedSubstitutes.get(TypeBinding.VOID) != null) return null; // impossible substitution
                                        // JLS 15.12.2.8 claims reverse inference shouldn't occur, however it improves inference
                                        // e.g. given: <E extends Object, S extends Collection<E>> S test1(S param)
                                        //                   invocation: test1(new Vector<String>())    will infer: S=Vector<String>  and with code below: E=String
                                        if (argAlreadyInferred) {
                                                substitutedBound.collectSubstitutes(scope, argument, collectedSubstitutes, CONSTRAINT_EXTENDS);
                                                if (collectedSubstitutes.get(TypeBinding.VOID) != null) return null; // impossible substitution
                                        }
                                                                                                }


Clone Instance
2
Line Count
8
Source Line
413
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java

                                                                                                             {
                                        TypeBinding substitutedBound = Scope.substitute(this, originalVariable.superInterfaces[j]);
                                        argument.collectSubstitutes(scope, substitutedBound, collectedSubstitutes, CONSTRAINT_SUPER);
                                        if (collectedSubstitutes.get(TypeBinding.VOID) != null) return null; // impossible substitution
                                        // JLS 15.12.2.8 claims reverse inference shouldn't occur, however it improves inference
                                        if (argAlreadyInferred) {
                                                substitutedBound.collectSubstitutes(scope, argument, collectedSubstitutes, CONSTRAINT_EXTENDS);
                                                if (collectedSubstitutes.get(TypeBinding.VOID) != null) return null; // impossible substitution
                                        }
                                                                                                             }


Clone AbstractionParameter Count: 1Parameter Bindings

{
  TypeBinding substitutedBound = Scope.substitute(this,  [[#variablec1c06bc0]]);
  argument.collectSubstitutes(scope, substitutedBound, collectedSubstitutes, CONSTRAINT_SUPER);
  if (collectedSubstitutes.get(TypeBinding.VOID) != null)
    return null; // impossible substitution
  // JLS 15.12.2.8 claims reverse inference shouldn't occur, however it improves inference
  // e.g. given: <E extends Object, S extends Collection<E>> S test1(S param)
  //                   invocation: test1(new Vector<String>())    will infer: S=Vector<String>  and with code below: E=String
  if (argAlreadyInferred) {
    substitutedBound.collectSubstitutes(scope, argument, collectedSubstitutes, CONSTRAINT_EXTENDS);
    if (collectedSubstitutes.get(TypeBinding.VOID) != null)
      return null; // impossible substitution
  }
}
 

CloneAbstraction
Parameter Bindings
Parameter
Index
Clone
Instance
Parameter
Name
Value
11[[#c1c06bc0]]
originalVariable.superInterfaces[j] 
12[[#c1c06bc0]]
originalVariable.superclass