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

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Запрос консультации]: [Migration Helper][Спецификации инструмента миграции] В соответствии с правилами...

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

ограничения типа выражений в операторе switch (arkts-switch-expr) переменные, объявленные с помощью let или const, как целые числа (number) без типа или с типом, а также значения 0 и 1.0, были неправильно определены.

Описание проблемы

Сетевая среда: отсутствует
Предварительные условия:
Самая свежая версия для тестирования

Шаги тестирования:
Сканирование файла
// const объявление, целое число number, без типа
const num = 2;

function Fun(a: number) {
switch (a) {
case 1: {
console.log('One');
break;
}
case 2: {
console.log('Two');
break;
}
}
}

Fun(num);

// const объявление, целое число number, с типом
const num11: number = 2;
switch (num11) {
case 1: {
console.log('One');
break;
}
case 2: {
console.log('Two');
break;
}
}

// let объявление, целое число number, без типа
let num0 = 2;
switch (num0) {
case 1: {
console.log('One');
break;
}
case 2: {
console.log('Two');
break;
}
}

// let объявление, целое число number, с типом
let num00: number = 2;
switch (num11) {
case 1: {
console.log('One');
break;
}
case 2: {
console.log('Two');
break;
}
}

// 0
let num1 = 0;
switch (num1) {
case 0:
console.log('One');
break;
default:
console.log('Другое число');
}

// 1.0
let num111 = 1.0;
switch (num111) {
case 1.0:
console.log('One');
break;
case 2.0:
console.log('Другое число');
}

Ожидаемый результат:
Сканирование прошло успешно

Фактический результат:
Целые числа number, объявленные с типом или без типа, число 0 и число 1.0 были ошибочно сканированы

Метод восстановления: отсутствует
Вероятность появления: 3/3
Информация для локализации:

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

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
question
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