dot_shorthand_missing_context 진단: 컨텍스트 타입이 없으면 dot shorthand를 쓸 수 없어요
dot_shorthand_missing_context 진단: 컨텍스트 타입이 없으면 dot shorthand를 쓸 수 없어요
Dart 분석기가 내보내는 진단에는 이름이 있어요. dot_shorthand_missing_context는 컨텍스트 타입(context type)이 없는 곳에서 dot shorthand를 사용할 때 분석기가 알려주는 컴파일 타임 진단이에요. dot shorthand는 타입을 추론할 컨텍스트가 필요해서, 그게 없으면 어떤 타입을 참조하는지 알 수 없어요.
본문
설명
분석기는 컨텍스트 타입이 없는 곳에서 dot shorthand를 사용할 때 이 진단을 만들어요.
예시
다음 코드는 .a라는 표현식에 대한 컨텍스트 타입이 없기 때문에 이 진단이 나와요.
void f() {
var e = .a;
print(e);
}
enum E { a, b }
흔한 해결 방법
dot shorthand를 쓰고 싶다면 컨텍스트 타입을 추가해 주세요. 이 예시에서는 로컬 변수에 명시적 타입 E를 붙이면 돼요.
void f() {
E e = .a;
print(e);
}
enum E { a, b }
컨텍스트 타입을 추가하고 싶지 않다면, 참조하는 멤버를 담고 있는 타입의 이름을 지정해 주세요. 이 경우에는 E예요.
void f() {
var e = E.a;
print(e);
}
enum E { a, b }