* Change type-only semantics to allow type queries * Don’t error using type-only import in ambient context * Fix default import * Fix namespace import * Update more baselines * Prevent circular resolution * Track const enum expression usage * Update baselines * Perf tuning 1 * Test commit for perf impact * Weave type-only alias declaration finding into alias resolution * Fix namespace import of type-only exported symbols * type-only exports do not contribute to the module object type * Update APIs * Fix enum casing, remove type-only conversion suggestion * Short circuit type-only checks in resolveEntityName faster * Fix casing in API * Remove unused parameter * Fix error on qualified names in type queries * Allow type-only imports in computed property names * Fix computed property names of types and abstract members * Remove unused util * Commit missing baselines * Rename “check” functions so as not to overload the word “check”
72 lines
1.5 KiB
Plaintext
72 lines
1.5 KiB
Plaintext
=== /a.ts ===
|
|
enum SyntaxKind {
|
|
>SyntaxKind : SyntaxKind
|
|
|
|
ImportClause,
|
|
>ImportClause : SyntaxKind.ImportClause
|
|
|
|
ExportDeclaration
|
|
>ExportDeclaration : SyntaxKind.ExportDeclaration
|
|
}
|
|
|
|
const enum SymbolFlags {
|
|
>SymbolFlags : SymbolFlags
|
|
|
|
Type = "Type",
|
|
>Type : SymbolFlags.Type
|
|
>"Type" : "Type"
|
|
|
|
Value = "Value"
|
|
>Value : SymbolFlags.Value
|
|
>"Value" : "Value"
|
|
}
|
|
|
|
export type { SyntaxKind };
|
|
>SyntaxKind : SyntaxKind
|
|
|
|
export { SymbolFlags };
|
|
>SymbolFlags : typeof SymbolFlags
|
|
|
|
=== /b.ts ===
|
|
import type { SyntaxKind, SymbolFlags } from './a';
|
|
>SyntaxKind : SyntaxKind
|
|
>SymbolFlags : SymbolFlags
|
|
|
|
SyntaxKind.ImportClause;
|
|
>SyntaxKind.ImportClause : SyntaxKind.ImportClause
|
|
>SyntaxKind : typeof SyntaxKind
|
|
>ImportClause : SyntaxKind.ImportClause
|
|
|
|
SymbolFlags.Type;
|
|
>SymbolFlags.Type : SymbolFlags.Type
|
|
>SymbolFlags : typeof SymbolFlags
|
|
>Type : SymbolFlags.Type
|
|
|
|
let kind: SyntaxKind.ImportClause;
|
|
>kind : SyntaxKind.ImportClause
|
|
>SyntaxKind : any
|
|
|
|
let flags: SymbolFlags;
|
|
>flags : SymbolFlags
|
|
|
|
type TypeFlag = SymbolFlags.Type;
|
|
>TypeFlag : SymbolFlags.Type
|
|
>SymbolFlags : any
|
|
|
|
export type { TypeFlag };
|
|
>TypeFlag : SymbolFlags.Type
|
|
|
|
=== /c.ts ===
|
|
import { SymbolFlags } from './a';
|
|
>SymbolFlags : typeof SymbolFlags
|
|
|
|
import type { TypeFlag } from './b';
|
|
>TypeFlag : SymbolFlags.Type
|
|
|
|
const flags: TypeFlag = SymbolFlags.Type;
|
|
>flags : SymbolFlags.Type
|
|
>SymbolFlags.Type : SymbolFlags.Type
|
|
>SymbolFlags : typeof SymbolFlags
|
|
>Type : SymbolFlags.Type
|
|
|