Skip to content

Commit 538c957

Browse files
committed
Update static property validation to include class context in error message
1 parent f51ffd7 commit 538c957

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

src/main/kotlin/org/domaframework/doma/intellij/common/sql/validator/result/ValidationNotFoundStaticPropertyResult.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import com.intellij.openapi.util.TextRange
2121
import com.intellij.psi.PsiElement
2222
import org.domaframework.doma.intellij.bundle.MessageBundle
2323
import org.domaframework.doma.intellij.common.psi.PsiParentClass
24+
import org.domaframework.doma.intellij.psi.SqlElClass
2425

2526
class ValidationNotFoundStaticPropertyResult(
2627
override val identify: PsiElement?,
28+
val clazz: SqlElClass,
2729
override val shortName: String = "",
2830
) : ValidationResult(identify, null, shortName) {
2931
override fun setHighlight(
@@ -39,6 +41,7 @@ class ValidationNotFoundStaticPropertyResult(
3941
MessageBundle.message(
4042
"inspection.invalid.sql.staticProperty",
4143
identify.text,
44+
clazz.text,
4245
),
4346
problemHighlightType(project, shortName),
4447
highlightRange,

src/main/kotlin/org/domaframework/doma/intellij/inspection/sql/handler/InspectionStaticFieldAccessVisitorProcessor.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
package org.domaframework.doma.intellij.inspection.sql.handler
1717

1818
import com.intellij.codeInspection.ProblemsHolder
19-
import org.domaframework.doma.intellij.common.psi.PsiParentClass
2019
import org.domaframework.doma.intellij.common.psi.PsiStaticElement
2120
import org.domaframework.doma.intellij.common.sql.validator.result.ValidationClassPathResult
22-
import org.domaframework.doma.intellij.common.sql.validator.result.ValidationPropertyResult
21+
import org.domaframework.doma.intellij.common.sql.validator.result.ValidationNotFoundStaticPropertyResult
2322
import org.domaframework.doma.intellij.common.util.ForDirectiveUtil
2423
import org.domaframework.doma.intellij.extension.expr.accessElements
25-
import org.domaframework.doma.intellij.extension.psi.psiClassType
2624
import org.domaframework.doma.intellij.psi.SqlElStaticFieldAccessExpr
2725

2826
class InspectionStaticFieldAccessVisitorProcessor(
@@ -49,9 +47,9 @@ class InspectionStaticFieldAccessVisitorProcessor(
4947
val topParentClass = ForDirectiveUtil.getStaticFieldAccessTopElementClassType(staticAccuser, referenceClass)
5048
if (topParentClass == null) {
5149
blockElements.firstOrNull()?.let {
52-
ValidationPropertyResult(
50+
ValidationNotFoundStaticPropertyResult(
5351
it,
54-
PsiParentClass(referenceClass.psiClassType),
52+
staticAccuser.elClass,
5553
shortName,
5654
).highlightElement(holder)
5755
}

src/main/resources/messages/DomaToolsBundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ inspection.dao.method.variable.error=There are unused parameters in the SQL [{0}
77
inspector.invalid.dao.parameter=The bind variable [{1}] does not exist in the Dao method [{0}]
88
config.enable.sql.format=Enable SQL Format
99
inspection.invalid.sql.topType=Can't get type of first element
10-
inspection.invalid.sql.staticProperty=[{0}] is not a public or static property
10+
inspection.invalid.sql.staticProperty=[{0}] is not a public or static property in the class [{1}]
1111
inspection.invalid.sql.testdata=Bind variables must be followed by test data
1212
inspection.invalid.sql.classpath=A non-existent package or class name was specified [{0}]
1313
inspection.invalid.sql.iterable=The type that can be used in the for directive is an Iterable type

src/main/resources/messages/DomaToolsBundle_ja.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ inspection.dao.method.variable.error=SQL\u3067\u4F7F\u7528\u3055\u308C\u3066\u30
77
inspector.invalid.dao.parameter=Dao\u30E1\u30BD\u30C3\u30C9[{0}]\u306B\u5B58\u5728\u3057\u306A\u3044\u30D0\u30A4\u30F3\u30C9\u5909\u6570\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059:[{1}]
88
config.enable.sql.format=SQL\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u6709\u52B9\u5316
99
inspection.invalid.sql.topType=\u6700\u521D\u306E\u8981\u7D20\u306E\u578B\u304C\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093
10-
inspection.invalid.sql.staticProperty=[{0}]\u306F\u0070\u0075\u0062\u006C\u0069\u0063\u304B\u3064\u0073\u0074\u0061\u0074\u0069\u0063\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u306F\u3042\u308A\u307E\u305B\u3093
10+
inspection.invalid.sql.staticProperty=[{0}]\u0020\u306F\u30AF\u30E9\u30B9\u0020[{1}]\u0020\u306E\u0020\u0070\u0075\u0062\u006C\u0069\u0063\u0020\u307E\u305F\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u306F\u3042\u308A\u307E\u305B\u3093
1111
inspection.invalid.sql.testdata=\u30D0\u30A4\u30F3\u30C9\u5909\u6570\u306E\u5F8C\u308D\u306B\u306F\u30C6\u30B9\u30C8\u30C7\u30FC\u30BF\u304C\u5FC5\u8981\u3067\u3059
1212
inspection.invalid.sql.classpath=\u5B58\u5728\u3057\u306A\u3044\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F\u3002:[{0}]
1313
inspection.invalid.sql.iterable=\u0066\u006F\u0072\u30C7\u30A3\u30EC\u30AF\u30C6\u30A3\u30D6\u306B\u4F7F\u7528\u3067\u304D\u308B\u578B\u306F\u0049\u0074\u0065\u0072\u0061\u0062\u006C\u0065\u578B\u3067\u3059

0 commit comments

Comments
 (0)