invocation_of_non_function_expression 진단: 함수가 아닌 표현식 호출

invocation_of_non_function_expression 진단: 함수가 아닌 표현식 호출

Dart 분석기가 만들어 내는 invocation_of_non_function_expression 진단에 대해 설명해요.

출처: 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();

더 알아보기