`creation_with_non_type` — 이름이 클래스가 아니라서 생기는 진단

creation_with_non_type — 이름이 클래스가 아니라서 생기는 진단

인스턴스를 만들 때 newconst로 지정한 이름이 클래스로 정의되어 있지 않으면, Dart 분석기가 이 진단을 알려줘요. 함수 이름을 클래스처럼 쓴 게 아닌지 확인해 보면 돼요.

출처: creation_with_non_type

본문

newconst를 써서 인스턴스를 만들 때, 그 뒤에 오는 이름이 클래스로 정의되어 있지 않다면 이 진단이 발생해요.

예시

아래 코드는 f가 클래스가 아니라 함수이기 때문에 이 진단이 발생해요.

int f() => 0;

void g() {
  new f();
}

흔한 해결 방법

클래스를 만들려는 상황이라면, 잘못된 이름을 유효한 클래스 이름으로 바꿔주면 돼요.

int f() => 0;

void g() {
  new Object();
}

만약 해당 이름이 함수 이름이고 그 함수를 호출하려는 거라면, newconst 키워드를 빼주면 돼요.

int f() => 0;

void g() {
  f();
}

더 알아보기