Lines 393-398
Link Here
|
393 |
int nameFragmentStart = this.namePos, nameFragmentEnd = -1; |
393 |
int nameFragmentStart = this.namePos, nameFragmentEnd = -1; |
394 |
ArrayList fragments = null; |
394 |
ArrayList fragments = null; |
395 |
typeLoop: while (this.namePos < length) { |
395 |
typeLoop: while (this.namePos < length) { |
|
|
396 |
if (nameFragmentStart < 0) nameFragmentStart = this.namePos; |
396 |
char currentChar = typeName[this.namePos]; |
397 |
char currentChar = typeName[this.namePos]; |
397 |
switch (currentChar) { |
398 |
switch (currentChar) { |
398 |
case '[' : |
399 |
case '[' : |
Lines 471-486
Link Here
|
471 |
} |
472 |
} |
472 |
} |
473 |
} |
473 |
// parameterized qualified type |
474 |
// parameterized qualified type |
474 |
identCount = 0; |
475 |
identCount = 0; int argumentCount = 0; |
475 |
for (int i = 0; i < fragmentLength; i ++) { |
476 |
for (int i = 0; i < fragmentLength; i ++) { |
476 |
Object element = fragments.get(i); |
477 |
Object element = fragments.get(i); |
477 |
if (element instanceof char[][]) { |
478 |
if (element instanceof char[][]) { |
478 |
identCount += ((char[][])element).length; |
479 |
identCount += ((char[][])element).length; |
|
|
480 |
} else { |
481 |
argumentCount ++; |
479 |
} |
482 |
} |
480 |
} |
483 |
} |
481 |
char[][] tokens = new char[identCount][]; |
484 |
char[][] tokens = new char[identCount][]; |
482 |
TypeReference[][] arguments = new TypeReference[identCount][]; |
485 |
TypeReference[][] arguments = new TypeReference[argumentCount][]; |
483 |
int index = 0; |
486 |
int index = 0, argumentIndex = 0; |
484 |
for (int i = 0; i < fragmentLength; i ++) { |
487 |
for (int i = 0; i < fragmentLength; i ++) { |
485 |
Object element = fragments.get(i); |
488 |
Object element = fragments.get(i); |
486 |
if (element instanceof char[][]) { |
489 |
if (element instanceof char[][]) { |
Lines 489-495
Link Here
|
489 |
System.arraycopy(fragmentTokens, 0, tokens, index, fragmentTokenLength); |
492 |
System.arraycopy(fragmentTokens, 0, tokens, index, fragmentTokenLength); |
490 |
index += fragmentTokenLength; |
493 |
index += fragmentTokenLength; |
491 |
} else { |
494 |
} else { |
492 |
arguments[index] = (TypeReference[]) element; |
495 |
arguments[argumentIndex++] = (TypeReference[]) element; |
493 |
} |
496 |
} |
494 |
} |
497 |
} |
495 |
long[] positions = new long[identCount]; |
498 |
long[] positions = new long[identCount]; |