Skip to content

Commit 226d17a

Browse files
committed
-
1 parent 41b0a9f commit 226d17a

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

src/compiler/checker.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12284,29 +12284,30 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1228412284
function getTypeOfSymbol(symbol: Symbol): Type {
1228512285
const checkFlags = getCheckFlags(symbol);
1228612286

12287-
const checkFlagMap = new Map([
12287+
// Prioritize check flags
12288+
const checkFlagChecks: [CheckFlags, (s: Symbol) => Type][] = [
1228812289
[CheckFlags.DeferredType, getTypeOfSymbolWithDeferredType],
1228912290
[CheckFlags.Instantiated, getTypeOfInstantiatedSymbol],
12290-
[CheckFlags.Mapped, (s: Symbol) => getTypeOfMappedSymbol(s as MappedSymbol)],
12291-
[CheckFlags.ReverseMapped, (s: Symbol) => getTypeOfReverseMappedSymbol(s as ReverseMappedSymbol)],
12292-
]);
12291+
[CheckFlags.Mapped, s => getTypeOfMappedSymbol(s as MappedSymbol)],
12292+
[CheckFlags.ReverseMapped, s => getTypeOfReverseMappedSymbol(s as ReverseMappedSymbol)],
12293+
];
1229312294

12294-
for (const [flag, fn] of checkFlagMap) {
12295+
for (const [flag, fn] of checkFlagChecks) {
1229512296
if (checkFlags & flag) return fn(symbol);
1229612297
}
1229712298

12298-
const symbolFlagMap = new Map([
12299+
// Handle symbol flags
12300+
const symbolChecks: [SymbolFlags, (s: Symbol) => Type][] = [
1229912301
[SymbolFlags.Variable | SymbolFlags.Property, getTypeOfVariableOrParameterOrProperty],
1230012302
[SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule, getTypeOfFuncClassEnumModule],
1230112303
[SymbolFlags.EnumMember, getTypeOfEnumMember],
1230212304
[SymbolFlags.Accessor, getTypeOfAccessors],
1230312305
[SymbolFlags.Alias, getTypeOfAlias],
12304-
]);
12306+
];
1230512307

12306-
for (const [flag, fn] of symbolFlagMap) {
12307-
if (symbol.flags & flag) return fn(symbol);
12308+
for (const [flag, fn] of symbolChecks) {
12309+
if ((symbol.flags & flag) !== 0) return fn(symbol);
1230812310
}
12309-
1231012311
return errorType;
1231112312
}
1231212313

0 commit comments

Comments
 (0)