positional_field_in_object_pattern 진단: 객체 패턴의 필드에는 이름이 필요해요
positional_field_in_object_pattern 진단: 객체 패턴의 필드에는 이름이 필요해요
Dart 분석기가 내보내는 진단에는 이름이 있어요. positional_field_in_object_pattern은 객체 패턴(object pattern) 안에 getter 이름을 지정하지 않은 필드가 있을 때 분석기가 알려주는 진단이에요. 객체 패턴은 named 필드만 쓸 수 있어요.
본문
설명
분석기는 객체 패턴에 getter 이름을 지정하지 않은 필드가 들어 있을 때 이 진단을 만들어요. 객체 패턴의 필드는 객체의 getter가 돌려주는 값과 매칭을 시도해요. getter 이름이 지정되지 않으면 패턴 필드가 어떤 값을 가져와 매칭해야 할지 알 수 없어요.
예시
다음 코드는 객체 패턴 String(1)이 String의 어떤 getter를 접근해서 값 1과 비교해야 하는지 지정하지 않았기 때문에 이 진단을 만들어요.
void f(Object o) {
if (o case String(1)) {}
}
흔한 해결 방법
매칭할 패턴 앞에 접근할 getter 이름과 콜론을 붙여 주세요.
void f(Object o) {
if (o case String(length: 1)) {}
}