Skip to content

Commit 3893e24

Browse files
committedJan 18, 2015
add method quickfix and inspection for yaml tag method #422
1 parent 7988e41 commit 3893e24

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed
 

‎src/fr/adrienbrault/idea/symfony2plugin/config/yaml/inspection/YamlMethodCallInspection.java

+29-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.intellij.codeInspection.ProblemHighlightType;
55
import com.intellij.codeInspection.ProblemsHolder;
66
import com.intellij.patterns.PlatformPatterns;
7+
import com.intellij.patterns.StandardPatterns;
78
import com.intellij.psi.PsiElement;
89
import com.intellij.psi.PsiElementVisitor;
910
import com.intellij.psi.PsiFile;
@@ -98,14 +99,39 @@ public void visitElement(PsiElement element) {
9899

99100
}
100101

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+
101117
private void annotateCallMethod(@NotNull final PsiElement psiElement, @NotNull ProblemsHolder holder) {
102118

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)))
105128
{
106-
return;
129+
visitYamlMethod(psiElement, holder);
107130
}
108131

132+
}
133+
134+
private void visitYamlMethod(PsiElement psiElement, ProblemsHolder holder) {
109135
if(!YamlElementPatternHelper.getInsideKeyValue("calls").accepts(psiElement)){
110136
return;
111137
}

0 commit comments

Comments
 (0)
Please sign in to comment.