Skip to content

Commit 3d70dab

Browse files
authored
Merge pull request #1531 from Haehnchen/202-support
Final support for PHPStorm 2020.2 version
2 parents b70e250 + 9cc7f91 commit 3d70dab

23 files changed

+128
-106
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ before_install:
2323
- "export ORG_GRADLE_PROJECT_annotationPluginVersion=${ANNOTATION_PLUGIN_VERSION}"
2424

2525
env:
26-
- PHPSTORM_ENV="skip incomplete" IDEA_VERSION="IU-2020.1" PHP_PLUGIN_VERSION="201.6668.153" TWIG_PLUGIN_VERSION="201.6668.153" TOOLBOX_PLUGIN_VERSION="0.4.6" ANNOTATION_PLUGIN_VERSION="5.3" DQL_PLUGIN_VERSION="201.6668.60"
26+
- PHPSTORM_ENV="skip incomplete" IDEA_VERSION="IU-2020.2" PHP_PLUGIN_VERSION="202.6397.115" TWIG_PLUGIN_VERSION="202.6397.21" TOOLBOX_PLUGIN_VERSION="0.4.6" ANNOTATION_PLUGIN_VERSION="5.3" DQL_PLUGIN_VERSION="202.6397.59"
2727

2828
script:
2929
- "./gradlew check verifyPlugin buildPlugin"

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ intellij {
4545
}
4646

4747
patchPluginXml {
48-
sinceBuild '201'
48+
sinceBuild '202'
4949
changeNotes = htmlFixer('src/main/resources/META-INF/change-notes.html')
5050
}
5151

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
ideaVersion = IU-2020.1
2-
phpPluginVersion = 201.6668.153
3-
twigPluginVersion = 201.6668.153
4-
dqlPluginVersion = 201.6668.60
1+
ideaVersion = IU-2020.2
2+
phpPluginVersion = 202.6397.115
3+
twigPluginVersion = 202.6397.21
4+
dqlPluginVersion = 202.6397.59
55
toolboxPluginVersion = 0.4.6
66
annotationPluginVersion = 5.3

src/main/java/fr/adrienbrault/idea/symfony2plugin/config/ConfigLineMarkerProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@
2525
public class ConfigLineMarkerProvider implements LineMarkerProvider {
2626
@Nullable
2727
@Override
28-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement psiElement) {
28+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement psiElement) {
2929
return null;
3030
}
3131

3232
@Override
33-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> result) {
33+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> result) {
3434
if(psiElements.size() == 0 || !Symfony2ProjectComponent.isEnabled(psiElements.get(0))) {
3535
return;
3636
}
@@ -47,7 +47,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
4747
}
4848
}
4949

50-
private void visitRootElements(@NotNull Collection<LineMarkerInfo> result, @NotNull PsiElement psiElement, @NotNull LazyConfigTreeSignatures function) {
50+
private void visitRootElements(@NotNull Collection<? super LineMarkerInfo<?>> result, @NotNull PsiElement psiElement, @NotNull LazyConfigTreeSignatures function) {
5151
PsiElement parent = psiElement.getParent();
5252
if(!(parent instanceof YAMLKeyValue)) {
5353
return;

src/main/java/fr/adrienbrault/idea/symfony2plugin/config/ServiceLineMarkerProvider.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ public class ServiceLineMarkerProvider implements LineMarkerProvider {
4949

5050
@Nullable
5151
@Override
52-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) {
52+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement element) {
5353
return null;
5454
}
5555

5656
@Override
57-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> results) {
57+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> results) {
5858

5959
// we need project element; so get it from first item
6060
if(psiElements.size() == 0) {
@@ -95,7 +95,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
9595
}
9696
}
9797

98-
private void classNameMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo> result) {
98+
private void classNameMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo<?>> result) {
9999
PsiElement phpClassContext = psiElement.getContext();
100100
if(!(phpClassContext instanceof PhpClass) || ((PhpClass) phpClassContext).isAbstract()) {
101101
return;
@@ -161,7 +161,7 @@ private void classNameMarker(PsiElement psiElement, Collection<? super RelatedIt
161161
result.add(builder.createLineMarkerInfo(psiElement));
162162
}
163163

164-
private void entityClassMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo> result) {
164+
private void entityClassMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo<?>> result) {
165165

166166
PsiElement phpClassContext = psiElement.getContext();
167167
if(!(phpClassContext instanceof PhpClass)) {
@@ -197,7 +197,7 @@ private void entityClassMarker(PsiElement psiElement, Collection<? super Related
197197
result.add(builder.createLineMarkerInfo(psiElement));
198198
}
199199

200-
private void repositoryClassMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo> result) {
200+
private void repositoryClassMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo<?>> result) {
201201

202202
PsiElement phpClassContext = psiElement.getContext();
203203
if(!(phpClassContext instanceof PhpClass)) {
@@ -225,7 +225,7 @@ private void repositoryClassMarker(PsiElement psiElement, Collection<? super Rel
225225
result.add(builder.createLineMarkerInfo(psiElement));
226226
}
227227

228-
private void formNameMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo> result) {
228+
private void formNameMarker(PsiElement psiElement, Collection<? super RelatedItemLineMarkerInfo<?>> result) {
229229

230230
if(!(psiElement instanceof StringLiteralExpression)) {
231231
return;
@@ -257,7 +257,7 @@ private void formNameMarker(PsiElement psiElement, Collection<? super RelatedIte
257257

258258
}
259259

260-
private void routeAnnotationFileResource(@NotNull PsiFile psiFile, Collection<? super RelatedItemLineMarkerInfo> results) {
260+
private void routeAnnotationFileResource(@NotNull PsiFile psiFile, Collection<? super RelatedItemLineMarkerInfo<?>> results) {
261261
RelatedItemLineMarkerInfo<PsiElement> lineMarker = FileResourceUtil.getFileImplementsLineMarkerInFolderScope(psiFile);
262262
if(lineMarker != null) {
263263
results.add(lineMarker);
@@ -267,7 +267,7 @@ private void routeAnnotationFileResource(@NotNull PsiFile psiFile, Collection<?
267267
/**
268268
* Constraints in same namespace and validateBy service name
269269
*/
270-
private void validatorClassMarker(PsiElement psiElement, Collection<LineMarkerInfo> results) {
270+
private void validatorClassMarker(PsiElement psiElement, Collection<? super LineMarkerInfo<?>> results) {
271271
PsiElement phpClassContext = psiElement.getContext();
272272
if(!(phpClassContext instanceof PhpClass) || !PhpElementsUtil.isInstanceOf((PhpClass) phpClassContext, "\\Symfony\\Component\\Validator\\Constraint")) {
273273
return;
@@ -293,7 +293,7 @@ private void validatorClassMarker(PsiElement psiElement, Collection<LineMarkerIn
293293
/**
294294
* "FooValidator" back to "Foo" constraint
295295
*/
296-
private void constraintValidatorClassMarker(PsiElement psiElement, Collection<LineMarkerInfo> results) {
296+
private void constraintValidatorClassMarker(PsiElement psiElement, Collection<? super LineMarkerInfo<?>> results) {
297297
PsiElement phpClass = psiElement.getContext();
298298
if(!(phpClass instanceof PhpClass) || !PhpElementsUtil.isInstanceOf((PhpClass) phpClass, "Symfony\\Component\\Validator\\ConstraintValidatorInterface")) {
299299
return;
@@ -319,7 +319,7 @@ private void constraintValidatorClassMarker(PsiElement psiElement, Collection<Li
319319
results.add(builder.createLineMarkerInfo(psiElement));
320320
}
321321

322-
private void autowireConstructorMarker(PsiElement psiElement, Collection<LineMarkerInfo> results) {
322+
private void autowireConstructorMarker(PsiElement psiElement, Collection<? super LineMarkerInfo<?>> results) {
323323
PsiElement method = psiElement.getParent();
324324
if (!(method instanceof Method)) {
325325
return;
@@ -381,7 +381,7 @@ private void autowireConstructorMarker(PsiElement psiElement, Collection<LineMar
381381
results.add(builder.createLineMarkerInfo(psiElement));
382382
}
383383

384-
private void constraintMessagePropertyMarker(@NotNull PsiElement psiElement, @NotNull Collection<LineMarkerInfo> results) {
384+
private void constraintMessagePropertyMarker(@NotNull PsiElement psiElement, @NotNull Collection<? super LineMarkerInfo<?>> results) {
385385
PsiElement parent = psiElement.getParent();
386386
if (parent instanceof StringLiteralExpression && TranslationUtil.isConstraintPropertyField((StringLiteralExpression) parent)) {
387387
String contents = ((StringLiteralExpression) parent).getContents();

src/main/java/fr/adrienbrault/idea/symfony2plugin/config/yaml/inspection/EventMethodCallInspection.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
import org.jetbrains.yaml.YAMLTokenTypes;
3737
import org.jetbrains.yaml.psi.*;
3838

39+
import java.util.Collection;
40+
import java.util.stream.Collectors;
41+
3942
/**
4043
* @author Daniel Espendiller <daniel@espendiller.net>
4144
*/
@@ -199,18 +202,24 @@ private String getEventTypeHint(@NotNull ProblemDescriptor problemDescriptor, @N
199202
return null;
200203
}
201204

202-
String taggedEventMethodParameter = EventSubscriberUtil.getTaggedEventMethodParameter(problemDescriptor.getPsiElement().getProject(), eventName);
203-
if (taggedEventMethodParameter == null) {
205+
Collection<String> taggedEventMethodParameter = EventSubscriberUtil.getTaggedEventMethodParameter(problemDescriptor.getPsiElement().getProject(), eventName);
206+
if (taggedEventMethodParameter.isEmpty()) {
204207
return null;
205208
}
206209

207-
String qualifiedName = AnnotationBackportUtil.getQualifiedName(phpClass, taggedEventMethodParameter);
208-
if (qualifiedName != null && !qualifiedName.equals(StringUtils.stripStart(taggedEventMethodParameter, "\\"))) {
210+
return taggedEventMethodParameter.stream()
211+
.map(fqn -> importIfNecessary(phpClass, fqn))
212+
.collect(Collectors.joining("|"));
213+
}
214+
215+
private String importIfNecessary(@NotNull PhpClass phpClass, String fqn) {
216+
String qualifiedName = AnnotationBackportUtil.getQualifiedName(phpClass, fqn);
217+
if (qualifiedName != null && !qualifiedName.equals(StringUtils.stripStart(fqn, "\\"))) {
209218
// class already imported
210219
return qualifiedName;
211220
}
212221

213-
return PhpElementsUtil.insertUseIfNecessary(phpClass, taggedEventMethodParameter);
222+
return PhpElementsUtil.insertUseIfNecessary(phpClass, fqn);
214223
}
215224
}
216225

src/main/java/fr/adrienbrault/idea/symfony2plugin/dic/ControllerMethodLineMarkerProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ public class ControllerMethodLineMarkerProvider implements LineMarkerProvider {
3131

3232
@Nullable
3333
@Override
34-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement psiElement) {
34+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement psiElement) {
3535
return null;
3636
}
3737

3838
@Nullable
39-
public LineMarkerInfo collect(PsiElement psiElement) {
39+
public LineMarkerInfo<?> collect(PsiElement psiElement) {
4040
if(!Symfony2ProjectComponent.isEnabled(psiElement) || psiElement.getNode().getElementType() != PhpTokenTypes.IDENTIFIER) {
4141
return null;
4242
}
@@ -102,10 +102,10 @@ public static List<GotoRelatedItem> getGotoRelatedItems(Method method) {
102102
}
103103

104104
@Override
105-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> results) {
105+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> results) {
106106

107107
for(PsiElement psiElement: psiElements) {
108-
LineMarkerInfo lineMarkerInfo = collect(psiElement);
108+
LineMarkerInfo<?> lineMarkerInfo = collect(psiElement);
109109
if(lineMarkerInfo != null) {
110110
results.add(lineMarkerInfo);
111111
}

src/main/java/fr/adrienbrault/idea/symfony2plugin/dic/linemarker/XmlLineMarkerProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
public class XmlLineMarkerProvider implements LineMarkerProvider {
2424
@Nullable
2525
@Override
26-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement psiElement) {
26+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement psiElement) {
2727
return null;
2828
}
2929

3030
@Override
31-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> result) {
31+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> result) {
3232
if(psiElements.size() == 0 || !Symfony2ProjectComponent.isEnabled(psiElements.get(0))) {
3333
return;
3434
}
@@ -57,7 +57,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
5757
/**
5858
* <service id="foo"/>
5959
*/
60-
private void visitServiceId(@NotNull PsiElement leafTarget, @NotNull XmlTag xmlTag, @NotNull Collection<LineMarkerInfo> result, @NotNull LazyDecoratedParentServiceValues lazyDecoratedParentServiceValues) {
60+
private void visitServiceId(@NotNull PsiElement leafTarget, @NotNull XmlTag xmlTag, @NotNull Collection<? super LineMarkerInfo<?>> result, @NotNull LazyDecoratedParentServiceValues lazyDecoratedParentServiceValues) {
6161
String id = xmlTag.getAttributeValue("id");
6262
if(StringUtils.isBlank(id)) {
6363
return;

src/main/java/fr/adrienbrault/idea/symfony2plugin/dic/linemarker/YamlLineMarkerProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
public class YamlLineMarkerProvider implements LineMarkerProvider {
2727
@Nullable
2828
@Override
29-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement psiElement) {
29+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement psiElement) {
3030
return null;
3131
}
3232

3333
@Override
34-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> result) {
34+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> result) {
3535
if(psiElements.size() == 0 || !Symfony2ProjectComponent.isEnabled(psiElements.get(0))) {
3636
return;
3737
}
@@ -63,7 +63,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
6363
}
6464
}
6565

66-
private void visitServiceIdForResources(PsiElement leafTarget, YAMLKeyValue yamlKeyValue, @NotNull Collection<LineMarkerInfo> result) {
66+
private void visitServiceIdForResources(PsiElement leafTarget, YAMLKeyValue yamlKeyValue, @NotNull Collection<? super LineMarkerInfo<?>> result) {
6767
String resource = YamlHelper.getYamlKeyValueAsString(yamlKeyValue, "resource");
6868
if (resource == null) {
6969
return;
@@ -81,7 +81,7 @@ protected Collection<? extends PsiElement> compute() {
8181
.createLineMarkerInfo(leafTarget));
8282
}
8383

84-
private void visitServiceId(@NotNull PsiElement leafTarget, @NotNull YAMLKeyValue yamlKeyValue, @NotNull Collection<LineMarkerInfo> result, @NotNull LazyDecoratedParentServiceValues lazyDecoratedServices) {
84+
private void visitServiceId(@NotNull PsiElement leafTarget, @NotNull YAMLKeyValue yamlKeyValue, @NotNull Collection<? super LineMarkerInfo<?>> result, @NotNull LazyDecoratedParentServiceValues lazyDecoratedServices) {
8585
String id = yamlKeyValue.getKeyText();
8686
if(StringUtils.isBlank(id)) {
8787
return;

src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/metadata/DoctrineMetadataLineMarkerProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public class DoctrineMetadataLineMarkerProvider implements LineMarkerProvider {
2525

2626
@Nullable
2727
@Override
28-
public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) {
28+
public LineMarkerInfo<?> getLineMarkerInfo(@NotNull PsiElement element) {
2929
return null;
3030
}
3131

3232
@Override
33-
public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNull Collection<LineMarkerInfo> results) {
33+
public void collectSlowLineMarkers(@NotNull List<? extends PsiElement> psiElements, @NotNull Collection<? super LineMarkerInfo<?>> results) {
3434
// we need project element; so get it from first item
3535
if(psiElements.size() == 0) {
3636
return;
@@ -53,7 +53,7 @@ public void collectSlowLineMarkers(@NotNull List<PsiElement> psiElements, @NotNu
5353
}
5454
}
5555

56-
private void attachXmlRelationMarker(@NotNull PsiElement target, @NotNull XmlAttributeValue psiElement, @NotNull Collection<LineMarkerInfo> results) {
56+
private void attachXmlRelationMarker(@NotNull PsiElement target, @NotNull XmlAttributeValue psiElement, @NotNull Collection<? super LineMarkerInfo<?>> results) {
5757
String value = psiElement.getValue();
5858
if(StringUtils.isBlank(value)) {
5959
return;

0 commit comments

Comments
 (0)