sdk_version_gt_gt_gt_operator
演算子 '>>>' はバージョン 2.14.0 までサポートされていませんでしたが、このコードはそれ以前のバージョンでも実行できるようにする必要があります。
説明
#アナライザーは、SDK 制約の下限が 2.14.0 未満のコードで演算子 >>> が使用されている場合に、この診断を生成します。この演算子は以前のバージョンではサポートされていなかったため、このコードは SDK の以前のバージョンでは実行できません。
例
#以下は、2.14.0 未満の下限を持つ SDK 制約を定義する pubspec の例です。
yaml
environment:
sdk: '>=2.0.0 <2.15.0'その`pubspec.yaml`を持つパッケージでは、次のようなコードがこの診断を生成します。
dart
int x = 3 >>> 4;一般的な修正
#古いバージョンの SDK をサポートする必要がない場合は、SDK 制約を増やして演算子を使用できるようにすることができます。
yaml
environment:
sdk: '>=2.14.0 <2.15.0'古いバージョンの SDK をサポートする必要がある場合は、>>> 演算子を使用しないようにコードを書き直してください。
dart
int x = logicalShiftRight(3, 4);
int logicalShiftRight(int leftOperand, int rightOperand) {
int divisor = 1 << rightOperand;
if (divisor == 0) {
return 0;
}
return leftOperand ~/ divisor;
}