invocation_of_non_function_expression 진단: 함수가 아닌 표현식 호출
invocation_of_non_function_expression 진단: 함수가 아닌 표현식 호출
Dart 분석기가 만들어 내는 invocation_of_non_function_expression 진단에 대해 설명해요.
본문
그 표현식은 함수로 평가되지 않기 때문에 호출할 수 없어요.
설명
분석기는 함수 호출을 발견했는데, 참조되는 이름이 함수의 이름이 아니거나, 함수를 계산하는 표현식이 함수를 계산하지 않을 때 이 진단을 만들어요.
예시
다음 코드는 x가 함수가 아니기 때문에 이 진단을 만들어요.
int x = 0;
int f() => x;
var y = x();
다음 코드는 f()가 함수를 반환하지 않기 때문에 이 진단을 만들어요.
int x = 0;
int f() => x;
var y = f()();
흔한 해결 방법
함수를 호출해야 한다면, 인자 목록 앞의 코드를 함수의 이름이나 함수를 계산하는 표현식으로 바꿔요.
int x = 0;
int f() => x;
var y = f();