undefined_method 진단: 정의되지 않은 메서드를 호출했을 때
undefined_method 진단: 정의되지 않은 메서드를 호출했을 때
분석기가 내보내는 진단에는 이름이 있어요. undefined_method는 어떤 타입에 정의되어 있지 않은 메서드를 호출했을 때 Dart 분석기가 알려주는 진단이에요. 메서드 이름을 잘못 적었거나, 참조하는 스코프 안에서 이름이 보이지 않는 경우에 주로 발생해요.
출처: undefined_method
본문
설명
분석기는 메서드의 이름으로 보이는 식별자를 만났는데, 그 식별자가 정의되어 있지 않거나, 참조하고 있는 스코프 안에서 보이지 않을 때 이 진단을 만들어요.
예시
다음 코드는 removeMiddle이라는 식별자가 정의되어 있지 않기 때문에 이 진단을 만들어요.
int f(List<int> l) => l.removeMiddle();
흔한 해결 방법
식별자가 정의되어 있지 않다면 직접 정의하거나, 정의되어 있는 메서드 이름으로 바꿔요. 위 예시는 메서드의 철자를 고쳐서 해결할 수 있어요.
int f(List<int> l) => l.removeLast();