Pular para o conteúdo principal

avoid_bool_literals_in_conditional_expressions

Detalhes sobre o diagnóstico 'avoid_bool_literals_in_conditional_expressions' produzido pelo analisador do Dart.

Conditional expressions with a 'bool' literal can be simplified.

Descrição

#

O analisador emite este diagnóstico quando uma expressão condicional usa um literal booleano, e ambos os ramos são booleanos. Você pode simplificar essas expressões usando && ou ||.

Exemplos

#

O código a seguir produz este diagnóstico porque a expressão do ramo then é o literal bool true:

dart
bool f(bool a, bool b) => a ? true : b;

O código a seguir produz este diagnóstico porque a expressão do ramo else é o literal bool false:

dart
bool f(bool a, bool b) => a ? b : false;

Correções comuns

#

Substitua a expressão condicional pela expressão lógica equivalente. Se a expressão do ramo then for um literal booleano, substitua-a por uma das seguintes opções:

dart
bool f(bool a, bool b) => a || b; // replaces: a ? true : b
bool g(bool a, bool b) => !a && b; // replaces: a ? false : b

Se a expressão do ramo else for um literal booleano, substitua-a por uma das seguintes opções:

dart
bool f(bool a, bool b) => !a || b; // replaces: a ? b : true
bool g(bool a, bool b) => a && b; // replaces: a ? b : false

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ê.