(refs: UnresolvedReference[])
| 1440 | } |
| 1441 | |
| 1442 | resolveListForAdmission(refs: UnresolvedReference[]): { |
| 1443 | resolved: ResolvedRef[]; |
| 1444 | unresolved: UnresolvedRef[]; |
| 1445 | deferredChain: UnresolvedRef[]; |
| 1446 | deferredThisMember: UnresolvedRef[]; |
| 1447 | byMethod: Record<string, number>; |
| 1448 | } { |
| 1449 | this.warmCaches(); |
| 1450 | this.advanceSupertypeGeneration(); |
| 1451 | const resolved: ResolvedRef[] = []; |
| 1452 | const unresolved: UnresolvedRef[] = []; |
| 1453 | const byMethod: Record<string, number> = {}; |
| 1454 | for (const raw of refs) { |
| 1455 | const ref: UnresolvedRef = { |
| 1456 | fromNodeId: raw.fromNodeId, |
| 1457 | referenceName: raw.referenceName, |
| 1458 | referenceKind: raw.referenceKind, |
| 1459 | line: raw.line, |
| 1460 | column: raw.column, |
| 1461 | filePath: raw.filePath || this.getFilePathFromNodeId(raw.fromNodeId), |
| 1462 | language: raw.language || this.getLanguageFromNodeId(raw.fromNodeId), |
| 1463 | rowId: raw.rowId, |
| 1464 | }; |
| 1465 | const result = this.resolveOneTimed(ref); |
| 1466 | if (result) { |
| 1467 | resolved.push(result); |
| 1468 | byMethod[result.resolvedBy] = (byMethod[result.resolvedBy] || 0) + 1; |
| 1469 | } else { |
| 1470 | unresolved.push(ref); |
| 1471 | } |
| 1472 | } |
| 1473 | return { |
| 1474 | resolved, |
| 1475 | unresolved, |
| 1476 | deferredChain: this.deferredChainRefs.splice(0), |
| 1477 | deferredThisMember: this.deferredThisMemberRefs.splice(0), |
| 1478 | byMethod, |
| 1479 | }; |
| 1480 | } |
| 1481 | |
| 1482 | /** |
| 1483 | * The resolver's live ResolutionContext — resolver-pool workers use it to |
no test coverage detected