Merge from vscode 2e5312cd61ff99c570299ecc122c52584265eda2

This commit is contained in:
ADS Merger
2020-04-23 02:50:35 +00:00
committed by Anthony Dresser
parent 3603f55d97
commit 7f1d8fc32f
659 changed files with 22709 additions and 12497 deletions

View File

@@ -182,21 +182,21 @@ export class FileService extends Disposable implements IFileService {
const stat = await provider.stat(resource);
let trie: TernarySearchTree<string, boolean> | undefined;
let trie: TernarySearchTree<URI, boolean> | undefined;
return this.toFileStat(provider, resource, stat, undefined, !!resolveMetadata, (stat, siblings) => {
// lazy trie to check for recursive resolving
if (!trie) {
trie = TernarySearchTree.forPaths<true>();
trie.set(resource.toString(), true);
trie = TernarySearchTree.forUris<true>();
trie.set(resource, true);
if (isNonEmptyArray(resolveTo)) {
resolveTo.forEach(uri => trie!.set(uri.toString(), true));
resolveTo.forEach(uri => trie!.set(uri, true));
}
}
// check for recursive resolving
if (Boolean(trie.findSuperstr(stat.resource.toString()) || trie.get(stat.resource.toString()))) {
if (Boolean(trie.findSuperstr(stat.resource) || trie.get(stat.resource))) {
return true;
}