int matchesIgnoreCase(CharacterIterator iterator, int start, int limit) { int plength = this.pattern.length; if (plength == 0) return start; int index = start + plength; while (index <= limit) { int pindex = plength; int nindex = index + 1; char ch; do { char ch1 = ch = iterator.setIndex(--index); char ch2 = this.pattern[--pindex]; if (ch1 != ch2) { ch1 = Character.toUpperCase(ch1); ch2 = Character.toUpperCase(ch2); if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2)) break; } if (pindex == 0) return index; } while (pindex > 0); index += this.shiftTable[ch % this.shiftTable.length] + 1; if (index < nindex) index = nindex; } return -1;
int matchesIgnoreCase(char[] chars, int start, int limit) { int plength = this.pattern.length; if (plength == 0) return start; int index = start + plength; while (index <= limit) { int pindex = plength; int nindex = index + 1; char ch; do { char ch1 = ch = chars[--index]; char ch2 = this.pattern[--pindex]; if (ch1 != ch2) { ch1 = Character.toUpperCase(ch1); ch2 = Character.toUpperCase(ch2); if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2)) break; } if (pindex == 0) return index; } while (pindex > 0); index += this.shiftTable[ch % this.shiftTable.length] + 1; if (index < nindex) index = nindex; } return -1;
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xml/type/internal/RegEx.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xml/type/internal/RegEx.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
int matchesIgnoreCase(CharacterIterator iterator, int start, int limit)
1
int matchesIgnoreCase(char[] chars, int start, int limit)
2
    {
2
    {
3
      int plength = this.pattern.length;
3
      int plength = this.pattern.length;
4
      if (plength == 0)
4
      if (plength == 0)
5
        return start;
5
        return start;
6
      int index = start + plength;
6
      int index = start + plength;
7
      while (index <= limit)
7
      while (index <= limit)
8
      {
8
      {
9
        int pindex = plength;
9
        int pindex = plength;
10
        int nindex = index + 1;
10
        int nindex = index + 1;
11
        char ch;
11
        char ch;
12
        do
12
        do
13
        {
13
        {
14
          char ch1 = ch = iterator.setIndex(--index);
14
          char ch1 = ch = chars[--index];
15
          char ch2 = this.pattern[--pindex];
15
          char ch2 = this.pattern[--pindex];
16
          if (ch1 != ch2)
16
          if (ch1 != ch2)
17
          {
17
          {
18
            ch1 = Character.toUpperCase(ch1);
18
            ch1 = Character.toUpperCase(ch1);
19
            ch2 = Character.toUpperCase(ch2);
19
            ch2 = Character.toUpperCase(ch2);
20
            if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2))
20
            if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2))
21
              break;
21
              break;
22
          }
22
          }
23
          if (pindex == 0)
23
          if (pindex == 0)
24
            return index;
24
            return index;
25
        }
25
        }
26
        while (pindex > 0);
26
        while (pindex > 0);
27
        index += this.shiftTable[ch % this.shiftTable.length] + 1;
27
        index += this.shiftTable[ch % this.shiftTable.length] + 1;
28
        if (index < nindex)
28
        if (index < nindex)
29
          index = nindex;
29
          index = nindex;
30
      }
30
      }
31
      return -1;
31
      return -1;
32
    
32
    
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0