CloneSet86


Previous CloneSetNext CloneSetBack to Main Report
Clone
Mass
Clones in
CloneSet
Parameter
Count
Clone
Similarity
Syntax Category
[Sequence Length]
36430.997class_body_declaration
Clone AbstractionParameter Bindings
Clone Instance
(Click to see clone)
Line CountSource Line
Source File
136117
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java
236158
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java
336200
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java
436241
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java
Clone Instance
1
Line Count
36
Source Line
117
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java

public void markAsComparedEqualToNonNull(LocalVariableBinding local) {
        // protected from non-object locals in calling methods
        if (this != DEAD_END) {
        this.tagBits |= NULL_FLAG_MASK;
        int position;
        // position is zero-based
        if ((position = local.id + this.maxFieldCount) < BitCacheSize) { // use bits
                // set protected non null
                this.nullBit1 |= (1L << position);
                if (coverageTestFlag && coverageTestId == 290) {
                        this.nullBit1 = 0;
                }
        }
        else {
                // use extra vector
                        int vectorIndex = (position / BitCacheSize) - 1;
                        if (this.extra == null) {
                                int length = vectorIndex + 1;
                                this.extra = new long[extraLength][];
                                for (int j = 2; j < extraLength; j++) {
                                        this.extra[j] = new long[length];
                                }
                        }
                        else {
                                int oldLength; // might need to grow the arrays
                                if (vectorIndex >= (oldLength = this.extra[2].length)) {
                                        for (int j = 2; j < extraLength; j++) {
                                                System.arraycopy(this.extra[j], 0, 
                                                        (this.extra[j] = new long[vectorIndex + 1]), 0, 
                                                        oldLength);
                                        }
                                }
                        }
                this.extra[2][vectorIndex] |= (1L << (position % BitCacheSize));
                if (coverageTestFlag && coverageTestId == 300) {
                        this.extra[5][vectorIndex] = ~0;
                }
        }
        }
}


Clone Instance
2
Line Count
36
Source Line
158
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java

public void markAsDefinitelyNonNull(LocalVariableBinding local) {
        // protected from non-object locals in calling methods
        if (this != DEAD_END) {
        this.tagBits |= NULL_FLAG_MASK;
        int position;
        // position is zero-based
        if ((position = local.id + this.maxFieldCount) < BitCacheSize) { // use bits
                // set assigned non null
                this.nullBit3 |= (1L << position);
                if (coverageTestFlag && coverageTestId == 290) {
                        this.nullBit1 = 0;
                }
        }
        else {
                // use extra vector
                        int vectorIndex = (position / BitCacheSize) - 1;
                        if (this.extra == null) {
                                int length = vectorIndex + 1;
                                this.extra = new long[extraLength][];
                                for (int j = 2; j < extraLength; j++) {
                                        this.extra[j] = new long[length];
                                }
                        }
                        else {
                                int oldLength; // might need to grow the arrays
                                if (vectorIndex >= (oldLength = this.extra[2].length)) {
                                        for (int j = 2; j < extraLength; j++) {
                                                System.arraycopy(this.extra[j], 0, 
                                                        (this.extra[j] = new long[vectorIndex + 1]), 0, 
                                                        oldLength);
                                        }
                                }
                        }
                this.extra[4][vectorIndex] |= (1L << (position % BitCacheSize));
                if (coverageTestFlag && coverageTestId == 300) {
                        this.extra[5][vectorIndex] = ~0;
                }
        }
        }
}


Clone Instance
3
Line Count
36
Source Line
200
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java

// PREMATURE consider ignoring extra 0 to 2 included - means a1 should not be used either
// PREMATURE project protected non null onto something else
public void markAsDefinitelyNull(LocalVariableBinding local) {
        // protected from non-object locals in calling methods
        if (this != DEAD_END) {
        this.tagBits |= NULL_FLAG_MASK;
        int position;
        // position is zero-based
        if ((position = local.id + this.maxFieldCount) < BitCacheSize) { // use bits
                // set assigned null
                this.nullBit2 |= (1L << position);
                if (coverageTestFlag && coverageTestId == 290) {
                        this.nullBit1 = 0;
                }
        }
        else {
                // use extra vector
                        int vectorIndex = (position / BitCacheSize) - 1;
                        if (this.extra == null) {
                                int length = vectorIndex + 1;
                                this.extra = new long[extraLength][];
                                for (int j = 2; j < extraLength; j++) {
                                        this.extra[j] = new long[length];
                                }
                        }
                        else {
                                int oldLength; // might need to grow the arrays
                                if (vectorIndex >= (oldLength = this.extra[2].length)) {
                                        for (int j = 2; j < extraLength; j++) {
                                                System.arraycopy(this.extra[j], 0, 
                                                        (this.extra[j] = new long[vectorIndex + 1]), 0, 
                                                        oldLength);
                                        }
                                }
                        }
                this.extra[3][vectorIndex] |= (1L << (position % BitCacheSize));
                if (coverageTestFlag && coverageTestId == 300) {
                        this.extra[5][vectorIndex] = ~0;
                }
        }
        }
}


Clone Instance
4
Line Count
36
Source Line
241
Source File
plugins/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/NullInfoRegistry.java

public void markAsDefinitelyUnknown(LocalVariableBinding local) {
        // protected from non-object locals in calling methods
        if (this != DEAD_END) {
        this.tagBits |= NULL_FLAG_MASK;
        int position;
        // position is zero-based
        if ((position = local.id + this.maxFieldCount) < BitCacheSize) { // use bits
                // set assigned unknown
                this.nullBit4 |= (1L << position);
                if (coverageTestFlag && coverageTestId == 290) {
                        this.nullBit1 = 0;
                }
        }
        else {
                // use extra vector
                        int vectorIndex = (position / BitCacheSize) - 1;
                        if (this.extra == null) {
                                int length = vectorIndex + 1;
                                this.extra = new long[extraLength][];
                                for (int j = 2; j < extraLength; j++) {
                                        this.extra[j] = new long[length];
                                }
                        }
                        else {
                                int oldLength; // might need to grow the arrays
                                if (vectorIndex >= (oldLength = this.extra[2].length)) {
                                        for (int j = 2; j < extraLength; j++) {
                                                System.arraycopy(this.extra[j], 0, 
                                                        (this.extra[j] = new long[vectorIndex + 1]), 0, 
                                                        oldLength);
                                        }
                                }
                        }
                this.extra[5][vectorIndex] |= (1L << (position % BitCacheSize));
                if (coverageTestFlag && coverageTestId == 300) {
                        this.extra[5][vectorIndex] = ~0;
                }
        }
        }
}


Clone AbstractionParameter Count: 3Parameter Bindings

// PREMATURE consider ignoring extra 0 to 2 included - means a1 should not be used either
// PREMATURE project protected non null onto something else
public void [[#variableb5fe8140]](LocalVariableBinding local) {
  // protected from non-object locals in calling methods
  if (this != DEAD_END) {
    this.tagBits |= NULL_FLAG_MASK;
    int position;
    // position is zero-based
    if ((position = local.id + this.maxFieldCount) < BitCacheSize) { // use bits
      // set protected non null
      // set assigned non null
      // set assigned null
      // set assigned unknown
      this. [[#variableb5fe9a60]]|= (1L << position);
      if (coverageTestFlag && coverageTestId == 290) {
        this.nullBit1 = 0;
      }
    }
    else {
      // use extra vector
      int vectorIndex = (position / BitCacheSize) - 1;
      if (this.extra == null) {
        int length = vectorIndex + 1;
        this.extra = new long[extraLength][];
        for (int j = 2; j < extraLength; j++) {
          this.extra[j] = new long[length];
        }
      }
      else {
        int oldLength; // might need to grow the arrays
        if (vectorIndex >= (oldLength = this.extra[2].length)) {
          for (int j = 2; j < extraLength; j++) {
            System.arraycopy(this.extra[j], 0, (this.extra[j] = new long[vectorIndex + 1]), 0, oldLength);
          }
        }
      }
      this.extra[ [[#variableb5fe8120]]][vectorIndex] |= (1L << (position % BitCacheSize));
      if (coverageTestFlag && coverageTestId == 300) {
        this.extra[5][vectorIndex] = ~0;
      }
    }
  }
}
 

CloneAbstraction
Parameter Bindings
Parameter
Index
Clone
Instance
Parameter
Name
Value
11[[#b5fe8140]]
markAsComparedEqualToNonNull 
12[[#b5fe8140]]
markAsDefinitelyNonNull 
13[[#b5fe8140]]
markAsDefinitelyNull 
14[[#b5fe8140]]
markAsDefinitelyUnknown 
21[[#b5fe9a60]]
nullBit1 
22[[#b5fe9a60]]
nullBit3 
23[[#b5fe9a60]]
nullBit2 
24[[#b5fe9a60]]
nullBit4 
31[[#b5fe8120]]
2 
32[[#b5fe8120]]
4 
33[[#b5fe8120]]
3 
34[[#b5fe8120]]
5