(document: LangiumDocument, documents: LangiumDocuments, uris: Set<string> = new Set())
| 156 | } |
| 157 | |
| 158 | async function loadImports(document: LangiumDocument, documents: LangiumDocuments, uris: Set<string> = new Set()) { |
| 159 | const uriString = document.uri.toString(); |
| 160 | if (!uris.has(uriString)) { |
| 161 | uris.add(uriString); |
| 162 | const model = document.parseResult.value as Model; |
| 163 | for (const imp of model.imports) { |
| 164 | const importedModel = resolveImport(documents, imp); |
| 165 | if (importedModel) { |
| 166 | const importedDoc = getDocument(importedModel); |
| 167 | await loadImports(importedDoc, documents, uris); |
| 168 | } |
| 169 | } |
| 170 | } |
| 171 | return Array.from(uris) |
| 172 | .filter((x) => uriString != x) |
| 173 | .map((e) => URI.parse(e)); |
| 174 | } |
| 175 | |
| 176 | function mergeImportsDeclarations(documents: LangiumDocuments, model: Model) { |
| 177 | const importedModels = resolveTransitiveImports(documents, model); |
no test coverage detected