@@ -28,7 +28,6 @@ import org.domaframework.doma.intellij.common.sql.validator.result.ValidationCom
2828import org.domaframework.doma.intellij.extension.psi.findParameter
2929import org.domaframework.doma.intellij.extension.psi.getDomaAnnotationType
3030import org.domaframework.doma.intellij.extension.psi.getIterableClazz
31- import org.domaframework.doma.intellij.extension.psi.methodParameters
3231import org.domaframework.doma.intellij.inspection.ForDirectiveInspection
3332import org.domaframework.doma.intellij.psi.SqlElFieldAccessExpr
3433import org.domaframework.doma.intellij.psi.SqlTypes
@@ -73,12 +72,14 @@ class SqlElIdExprReference(
7372 val targetParent = targetReferenceClass.parentClass
7473 val reference =
7574 targetParent.findField(searchText) ? : targetParent.findMethod(searchText)
76- PluginLoggerUtil .countLogging(
77- this ::class .java.simpleName,
78- " ReferenceEntityProperty" ,
79- " Reference" ,
80- startTime,
81- )
75+ if (reference != null ) {
76+ PluginLoggerUtil .countLogging(
77+ this ::class .java.simpleName,
78+ " ReferenceEntityProperty" ,
79+ " Reference" ,
80+ startTime,
81+ )
82+ }
8283 return reference
8384 }
8485 }
@@ -106,31 +107,36 @@ class SqlElIdExprReference(
106107 bindElement : PsiElement ,
107108 startTime : Long ,
108109 ): PsiElement ? {
109- daoMethod
110- .let { method ->
111- method.methodParameters.firstOrNull { param ->
112- param.name == bindElement.text
113- }
114- }?.let { originalElm ->
115- PluginLoggerUtil .countLogging(
116- this ::class .java.simpleName,
117- " ReferenceDaoMethodParameter" ,
118- " Reference" ,
119- startTime,
120- )
121- psiClassType = originalElm.type
122- return originalElm.originalElement
123- } ? : return null
110+ daoMethod.findParameter(bindElement.text)?.let { originalElm ->
111+ PluginLoggerUtil .countLogging(
112+ this ::class .java.simpleName,
113+ " ReferenceDaoMethodParameter" ,
114+ " Reference" ,
115+ startTime,
116+ )
117+ psiClassType = originalElm.type
118+ return originalElm.originalElement
119+ } ? : return null
124120 }
125121
126122 private fun getReferenceEntity (
127123 topParentClass : PsiParentClass ,
128124 targetElement : List <PsiElement >,
129125 startTime : Long ,
130126 ): PsiElement ? {
127+ val searchText = cleanString(targetElement.lastOrNull()?.text ? : " " )
131128 if (targetElement.size <= 2 ) {
132- val searchText = targetElement.lastOrNull()?.text ? : " "
133- return topParentClass.findField(searchText) ? : topParentClass.findMethod(searchText)
129+ val reference =
130+ topParentClass.findField(searchText) ? : topParentClass.findMethod(searchText)
131+ if (reference != null ) {
132+ PluginLoggerUtil .countLogging(
133+ this ::class .java.simpleName,
134+ " ReferenceEntityProperty" ,
135+ " Reference" ,
136+ startTime,
137+ )
138+ }
139+ return reference
134140 }
135141
136142 val validator =
@@ -141,14 +147,15 @@ class SqlElIdExprReference(
141147 val validateResult = validator.validateChildren()
142148 if (validateResult != null ) {
143149 val targetClass = validateResult.parentClass ? : return null
144- val searchText = targetElement.lastOrNull()?.text ? : " "
145150 val reference = targetClass.findField(searchText) ? : targetClass.findMethod(searchText)
146- PluginLoggerUtil .countLogging(
147- this ::class .java.simpleName,
148- " ReferenceEntityProperty" ,
149- " Reference" ,
150- startTime,
151- )
151+ if (reference != null ) {
152+ PluginLoggerUtil .countLogging(
153+ this ::class .java.simpleName,
154+ " ReferenceEntityProperty" ,
155+ " Reference" ,
156+ startTime,
157+ )
158+ }
152159 return reference
153160 }
154161 return null
0 commit comments