TypeScript/tests/baselines/reference/enums.types
Andrew Branch b05dde747c
Update type-only import semantics to allow type queries (#36092)
* 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”
2020-01-23 12:53:36 -08:00

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