non_const_argument_for_const_parameter
non_const_argument_for_const_parameter
mustBeConst로 표시된 파라미터에는 상수 표현식을 넘겨야 해요. 값이 상수가 아니면 이 lint가 잡아 주는 거예요.
본문
설명
분석기는 mustBeConst 어노테이션이 붙은 파라미터에 대응하는 인자가 상수 표현식이 아니면 이 진단을 만들어요.
예시
아래 코드는 함수 f의 호출 지점에서, 함수 g에 넘겨진 인자의 값이 상수가 아니라서 이 진단이 나타나요.
import 'package:meta/meta.dart' show mustBeConst;
int f(int value) => g(value);
int g(@mustBeConst int value) => value + 1;
흔한 해결 방법
사용하기에 적당한 상수가 있다면, 인자를 상수로 바꿔 주세요.
import 'package:meta/meta.dart' show mustBeConst;
const v = 3;
int f() => g(v);
int g(@mustBeConst int value) => value + 1;
더 알아보기
mustBeConst어노테이션은meta패키지에서 제공돼요. 상수(객체를 포함한)와 const 표현식 관련 Dart 문서를 함께 보면 좋아요.