1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

Распыление массива с неправильным типом приводит к падению компилятора

Предстоит сделать
Владелец
Создано  
05.03.2025

Компонент

Интерпретатор

Репродукция

Данный код

interface Ветка {}
class Лист extends Ветка {}

function main(): void {
    Array.of(...([new Лист()] as Ветка[]))
}
```вызывает аварийное завершение компилятора:

ПРЕДУСЛОВИЕ НЕ УСПЕШНО: IsIdentifier()
В .../tools/es2panda/ir/astNode.h:158: AsIdentifier
ОШИБКА: 2 (Файл или каталог не существует)
Откат [tid=1650307]:
#0 : 0x7f9cbffcbaa2 ? ? : ?
#1:Need Support Constant Folding for annotation and enum : 0x7f9cbffcba0b ark::debug::AssertionFail(char const*, char const*, unsigned int, char const*)+0x1ac
#2:Need to shutdown diff between product build in --version : 0x7f9cc0f20b15 ark::es2panda::ir::AstNode::AsIdentifier()+0x53
#3:[Bug]:Union type of the same type works wrong with undefined in compile time condition. : 0x7f9cc130d1ba ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::SpreadElement*) const+0x40
#4:Add initial script to download and build hello app : 0x7f9cc117eefd ark::es2panda::ir::SpreadElement::Check(ark::es2panda::checker::ETSChecker*)+0x39
#5:Need to modify reviewer list : 0x7f9cc13a880b ark::es2panda::checker::ETSChecker::ValidateSignatures(std::vector<ark::es2panda::checker::Signature*, ark::ArenaAllocatorAdapter<ark::es2panda::checker::Signature*, false> >&, ark::es2panda::ir::TSTypeParameterInstantiation const*, std::vector<ark::es2panda::ir::Expression*, ark::ArenaAllocatorAdapter<ark::es2panda::ir::Expression*, false> > const&, ark::es2panda::lexer::SourcePosition const&, std::basic_string_view<char, std::char_traits >, ark::es2panda::checker::TypeRelationFlag)+0x303
#6:[Bug]: memory optimization : 0x7f9cc13a9e8c ark::es2panda::checker::ETSChecker::ResolveCallExpressionAndTrailingLambda(std::vector<ark::es2panda::checker::Signature*, ark::ArenaAllocatorAdapter<ark::es2panda::checker::Signature*, false> >&, ark::es2panda::ir::CallExpression*, ark::es2panda::lexer::SourcePosition const&, ark::es2panda::checker::TypeRelationFlag)+0x1ae
#7:[Bug]: dead code elimination : 0x7f9cc1311543 ark::es2panda::checker::ETSAnalyzer::ResolveSignature(ark::es2panda::checker::ETSChecker*, ark::es2panda::ir::CallExpression*, ark::es2panda::checker::Type*, bool, bool) const+0x2fd
#8:[Bug]: Bytecode optimization : Yöntem: 0x7f9cc13118b8 ark::es2panda::checker::ETSAnalyzer::GetReturnType(ark::es2panda::ir::CallExpression*, ark::es2panda::checker::Type*) const+0x2b8
#9:[es2panda] Broken --version flag : 0x7f9cc1311fdd ark::es2panda::checker::ETSAnalyzer::GetCallExpressionReturnType(ark::es2panda::ir::CallExpression*, ark::es2panda::checker::Type*) const+0x169
#10:[ArkTs] Remove ThrowTypeError function for ETS extension completely: 0x7f9cc1312469 ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::CallExpression*) const+0x187
#11:[ArkTS frontend] Support Type Alias : 0x7f9cc118b846 ark::es2panda::ir::CallExpression::Check(ark::es2panda::checker::ETSChecker*)+0x36
#12:[Bug]: es2abc memory leak: 0x7f9cc1316c3f ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::ExpressionStatement*) const+0x49

 ```#14: 0x7f9cc131656d ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::BlockStatement*) const+0xeb
  #15: 0x7f9cc11a63ea ark::es2panda::ir::BlockStatement::Check(ark::es2panda::checker::ETSChecker*)+0x36
  #16: 0x7f9cc1328942 ark::es2panda::checker::DoBodyTypeChecking(ark::es2panda::checker::ETSChecker*, ark::es2panda::ir::MethodDefinition*, ark::es2panda::ir::ScriptFunction*)+0x2fc
  #17: 0x7f9cc130cc67 ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::MethodDefinition*) const+0x2e5
  #18: 0x7f9cc11799a5 ark::es2panda::ir::MethodDefinition::Check(ark::es2panda::checker::ETSChecker*)+0x39
  #19: 0x7f9cc13eb028 ark::es2panda::checker::ETSChecker::CheckClassDefinition(ark::es2panda::ir::ClassDefinition*)+0x47e
  #20: 0x7f9cc130c203 ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::ClassDefinition*) const+0x73
  #21: 0x7f9cc116ccbe ark::es2panda::ir::ClassDefinition::Check(ark::es2panda::checker::ETSChecker*)+0x36
  #22: 0x7f9cc13169b1 ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::ClassDeclaration*) const+0x49
  #23: 0x7f9cc11a79ca ark::es2panda::ir::ClassDeclaration::Check(ark::es2panda::checker::ETSChecker*)+0x36
  #24: 0x7f9cc131656d ark::es2panda::checker::ETSAnalyzer::Check(ark::es2panda::ir::BlockStatement*) const+0xeb
  #25: 0x7f9cc11a63ea ark::es2panda::ir::BlockStatement::Check(ark::es2panda::checker::ETSChecker*)+0x36
  #26: 0x7f9cc1335f3a ark::es2panda::checker::ETSChecker::CheckProgram(ark::es2panda::parser::Program*, bool)+0x2d0
  #27: 0x7f9cc1335a13 ark::es2panda::checker::ETSChecker::StartChecker(ark::es2panda::varbinder::VarBinder*, ark::es2panda::CompilerOptions const&)+0x1b3
  #28: 0x7f9cc106ca39 ark::es2panda::compiler::CheckerPhase::Perform(ark::es2panda::public_lib::Context*, ark::es2panda::parser::Program*)+0x71
  #29: 0x7f9cc1089411 ark::es2panda::compiler::Phase::Apply(ark::es2panda::public_lib::Context*, ark::es2panda::parser::Program*)+0x249
  #30: 0x7f9cc0f74d8e Неопределено :Неопределено 
  #31: 0x7f9cc0f7691f Неопределено :Неопределено 
  #32: 0x7f9cc0f7571d ark::es2panda::compiler::CompilerImpl::Compile(ark::es2panda::compiler::CompilationUnit const&)+0x10d
  #33: 0x7f9cc0f163fe ark::es2panda::Compiler::Compile(ark::es2panda::SourceFile const&, ark::es2panda::util::Options const&, unsigned int)+0x66
  #34: 0x10003f076 Неопределено :Неопределено 
  #35: 0x10003fd64 Неопределено :Неопределено 
  #36: 0x10003fdf6 main+0x40
  #37: 0x7f9cbfae1083 __libc_start_main+0xf3
  #38: 0x10003ef3e _start+0x2e

```Для выполнения задачи мне необходим исходный текст, который требуется перевести с одного языка на другой. Пожалуйста, предоставьте текст для перевода.```

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
enhancement
label.
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkcompiler_ets_frontend.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkcompiler_ets_frontend.git
oschina-mirror
openharmony-arkcompiler_ets_frontend
openharmony-arkcompiler_ets_frontend