Lines 411-418
Link Here
|
411 |
case '<' : |
411 |
case '<' : |
412 |
if (fragments == null) fragments = new ArrayList(2); |
412 |
if (fragments == null) fragments = new ArrayList(2); |
413 |
nameFragmentEnd = this.namePos-1; |
413 |
nameFragmentEnd = this.namePos-1; |
414 |
int nameFragmentLength = nameFragmentEnd - nameFragmentStart + 1; |
414 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentEnd + 1); |
415 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentLength); |
|
|
416 |
fragments.add(identifiers); |
415 |
fragments.add(identifiers); |
417 |
this.namePos++; |
416 |
this.namePos++; |
418 |
TypeReference[] arguments = decodeTypeArguments(typeName, length, start, end); |
417 |
TypeReference[] arguments = decodeTypeArguments(typeName, length, start, end); |
Lines 448-455
Link Here
|
448 |
for (int i = 0; i < identCount; i++) { |
447 |
for (int i = 0; i < identCount; i++) { |
449 |
positions[i] = pos; |
448 |
positions[i] = pos; |
450 |
} |
449 |
} |
451 |
int nameFragmentLength = nameFragmentEnd - nameFragmentStart + 1; |
450 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentEnd + 1); |
452 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentLength); |
|
|
453 |
if (dim == 0) { |
451 |
if (dim == 0) { |
454 |
return new QualifiedTypeReference(identifiers, positions); |
452 |
return new QualifiedTypeReference(identifiers, positions); |
455 |
} else { |
453 |
} else { |
Lines 459-467
Link Here
|
459 |
} else { // parameterized |
457 |
} else { // parameterized |
460 |
// rebuild type reference from available fragments: char[][], arguments, char[][], arguments... |
458 |
// rebuild type reference from available fragments: char[][], arguments, char[][], arguments... |
461 |
// check trailing qualified name |
459 |
// check trailing qualified name |
462 |
if (nameFragmentStart < length) { |
460 |
if (nameFragmentStart < nameFragmentEnd) { |
463 |
int nameFragmentLength = nameFragmentEnd - nameFragmentStart + 1; |
461 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentEnd + 1); |
464 |
char[][] identifiers = CharOperation.splitOn('.', typeName, nameFragmentStart, nameFragmentLength); |
|
|
465 |
fragments.add(identifiers); |
462 |
fragments.add(identifiers); |
466 |
} |
463 |
} |
467 |
int fragmentLength = fragments.size(); |
464 |
int fragmentLength = fragments.size(); |