|
4 | 4 | import com.intellij.codeInspection.ProblemHighlightType;
|
5 | 5 | import com.intellij.codeInspection.ProblemsHolder;
|
6 | 6 | import com.intellij.patterns.PlatformPatterns;
|
| 7 | +import com.intellij.patterns.StandardPatterns; |
7 | 8 | import com.intellij.psi.PsiElement;
|
8 | 9 | import com.intellij.psi.PsiElementVisitor;
|
9 | 10 | import com.intellij.psi.PsiFile;
|
@@ -98,14 +99,39 @@ public void visitElement(PsiElement element) {
|
98 | 99 |
|
99 | 100 | }
|
100 | 101 |
|
| 102 | + private void visitYamlMethodTagKey(@NotNull final PsiElement psiElement, @NotNull ProblemsHolder holder) { |
| 103 | + |
| 104 | + String methodName = PsiElementUtils.trimQuote(psiElement.getText()); |
| 105 | + if(StringUtils.isBlank(methodName)) { |
| 106 | + return; |
| 107 | + } |
| 108 | + |
| 109 | + String classValue = YamlHelper.getServiceDefinitionClass(psiElement); |
| 110 | + if(classValue == null) { |
| 111 | + return; |
| 112 | + } |
| 113 | + |
| 114 | + registerMethodProblem(psiElement, holder, classValue); |
| 115 | + } |
| 116 | + |
101 | 117 | private void annotateCallMethod(@NotNull final PsiElement psiElement, @NotNull ProblemsHolder holder) {
|
102 | 118 |
|
103 |
| - if((!PlatformPatterns.psiElement(YAMLTokenTypes.TEXT).accepts(psiElement) |
104 |
| - && !PlatformPatterns.psiElement(YAMLTokenTypes.SCALAR_DSTRING).accepts(psiElement))) |
| 119 | + if(StandardPatterns.and( |
| 120 | + YamlElementPatternHelper.getInsideKeyValue("tags"), |
| 121 | + YamlElementPatternHelper.getSingleLineScalarKey("method") |
| 122 | + ).accepts(psiElement)) { |
| 123 | + visitYamlMethodTagKey(psiElement, holder); |
| 124 | + } |
| 125 | + |
| 126 | + if((PlatformPatterns.psiElement(YAMLTokenTypes.TEXT).accepts(psiElement) |
| 127 | + || PlatformPatterns.psiElement(YAMLTokenTypes.SCALAR_DSTRING).accepts(psiElement))) |
105 | 128 | {
|
106 |
| - return; |
| 129 | + visitYamlMethod(psiElement, holder); |
107 | 130 | }
|
108 | 131 |
|
| 132 | + } |
| 133 | + |
| 134 | + private void visitYamlMethod(PsiElement psiElement, ProblemsHolder holder) { |
109 | 135 | if(!YamlElementPatternHelper.getInsideKeyValue("calls").accepts(psiElement)){
|
110 | 136 | return;
|
111 | 137 | }
|
|
0 commit comments