@@ -30,11 +30,13 @@ import org.domaframework.doma.intellij.common.psi.PsiParentClass
3030import org.domaframework.doma.intellij.common.psi.PsiStaticElement
3131import org.domaframework.doma.intellij.common.sql.cleanString
3232import org.domaframework.doma.intellij.common.sql.validator.result.ValidationDaoParamResult
33+ import org.domaframework.doma.intellij.common.sql.validator.result.ValidationPropertyResult
3334import org.domaframework.doma.intellij.common.util.ForDirectiveUtil
3435import org.domaframework.doma.intellij.extension.expr.accessElements
3536import org.domaframework.doma.intellij.extension.psi.findParameter
3637import org.domaframework.doma.intellij.extension.psi.getForItem
3738import org.domaframework.doma.intellij.extension.psi.isFirstElement
39+ import org.domaframework.doma.intellij.extension.psi.psiClassType
3840import org.domaframework.doma.intellij.psi.SqlElFieldAccessExpr
3941import org.domaframework.doma.intellij.psi.SqlElForDirective
4042import org.domaframework.doma.intellij.psi.SqlElIdExpr
@@ -178,12 +180,23 @@ class SqlInspectionVisitor(
178180 val psiStaticClass = PsiStaticElement (staticAccuser.elClass.elIdExprList, staticAccuser.containingFile)
179181 val referenceClass = psiStaticClass.getRefClazz() ? : return
180182 val topParentClass = ForDirectiveUtil .getStaticFieldAccessTopElementClassType(staticAccuser, referenceClass)
183+ if (topParentClass == null ) {
184+ blockElements.firstOrNull()?.let {
185+ ValidationPropertyResult (
186+ it,
187+ PsiParentClass (referenceClass.psiClassType),
188+ this .shortName,
189+ ).highlightElement(holder)
190+ }
191+ return
192+ }
181193 val result =
182- topParentClass? .let {
194+ topParentClass.let {
183195 ForDirectiveUtil .getFieldAccessLastPropertyClassType(
184196 blockElements,
185197 staticAccuser.project,
186198 it,
199+ shortName = this .shortName,
187200 )
188201 }
189202 result?.highlightElement(holder)
0 commit comments