sdk_ version_ gt_ gt_ gt_ operator
Detalhes sobre o diagnóstico 'sdk_version_gt_gt_gt_operator' produzido pelo analisador do Dart.
The operator '>>>' wasn't supported until version 2.14.0, but this code is required to be able to run on earlier versions.
Descrição
#
O analisador emite este diagnóstico quando o operador >>> é usado em código que tem uma restrição de SDK cujo limite inferior é menor que 2.14.0. Esse operador não era suportado em versões anteriores, então esse código não conseguirá rodar nas versões anteriores do SDK.
Exemplo
#Aqui está um exemplo de um pubspec que define uma restrição de SDK com limite inferior menor que 2.14.0:
environment:
sdk: '>=2.0.0 <2.15.0'
No pacote que tem esse pubspec, um código como o seguinte gera este diagnóstico:
int x = 3 >>> 4;
Correções comuns
#Se você não precisa oferecer suporte a versões mais antigas do SDK, pode aumentar a restrição de SDK para permitir o uso do operador:
environment:
sdk: '>=2.14.0 <2.15.0'
Se você precisa oferecer suporte a versões mais antigas do SDK, reescreva o código para não usar o operador
>>>:
int x = logicalShiftRight(3, 4);
int logicalShiftRight(int leftOperand, int rightOperand) {
int divisor = 1 << rightOperand;
if (divisor == 0) {
return 0;
}
return leftOperand ~/ divisor;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.