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

Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/util/Util.java (-1 / +31 lines)
Lines 424-430 Link Here
424
			int suffixIndex = suffixLength - i - 1;
424
			int suffixIndex = suffixLength - i - 1;
425
			if (c != SUFFIX_java[suffixIndex] && c != SUFFIX_JAVA[suffixIndex]) return false;
425
			if (c != SUFFIX_java[suffixIndex] && c != SUFFIX_JAVA[suffixIndex]) return false;
426
		}
426
		}
427
		return true;		
427
		return true;
428
	}
429
430
	public static void reverseQuickSort(char[][] list, int left, int right, int[] result) {
431
		int original_left= left;
432
		int original_right= right;
433
		char[] mid= list[(right + left) / 2];
434
		do {
435
			while (CharOperation.compareTo(list[left], mid) > 0) {
436
				left++;
437
			}
438
			while (CharOperation.compareTo(mid, list[right]) > 0) {
439
				right--;
440
			}
441
			if (left <= right) {
442
				char[] tmp= list[left];
443
				list[left]= list[right];
444
				list[right]= tmp;
445
				int temp = result[left];
446
				result[left] = result[right];
447
				result[right] = temp;
448
				left++;
449
				right--;
450
			}
451
		} while (left <= right);
452
		if (original_left < right) {
453
			reverseQuickSort(list, original_left, right, result);
454
		}
455
		if (left < original_right) {
456
			reverseQuickSort(list, left, original_right, result);
457
		}
428
	}
458
	}
429
459
430
	/**
460
	/**
(-)compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java (-3 / +13 lines)
Lines 207-215 Link Here
207
	this.sourceLevel = sourceLevel;
207
	this.sourceLevel = sourceLevel;
208
	this.complianceLevel = complianceLevel;
208
	this.complianceLevel = complianceLevel;
209
	this.checkNonExternalizedStringLiterals = checkNonExternalizedStringLiterals;
209
	this.checkNonExternalizedStringLiterals = checkNonExternalizedStringLiterals;
210
	this.taskTags = taskTags;
210
	if (taskTags != null && taskPriorities != null) {
211
	this.taskPriorities = taskPriorities;
211
		int length = taskTags.length;
212
	this.isTaskCaseSensitive = isTaskCaseSensitive;
212
		int[] initialIndexes = new int[length];
213
		for (int i = 0; i < length; i++) initialIndexes[i] = i;
214
		Util.reverseQuickSort(taskTags, 0, taskTags.length - 1, initialIndexes);
215
		this.taskTags = taskTags;
216
		char[][] temp = new char[length][];
217
		for (int i = 0; i < length; i++) {
218
			temp[i] = taskPriorities[initialIndexes[i]];
219
		}
220
		this.taskPriorities = temp;
221
		this.isTaskCaseSensitive = isTaskCaseSensitive;
222
	}
213
}
223
}
214
224
215
public Scanner(
225
public Scanner(

Return to bug 53727