mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-04-13 18:14:48 -05:00
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
This commit is contained in:
@@ -37315,8 +37315,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
grammarErrorOnNode(node, Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead);
|
||||
}
|
||||
if (compilerOptions.erasableSyntaxOnly) {
|
||||
const start = node.type.pos - "<".length;
|
||||
const end = skipTrivia(file.text, node.type.end) + ">".length;
|
||||
const start = skipTrivia(file.text, node.pos);
|
||||
const end = node.expression.pos;
|
||||
diagnostics.add(createFileDiagnostic(file, start, end - start, Diagnostics.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled));
|
||||
}
|
||||
}
|
||||
|
||||
24
tests/baselines/reference/erasableSyntaxOnly2.errors.txt
Normal file
24
tests/baselines/reference/erasableSyntaxOnly2.errors.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
index.ts(1,10): error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
index.ts(1,19): error TS1005: '>' expected.
|
||||
index.ts(2,9): error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
index.ts(2,18): error TS1005: '>' expected.
|
||||
index.ts(3,9): error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
index.ts(3,17): error TS1005: '>' expected.
|
||||
|
||||
|
||||
==== index.ts (6 errors) ====
|
||||
let a = (<unknown function foo() {});
|
||||
~~~~~~~~
|
||||
!!! error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
~~~~~~~~
|
||||
!!! error TS1005: '>' expected.
|
||||
let b = <unknown 123;
|
||||
~~~~~~~~
|
||||
!!! error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
~~~
|
||||
!!! error TS1005: '>' expected.
|
||||
let c = <unknown
|
||||
~~~~~~~~
|
||||
!!! error TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
||||
|
||||
!!! error TS1005: '>' expected.
|
||||
11
tests/baselines/reference/erasableSyntaxOnly2.js
Normal file
11
tests/baselines/reference/erasableSyntaxOnly2.js
Normal file
@@ -0,0 +1,11 @@
|
||||
//// [tests/cases/compiler/erasableSyntaxOnly2.ts] ////
|
||||
|
||||
//// [index.ts]
|
||||
let a = (<unknown function foo() {});
|
||||
let b = <unknown 123;
|
||||
let c = <unknown
|
||||
|
||||
//// [index.js]
|
||||
var a = function foo() { };
|
||||
var b = 123;
|
||||
var c = ;
|
||||
13
tests/baselines/reference/erasableSyntaxOnly2.symbols
Normal file
13
tests/baselines/reference/erasableSyntaxOnly2.symbols
Normal file
@@ -0,0 +1,13 @@
|
||||
//// [tests/cases/compiler/erasableSyntaxOnly2.ts] ////
|
||||
|
||||
=== index.ts ===
|
||||
let a = (<unknown function foo() {});
|
||||
>a : Symbol(a, Decl(index.ts, 0, 3))
|
||||
>foo : Symbol(foo, Decl(index.ts, 0, 17))
|
||||
|
||||
let b = <unknown 123;
|
||||
>b : Symbol(b, Decl(index.ts, 1, 3))
|
||||
|
||||
let c = <unknown
|
||||
>c : Symbol(c, Decl(index.ts, 2, 3))
|
||||
|
||||
31
tests/baselines/reference/erasableSyntaxOnly2.types
Normal file
31
tests/baselines/reference/erasableSyntaxOnly2.types
Normal file
@@ -0,0 +1,31 @@
|
||||
//// [tests/cases/compiler/erasableSyntaxOnly2.ts] ////
|
||||
|
||||
=== index.ts ===
|
||||
let a = (<unknown function foo() {});
|
||||
>a : unknown
|
||||
> : ^^^^^^^
|
||||
>(<unknown function foo() {}) : unknown
|
||||
> : ^^^^^^^
|
||||
><unknown function foo() {} : unknown
|
||||
> : ^^^^^^^
|
||||
>function foo() {} : () => void
|
||||
> : ^^^^^^^^^^
|
||||
>foo : () => void
|
||||
> : ^^^^^^^^^^
|
||||
|
||||
let b = <unknown 123;
|
||||
>b : unknown
|
||||
> : ^^^^^^^
|
||||
><unknown 123 : unknown
|
||||
> : ^^^^^^^
|
||||
>123 : 123
|
||||
> : ^^^
|
||||
|
||||
let c = <unknown
|
||||
>c : unknown
|
||||
> : ^^^^^^^
|
||||
><unknown : unknown
|
||||
> : ^^^^^^^
|
||||
> : any
|
||||
> : ^^^
|
||||
|
||||
6
tests/cases/compiler/erasableSyntaxOnly2.ts
Normal file
6
tests/cases/compiler/erasableSyntaxOnly2.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
// @erasableSyntaxOnly: true
|
||||
|
||||
// @filename: index.ts
|
||||
let a = (<unknown function foo() {});
|
||||
let b = <unknown 123;
|
||||
let c = <unknown
|
||||
Reference in New Issue
Block a user