File tree Expand file tree Collapse file tree 6 files changed +302
-277
lines changed
java/org/domaframework/doma/intellij
kotlin/org/domaframework/doma/intellij/extension/expr
kotlin/org/domaframework/doma/intellij/document
src/main/resources/META-INF/doma/example/dao/EmployeeSummaryDao Expand file tree Collapse file tree 6 files changed +302
-277
lines changed Original file line number Diff line number Diff line change @@ -136,7 +136,7 @@ el_and_expr ::= el_expr "&&" el_expr
136136el_or_expr ::= el_expr "||" el_expr
137137
138138// term
139- el_term_expr ::= el_comparison_expr_group | el_arithmetic_expr_group | el_factor_expr
139+ el_term_expr ::= el_comparison_expr_group | el_arithmetic_expr_group | el_factor_expr | el_paren_expr
140140private el_comparison_expr_group ::= el_eq_expr | el_ne_expr | el_lt_expr | el_le_expr | el_gt_expr | el_ge_expr
141141private el_arithmetic_expr_group ::= el_add_expr | el_subtract_expr | el_multiply_expr | el_divide_expr | el_mod_expr
142142el_eq_expr ::= el_factor_expr "==" el_factor_expr
@@ -165,10 +165,10 @@ el_class ::= el_id_expr ("." el_id_expr)*
165165el_parameters ::= "(" (el_expr ("," el_expr)*)? ")" {pin=1}
166166
167167// primary
168- el_primary_expr ::= el_literal_expr | el_id_expr | el_paren_expr
168+ el_primary_expr ::= el_literal_expr | el_id_expr // | el_paren_expr
169169private el_literal_expr ::= EL_NULL | BOOLEAN | (EL_PLUS | EL_MINUS)? EL_NUMBER | EL_STRING | EL_CHAR
170170el_id_expr ::= EL_IDENTIFIER
171171{
172172 mixin="org.domaframework.doma.intellij.psi.SqlElPrimaryExprImpl"
173173}
174- private el_paren_expr ::= "(" el_expr ")" {pin=1}
174+ private el_paren_expr ::= "(" el_expr ")"
Original file line number Diff line number Diff line change @@ -34,7 +34,8 @@ val SqlElStaticFieldAccessExpr.accessElements: List<SqlElIdExpr>
3434
3535val SqlElFieldAccessExpr .accessElements: List <SqlElIdExpr ?>
3636 get() =
37- this .elExprList
37+ this
38+ .getElPrimaryExprList()
3839 .mapNotNull { it as SqlElIdExpr }
3940 .sortedBy { it.textOffset }
4041 .toList()
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ package org.domaframework.doma.intellij.document
1818import com.intellij.openapi.vfs.VirtualFile
1919import com.intellij.psi.PsiElement
2020import org.domaframework.doma.intellij.DomaSqlTest
21+ import org.domaframework.doma.intellij.extension.expr.accessElements
2122import org.domaframework.doma.intellij.psi.SqlBlockComment
2223import org.domaframework.doma.intellij.psi.SqlElFieldAccessExpr
2324import org.domaframework.doma.intellij.psi.SqlElForDirective
@@ -196,6 +197,6 @@ class SqlSymbolDocumentTestCase : DomaSqlTest() {
196197 return forDirective.elExprList.firstOrNull { it.text == searchElementName }
197198 }
198199
199- return fieldAccessExpr.elExprList .firstOrNull { it.text == searchElementName }
200+ return fieldAccessExpr.accessElements .firstOrNull { it? .text == searchElementName }
200201 }
201202}
Original file line number Diff line number Diff line change @@ -14,10 +14,10 @@ SELECT e.employee_id
1414 WHERE e .user_id = /* user.userId */ 0
1515 AND e .employee_id = /* employee.employeeId */ 0
1616 AND e .join_date <= /* referenceDate + 1 */ ' 2099/12/31'
17- /* %if @isNotBlank(employee.departmentId) */
17+ /* %if @isNotBlank(employee.departmentId) && (employee.departmentId > 100) */
1818 /* %if employee.departmentId.startsWith("200") */
1919 AND e .department_id = /* employee.departmentId + 1 */ ' dept'
20- /* %elseif employee.numberOfProjects >= 3 */
20+ /* %elseif ( employee.numberOfProjects >= 3) */
2121 AND pe .start_date <= CURRENT_DATE
2222 AND pe .end_date >= CURRENT_DATE
2323 /* %end*/
You can’t perform that action at this time.
0 commit comments