invalid_deprecated_optional_annotation 진단: 선택 매개변수 전용 애너테이션을 잘못 붙였을 때

invalid_deprecated_optional_annotation 진단: 선택 매개변수 전용 애너테이션을 잘못 붙였을 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. invalid_deprecated_optional_annotation@Deprecated.optional 애너테이션을 선택적(optional) 매개변수가 아닌 곳에 붙였을 때 분석기가 알려주는 컴파일 타임 진단이에요. 이 애너테이션은 선택적 매개변수에만 붙일 수 있어요.

출처: invalid_deprecated_optional_annotation

본문

설명

분석기는 @Deprecated.optional 애너테이션이 선택적 매개변수가 아닌 매개변수에 적용됐을 때 이 진단을 만들어요. 특히 이 애너테이션은 지역 함수(local function), 익명 함수(anonymous function), 함수 타입 매개변수, 그리고 typedef의 매개변수에는 쓰면 안 돼요. 최상위 함수, 메서드, 생성자의 선택적 매개변수에만 유효해요.

예시

아래 코드는 애너테이션을 필수 매개변수에 붙였기 때문에 이 진단이 나와요.

void f(@Deprecated.optional() int p) {}

흔한 해결 방법

애너테이션을 제거하면 돼요.

void f(int p) {}

더 알아보기