From c9c1f9aa517127a9523357f422dd662ccf414827 Mon Sep 17 00:00:00 2001 From: xucheng46 Date: Thu, 13 Oct 2022 11:45:18 +0800 Subject: [PATCH] Fix declare as name and const as type reference Issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/I5VHM2 Test: parser test, compiler test, test262 Signed-off-by: xucheng46 Change-Id: Idb19885c362cd78e8b108538cdea06ab88301ad3 --- es2panda/lexer/scripts/keywords.rb | 2 +- es2panda/parser/expressionParser.cpp | 3 +- es2panda/parser/parserImpl.cpp | 8 - es2panda/parser/parserImpl.h | 2 +- es2panda/parser/statementParser.cpp | 23 +- .../ts/test-as-expression3-expected.txt | 572 ++++++++++++++++++ .../test/parser/ts/test-as-expression3.ts | 21 + .../ts/test-as-expression4-expected.txt | 1 + .../test/parser/ts/test-as-expression4.ts | 17 + .../ts/test-as-expression5-expected.txt | 1 + .../test/parser/ts/test-as-expression5.ts | 17 + .../ts/test-as-expression6-expected.txt | 1 + .../test/parser/ts/test-as-expression6.ts | 17 + .../parser/ts/test-declare-name-expected.txt | 129 ++++ es2panda/test/parser/ts/test-declare-name.ts | 18 + .../ts/test-keyword-declare3-expected.txt | 2 +- es2panda/test/test_tsc_ignore_list.txt | 5 - 17 files changed, 812 insertions(+), 27 deletions(-) create mode 100644 es2panda/test/parser/ts/test-as-expression3-expected.txt create mode 100644 es2panda/test/parser/ts/test-as-expression3.ts create mode 100644 es2panda/test/parser/ts/test-as-expression4-expected.txt create mode 100644 es2panda/test/parser/ts/test-as-expression4.ts create mode 100644 es2panda/test/parser/ts/test-as-expression5-expected.txt create mode 100644 es2panda/test/parser/ts/test-as-expression5.ts create mode 100644 es2panda/test/parser/ts/test-as-expression6-expected.txt create mode 100644 es2panda/test/parser/ts/test-as-expression6.ts create mode 100644 es2panda/test/parser/ts/test-declare-name-expected.txt create mode 100644 es2panda/test/parser/ts/test-declare-name.ts diff --git a/es2panda/lexer/scripts/keywords.rb b/es2panda/lexer/scripts/keywords.rb index 00183eca59..8fdbfc3766 100644 --- a/es2panda/lexer/scripts/keywords.rb +++ b/es2panda/lexer/scripts/keywords.rb @@ -47,7 +47,7 @@ keywords = [ # keywords start with 'd' { "debugger" => ["TokenType::KEYW_DEBUGGER", "TokenType::KEYW_DEBUGGER"], - "declare" => ["TokenType::KEYW_DECLARE", "TokenType::KEYW_DECLARE"], + "declare" => ["TokenType::LITERAL_IDENT", "TokenType::KEYW_DECLARE"], "default" => ["TokenType::KEYW_DEFAULT", "TokenType::KEYW_DEFAULT"], "delete" => ["TokenType::KEYW_DELETE", "TokenType::KEYW_DELETE"], "do" => ["TokenType::KEYW_DO", "TokenType::KEYW_DO"], diff --git a/es2panda/parser/expressionParser.cpp b/es2panda/parser/expressionParser.cpp index 1ce216b74a..cb6d065fdf 100644 --- a/es2panda/parser/expressionParser.cpp +++ b/es2panda/parser/expressionParser.cpp @@ -522,7 +522,8 @@ ir::TSTypeAssertion *ParserImpl::ParseTsTypeAssertion(ExpressionParseFlags flags lexer::SourcePosition start = lexer_->GetToken().Start(); lexer_->NextToken(); // eat '<' - TypeAnnotationParsingOptions options = TypeAnnotationParsingOptions::THROW_ERROR; + TypeAnnotationParsingOptions options = + TypeAnnotationParsingOptions::THROW_ERROR | TypeAnnotationParsingOptions::ALLOW_CONST; ir::Expression *typeAnnotation = ParseTsTypeAnnotation(&options); if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_GREATER_THAN) { diff --git a/es2panda/parser/parserImpl.cpp b/es2panda/parser/parserImpl.cpp index 999de8840a..905f1a5ed1 100644 --- a/es2panda/parser/parserImpl.cpp +++ b/es2panda/parser/parserImpl.cpp @@ -250,14 +250,6 @@ ir::TSTypeReference *ParserImpl::ParseTsConstExpression() lexer_->NextToken(); - if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA && - lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON && - lexer_->GetToken().Type() != lexer::TokenType::EOS && - lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET && - !(lexer_->GetToken().Flags() & lexer::TokenFlags::NEW_LINE)) { - ThrowSyntaxError("Unexpected token."); - } - return typeReference; } diff --git a/es2panda/parser/parserImpl.h b/es2panda/parser/parserImpl.h index 6398faa69a..fc1663e5e9 100644 --- a/es2panda/parser/parserImpl.h +++ b/es2panda/parser/parserImpl.h @@ -421,7 +421,7 @@ private: void CheckFunctionDeclaration(StatementParsingFlags flags); void CheckLabelledFunction(const ir::Statement *node); - void CheckDeclare(); + bool CheckDeclare(); bool IsLabelFollowedByIterationStatement(); diff --git a/es2panda/parser/statementParser.cpp b/es2panda/parser/statementParser.cpp index 51ba7e85f6..80cbcb8567 100644 --- a/es2panda/parser/statementParser.cpp +++ b/es2panda/parser/statementParser.cpp @@ -83,14 +83,11 @@ namespace panda::es2panda::parser { -void ParserImpl::CheckDeclare() +bool ParserImpl::CheckDeclare() { ASSERT(lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE); - if (context_.Status() & ParserStatus::IN_AMBIENT_CONTEXT) { - ThrowSyntaxError("A 'declare' modifier cannot be used in an already ambient context."); - } - + const auto startPos = lexer_->Save(); lexer_->NextToken(); // eat 'declare' switch (lexer_->GetToken().Type()) { case lexer::TokenType::KEYW_VAR: @@ -114,9 +111,17 @@ void ParserImpl::CheckDeclare() [[fallthrough]]; } default: { - ThrowSyntaxError("Unexpected token."); + lexer_->Rewind(startPos); + return false; } } + + if (context_.Status() & ParserStatus::IN_AMBIENT_CONTEXT) { + lexer_->Rewind(startPos); + ThrowSyntaxError("A 'declare' modifier cannot be used in an already ambient context."); + } + + return true; } bool ParserImpl::IsLabelFollowedByIterationStatement() @@ -149,8 +154,7 @@ ir::Statement *ParserImpl::ParseStatement(StatementParsingFlags flags) if (Extension() == ScriptExtension::TS) { if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE) { - CheckDeclare(); - isDeclare = true; + isDeclare = CheckDeclare(); } if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_ABSTRACT) { @@ -2402,8 +2406,7 @@ ir::ExportNamedDeclaration *ParserImpl::ParseNamedExportDeclaration(const lexer: bool isTsModule = context_.IsTsModule(); if (Extension() == ScriptExtension::TS && lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE) { - CheckDeclare(); - isDeclare = true; + isDeclare = CheckDeclare(); } if (!decorators.empty() && lexer_->GetToken().Type() != lexer::TokenType::KEYW_CLASS && diff --git a/es2panda/test/parser/ts/test-as-expression3-expected.txt b/es2panda/test/parser/ts/test-as-expression3-expected.txt new file mode 100644 index 0000000000..92a8169e25 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression3-expected.txt @@ -0,0 +1,572 @@ +{ + "type": "Program", + "statements": [ + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "a1", + "decorators": [], + "loc": { + "start": { + "line": 17, + "column": 5 + }, + "end": { + "line": 17, + "column": 7 + } + } + }, + "init": { + "type": "TSAsExpression", + "expression": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 17, + "column": 10 + }, + "end": { + "line": 17, + "column": 11 + } + } + }, + "typeAnnotation": { + "type": "TSTypeReference", + "typeName": { + "type": "Identifier", + "name": "const", + "decorators": [], + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 20 + } + } + }, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 20 + } + } + }, + "loc": { + "start": { + "line": 17, + "column": 10 + }, + "end": { + "line": 17, + "column": 21 + } + } + }, + "loc": { + "start": { + "line": 17, + "column": 5 + }, + "end": { + "line": 17, + "column": 21 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 17, + "column": 1 + }, + "end": { + "line": 17, + "column": 21 + } + } + }, + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "a2", + "decorators": [], + "loc": { + "start": { + "line": 18, + "column": 5 + }, + "end": { + "line": 18, + "column": 7 + } + } + }, + "init": { + "type": "TSAsExpression", + "expression": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 18, + "column": 11 + }, + "end": { + "line": 18, + "column": 12 + } + } + }, + "typeAnnotation": { + "type": "TSTypeReference", + "typeName": { + "type": "Identifier", + "name": "const", + "decorators": [], + "loc": { + "start": { + "line": 18, + "column": 16 + }, + "end": { + "line": 18, + "column": 21 + } + } + }, + "loc": { + "start": { + "line": 18, + "column": 16 + }, + "end": { + "line": 18, + "column": 21 + } + } + }, + "loc": { + "start": { + "line": 18, + "column": 10 + }, + "end": { + "line": 18, + "column": 22 + } + } + }, + "loc": { + "start": { + "line": 18, + "column": 5 + }, + "end": { + "line": 18, + "column": 22 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 18, + "column": 1 + }, + "end": { + "line": 18, + "column": 23 + } + } + }, + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "a3", + "decorators": [], + "loc": { + "start": { + "line": 19, + "column": 5 + }, + "end": { + "line": 19, + "column": 7 + } + } + }, + "init": { + "type": "ObjectExpression", + "properties": [ + { + "type": "Property", + "method": false, + "shorthand": false, + "computed": false, + "key": { + "type": "Identifier", + "name": "b", + "decorators": [], + "loc": { + "start": { + "line": 19, + "column": 11 + }, + "end": { + "line": 19, + "column": 12 + } + } + }, + "value": { + "type": "TSAsExpression", + "expression": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 19, + "column": 15 + }, + "end": { + "line": 19, + "column": 16 + } + } + }, + "typeAnnotation": { + "type": "TSTypeReference", + "typeName": { + "type": "Identifier", + "name": "const", + "decorators": [], + "loc": { + "start": { + "line": 19, + "column": 20 + }, + "end": { + "line": 19, + "column": 25 + } + } + }, + "loc": { + "start": { + "line": 19, + "column": 20 + }, + "end": { + "line": 19, + "column": 25 + } + } + }, + "loc": { + "start": { + "line": 19, + "column": 15 + }, + "end": { + "line": 19, + "column": 26 + } + } + }, + "kind": "init", + "loc": { + "start": { + "line": 19, + "column": 11 + }, + "end": { + "line": 19, + "column": 26 + } + } + } + ], + "loc": { + "start": { + "line": 19, + "column": 10 + }, + "end": { + "line": 19, + "column": 26 + } + } + }, + "loc": { + "start": { + "line": 19, + "column": 5 + }, + "end": { + "line": 19, + "column": 26 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 19, + "column": 1 + }, + "end": { + "line": 19, + "column": 27 + } + } + }, + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "a4", + "decorators": [], + "loc": { + "start": { + "line": 20, + "column": 5 + }, + "end": { + "line": 20, + "column": 7 + } + } + }, + "init": { + "type": "ArrayExpression", + "elements": [ + { + "type": "TSAsExpression", + "expression": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 20, + "column": 11 + }, + "end": { + "line": 20, + "column": 12 + } + } + }, + "typeAnnotation": { + "type": "TSTypeReference", + "typeName": { + "type": "Identifier", + "name": "const", + "decorators": [], + "loc": { + "start": { + "line": 20, + "column": 16 + }, + "end": { + "line": 20, + "column": 21 + } + } + }, + "loc": { + "start": { + "line": 20, + "column": 16 + }, + "end": { + "line": 20, + "column": 21 + } + } + }, + "loc": { + "start": { + "line": 20, + "column": 11 + }, + "end": { + "line": 20, + "column": 22 + } + } + } + ], + "loc": { + "start": { + "line": 20, + "column": 10 + }, + "end": { + "line": 20, + "column": 22 + } + } + }, + "loc": { + "start": { + "line": 20, + "column": 5 + }, + "end": { + "line": 20, + "column": 22 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 20, + "column": 1 + }, + "end": { + "line": 20, + "column": 23 + } + } + }, + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "a5", + "decorators": [], + "loc": { + "start": { + "line": 21, + "column": 5 + }, + "end": { + "line": 21, + "column": 7 + } + } + }, + "init": { + "type": "TSTypeAssertion", + "typeAnnotation": { + "type": "TSTypeReference", + "typeName": { + "type": "Identifier", + "name": "const", + "decorators": [], + "loc": { + "start": { + "line": 21, + "column": 11 + }, + "end": { + "line": 21, + "column": 16 + } + } + }, + "loc": { + "start": { + "line": 21, + "column": 11 + }, + "end": { + "line": 21, + "column": 16 + } + } + }, + "expression": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 21, + "column": 18 + }, + "end": { + "line": 21, + "column": 19 + } + } + }, + "loc": { + "start": { + "line": 21, + "column": 10 + }, + "end": { + "line": 21, + "column": 20 + } + } + }, + "loc": { + "start": { + "line": 21, + "column": 5 + }, + "end": { + "line": 21, + "column": 20 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 21, + "column": 1 + }, + "end": { + "line": 21, + "column": 20 + } + } + } + ], + "loc": { + "start": { + "line": 1, + "column": 1 + }, + "end": { + "line": 22, + "column": 1 + } + } +} diff --git a/es2panda/test/parser/ts/test-as-expression3.ts b/es2panda/test/parser/ts/test-as-expression3.ts new file mode 100644 index 0000000000..0d584074ed --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression3.ts @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +var a1 = 1 as const; +var a2 = (1 as const); +var a3 = {b : 1 as const}; +var a4 = [1 as const]; +var a5 = 1; diff --git a/es2panda/test/parser/ts/test-as-expression4-expected.txt b/es2panda/test/parser/ts/test-as-expression4-expected.txt new file mode 100644 index 0000000000..d1b6928df7 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression4-expected.txt @@ -0,0 +1 @@ +SyntaxError: Unexpected token [test-as-expression4.ts:17:20] diff --git a/es2panda/test/parser/ts/test-as-expression4.ts b/es2panda/test/parser/ts/test-as-expression4.ts new file mode 100644 index 0000000000..e226bfdc27 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression4.ts @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +var a = 1 as const b; diff --git a/es2panda/test/parser/ts/test-as-expression5-expected.txt b/es2panda/test/parser/ts/test-as-expression5-expected.txt new file mode 100644 index 0000000000..01b1d76c59 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression5-expected.txt @@ -0,0 +1 @@ +SyntaxError: Primary expression expected [test-as-expression5.ts:17:20] diff --git a/es2panda/test/parser/ts/test-as-expression5.ts b/es2panda/test/parser/ts/test-as-expression5.ts new file mode 100644 index 0000000000..fe2c2086ba --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression5.ts @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +var a = 1 as const?; diff --git a/es2panda/test/parser/ts/test-as-expression6-expected.txt b/es2panda/test/parser/ts/test-as-expression6-expected.txt new file mode 100644 index 0000000000..771c79d223 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression6-expected.txt @@ -0,0 +1 @@ +SyntaxError: Unexpected token [test-as-expression6.ts:17:19] diff --git a/es2panda/test/parser/ts/test-as-expression6.ts b/es2panda/test/parser/ts/test-as-expression6.ts new file mode 100644 index 0000000000..ed08243726 --- /dev/null +++ b/es2panda/test/parser/ts/test-as-expression6.ts @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +var a = 1 as const.b; diff --git a/es2panda/test/parser/ts/test-declare-name-expected.txt b/es2panda/test/parser/ts/test-declare-name-expected.txt new file mode 100644 index 0000000000..aeae616792 --- /dev/null +++ b/es2panda/test/parser/ts/test-declare-name-expected.txt @@ -0,0 +1,129 @@ +{ + "type": "Program", + "statements": [ + { + "type": "VariableDeclaration", + "declarations": [ + { + "type": "VariableDeclarator", + "id": { + "type": "Identifier", + "name": "declare", + "decorators": [], + "loc": { + "start": { + "line": 17, + "column": 5 + }, + "end": { + "line": 17, + "column": 12 + } + } + }, + "init": { + "type": "NumberLiteral", + "value": 1, + "loc": { + "start": { + "line": 17, + "column": 15 + }, + "end": { + "line": 17, + "column": 16 + } + } + }, + "loc": { + "start": { + "line": 17, + "column": 5 + }, + "end": { + "line": 17, + "column": 16 + } + } + } + ], + "kind": "var", + "loc": { + "start": { + "line": 17, + "column": 1 + }, + "end": { + "line": 17, + "column": 17 + } + } + }, + { + "type": "ExpressionStatement", + "expression": { + "type": "AssignmentExpression", + "operator": "=", + "left": { + "type": "Identifier", + "name": "declare", + "decorators": [], + "loc": { + "start": { + "line": 18, + "column": 1 + }, + "end": { + "line": 18, + "column": 8 + } + } + }, + "right": { + "type": "NumberLiteral", + "value": 2, + "loc": { + "start": { + "line": 18, + "column": 11 + }, + "end": { + "line": 18, + "column": 12 + } + } + }, + "loc": { + "start": { + "line": 18, + "column": 1 + }, + "end": { + "line": 18, + "column": 12 + } + } + }, + "loc": { + "start": { + "line": 18, + "column": 1 + }, + "end": { + "line": 18, + "column": 13 + } + } + } + ], + "loc": { + "start": { + "line": 1, + "column": 1 + }, + "end": { + "line": 19, + "column": 1 + } + } +} diff --git a/es2panda/test/parser/ts/test-declare-name.ts b/es2panda/test/parser/ts/test-declare-name.ts new file mode 100644 index 0000000000..d5f305f156 --- /dev/null +++ b/es2panda/test/parser/ts/test-declare-name.ts @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +var declare = 1; +declare = 2; diff --git a/es2panda/test/parser/ts/test-keyword-declare3-expected.txt b/es2panda/test/parser/ts/test-keyword-declare3-expected.txt index 6d723d9d42..bda78d2974 100644 --- a/es2panda/test/parser/ts/test-keyword-declare3-expected.txt +++ b/es2panda/test/parser/ts/test-keyword-declare3-expected.txt @@ -1 +1 @@ -SyntaxError: Unexpected token. [test-keyword-declare3.ts:17:9] +SyntaxError: Unexpected token [test-keyword-declare3.ts:17:9] diff --git a/es2panda/test/test_tsc_ignore_list.txt b/es2panda/test/test_tsc_ignore_list.txt index 47c86b3e38..84265f688b 100644 --- a/es2panda/test/test_tsc_ignore_list.txt +++ b/es2panda/test/test_tsc_ignore_list.txt @@ -1,5 +1,4 @@ es2panda/test/TypeScript/tests/cases/compiler/ambientClassOverloadForFunction.ts -es2panda/test/TypeScript/tests/cases/compiler/assertionFunctionsCanNarrowByDiscriminant.ts es2panda/test/TypeScript/tests/cases/compiler/bom-utf16be.ts es2panda/test/TypeScript/tests/cases/compiler/classFunctionMerging.ts es2panda/test/TypeScript/tests/cases/compiler/collisionArgumentsInType.ts @@ -9,7 +8,6 @@ es2panda/test/TypeScript/tests/cases/compiler/constructorOverloads5.ts es2panda/test/TypeScript/tests/cases/compiler/continueTarget3.ts es2panda/test/TypeScript/tests/cases/compiler/controlFlowCaching.ts es2panda/test/TypeScript/tests/cases/compiler/declarationEmitDestructuringOptionalBindingParametersInOverloads.ts -es2panda/test/TypeScript/tests/cases/compiler/declareIdentifierAsBeginningOfStatementExpression01.ts es2panda/test/TypeScript/tests/cases/compiler/discriminantsAndPrimitives.ts es2panda/test/TypeScript/tests/cases/compiler/elidedEmbeddedStatementsReplacedWithSemicolon.ts es2panda/test/TypeScript/tests/cases/compiler/emitBundleWithShebang1.ts @@ -64,8 +62,6 @@ es2panda/test/TypeScript/tests/cases/conformance/es6/functionDeclarations/Functi es2panda/test/TypeScript/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts es2panda/test/TypeScript/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts es2panda/test/TypeScript/tests/cases/conformance/es6/modules/defaultExportWithOverloads01.ts -es2panda/test/TypeScript/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTagNamedDeclare.ts -es2panda/test/TypeScript/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTagNamedDeclareES6.ts es2panda/test/TypeScript/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTags.ts es2panda/test/TypeScript/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTagsES6.ts es2panda/test/TypeScript/tests/cases/conformance/es6/templates/templateStringControlCharacterEscapes01.ts @@ -96,7 +92,6 @@ es2panda/test/TypeScript/tests/cases/conformance/parser/ecmascript5/Statements/C es2panda/test/TypeScript/tests/cases/conformance/parser/ecmascript5/parserUnicodeWhitespaceCharacter1.ts es2panda/test/TypeScript/tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral2.ts es2panda/test/TypeScript/tests/cases/conformance/types/keyof/keyofAndIndexedAccess.ts -es2panda/test/TypeScript/tests/cases/conformance/types/literal/literalTypesAndDestructuring.ts es2panda/test/TypeScript/tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts es2panda/test/TypeScript/tests/cases/conformance/types/specifyingTypes/typeQueries/typeQueryWithReservedWords.ts es2panda/test/TypeScript/tests/cases/conformance/types/stringLiteral/stringLiteralTypesAndParenthesizedExpressions01.ts -- Gitee