View | Details | Raw Unified | Return to bug 68557 | Differences between
and this patch

Collapse All | Expand All

(-)model/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java (-4 / +7 lines)
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];

Return to bug 68557