`creation_with_non_type` — 이름이 클래스가 아니라서 생기는 진단
creation_with_non_type — 이름이 클래스가 아니라서 생기는 진단
인스턴스를 만들 때 new나 const로 지정한 이름이 클래스로 정의되어 있지 않으면, Dart 분석기가 이 진단을 알려줘요. 함수 이름을 클래스처럼 쓴 게 아닌지 확인해 보면 돼요.
본문
new나 const를 써서 인스턴스를 만들 때, 그 뒤에 오는 이름이 클래스로 정의되어 있지 않다면 이 진단이 발생해요.
예시
아래 코드는 f가 클래스가 아니라 함수이기 때문에 이 진단이 발생해요.
int f() => 0;
void g() {
new f();
}
흔한 해결 방법
클래스를 만들려는 상황이라면, 잘못된 이름을 유효한 클래스 이름으로 바꿔주면 돼요.
int f() => 0;
void g() {
new Object();
}
만약 해당 이름이 함수 이름이고 그 함수를 호출하려는 거라면, new나 const 키워드를 빼주면 돼요.
int f() => 0;
void g() {
f();
}