Skip to content

Commit bf9d14a

Browse files
committed
update
1 parent f69ae2e commit bf9d14a

File tree

1 file changed

+2
-56
lines changed

1 file changed

+2
-56
lines changed

Diff for: src/script/generic.ts

+2-56
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,8 @@ function referencesToThrough(references: Reference[], baseScope: Scope) {
173173
* Add all references to array
174174
*/
175175
function addAllReferences(list: Reference[], elements: Reference[]): void {
176-
addElementsToSortedArray(
177-
list,
178-
elements,
179-
(a, b) => a.identifier.range![0] - b.identifier.range![0],
180-
)
176+
list.push(...elements)
177+
list.sort((a, b) => a.identifier.range![0] - b.identifier.range![0])
181178
}
182179

183180
/** Remove reference */
@@ -238,54 +235,3 @@ function removeScope(scopeManager: ScopeManager, scope: Scope): void {
238235
scopeManager.scopes.splice(index, 1)
239236
}
240237
}
241-
242-
/**
243-
* Add element to a sorted array
244-
*/
245-
function addElementsToSortedArray<T>(
246-
array: T[],
247-
elements: T[],
248-
compare: (a: T, b: T) => number,
249-
): void {
250-
if (!elements.length) {
251-
return
252-
}
253-
let last = elements[0]
254-
let index = sortedLastIndex(array, (target) => compare(target, last))
255-
for (const element of elements) {
256-
if (compare(last, element) > 0) {
257-
index = sortedLastIndex(array, (target) => compare(target, element))
258-
}
259-
let e = array[index]
260-
while (e && compare(e, element) <= 0) {
261-
e = array[++index]
262-
}
263-
array.splice(index, 0, element)
264-
last = element
265-
}
266-
}
267-
268-
/**
269-
* Uses a binary search to determine the highest index at which value should be inserted into array in order to maintain its sort order.
270-
*/
271-
function sortedLastIndex<T>(
272-
array: T[],
273-
compare: (target: T) => number,
274-
): number {
275-
let lower = 0
276-
let upper = array.length
277-
278-
while (lower < upper) {
279-
const mid = Math.floor(lower + (upper - lower) / 2)
280-
const target = compare(array[mid])
281-
if (target < 0) {
282-
lower = mid + 1
283-
} else if (target > 0) {
284-
upper = mid
285-
} else {
286-
return mid + 1
287-
}
288-
}
289-
290-
return upper
291-
}

0 commit comments

Comments
 (0)