From 3035d740eb67b6e89ab1cd22e58a85b3c4a4311a Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Tue, 4 Jun 2019 14:13:59 +0200 Subject: [PATCH] SSR: modifying existing template to search for both methods and constructors simultaneously "methods of the class" -> "constructors & methods" GitOrigin-RevId: 4c5ec30c18ea9b0f650df46f8ce54384909e60a1 --- .../JavaPredefinedConfigurations.java | 2 +- .../source/messages/SSRBundle.properties | 14 +++++++------- .../JavaPredefinedConfigurationsTest.java | 12 +++++++++++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaPredefinedConfigurations.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaPredefinedConfigurations.java index 6625b39355be..12825246783e 100644 --- a/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaPredefinedConfigurations.java +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/JavaPredefinedConfigurations.java @@ -52,7 +52,7 @@ class JavaPredefinedConfigurations { // Class based createSearchTemplateInfo( SSRBundle.message("predefined.configuration.methods.of.the.class"), - "'_ReturnType '_Method('_ParameterType '_Parameter*);", + "'_ReturnType? '_Method('_ParameterType '_Parameter*);", CLASS_TYPE ), createSearchTemplateInfo( diff --git a/platform/structuralsearch/source/messages/SSRBundle.properties b/platform/structuralsearch/source/messages/SSRBundle.properties index 3d50a35ae383..f7fee41407ff 100644 --- a/platform/structuralsearch/source/messages/SSRBundle.properties +++ b/platform/structuralsearch/source/messages/SSRBundle.properties @@ -104,7 +104,7 @@ predefined.configuration.]junit.test.cases=junit test cases predefined.configuration.ifs=if's predefined.configuration.anonymous.classes=anonymous classes predefined.configuration.javadoc.tags=javadoc tags -predefined.configuration.all.methods.of.the.class.within.hierarchy=all methods of the class (within hierarchy) +predefined.configuration.all.methods.of.the.class.within.hierarchy=all methods of a class (within hierarchy) predefined.configuration.similar.methods.structure=similar methods structure predefined.configuration.class.implements.two.interfaces=class implementing two interfaces predefined.configuration.bean.info.classes=Bean info classes @@ -120,13 +120,13 @@ predefined.configuration.try.without.resources=try statements without resources predefined.configuration.switch.with.branches=switch statements with few branches predefined.configuration.labeled.break=labeled break statements predefined.configuration.block.dcls=block dcls -predefined.configuration.methods.of.the.class=methods of the class +predefined.configuration.methods.of.the.class=constructors & methods predefined.configuration.deprecated.methods=deprecated methods predefined.configuration.instanceof=instanceof predefined.configuration.implementors.of.interface.within.hierarchy=implementors of interface (within hierarchy) predefined.configuration.generic.casts=generic casts predefined.configuration.field.selections=field selections -predefined.configuration.fields.of.the.class=fields of the class +predefined.configuration.fields.of.the.class=fields of a class predefined.configuration.array.access=array access predefined.configuration.usage.of.derived.type.in.cast=usage of derived type in cast predefined.configuration.annotated.methods=annotated methods @@ -154,11 +154,11 @@ predefined.configuration.serializable.classes.and.their.serialization.implementa predefined.configuration.annotated.fields=annotated fields predefined.configuration.generic.classes=generic classes predefined.configuration.javadoc.annotated.class=javadoc annotated class -predefined.configuration.constructors.of.the.class=constructors of the class +predefined.configuration.constructors.of.the.class=class constructors predefined.configuration.typed.symbol=typed symbol -predefined.configuration.all.fields.of.the.class=all fields of the class -predefined.configuration.instance.fields.of.the.class=instance fields of the class -predefined.configuration.packagelocal.fields.of.the.class=package-private fields of the class +predefined.configuration.all.fields.of.the.class=all fields of a class +predefined.configuration.instance.fields.of.the.class=instance fields of a class +predefined.configuration.packagelocal.fields.of.the.class=package-private fields of a class predefined.configuration.classes=classes predefined.configuration.classes.interfaces.enums=classes, interfaces \\& enums predefined.configuration.new.expressions=new expressions diff --git a/platform/structuralsearch/testSource/com/intellij/structuralsearch/JavaPredefinedConfigurationsTest.java b/platform/structuralsearch/testSource/com/intellij/structuralsearch/JavaPredefinedConfigurationsTest.java index 75910b956f6b..4ac30303531e 100644 --- a/platform/structuralsearch/testSource/com/intellij/structuralsearch/JavaPredefinedConfigurationsTest.java +++ b/platform/structuralsearch/testSource/com/intellij/structuralsearch/JavaPredefinedConfigurationsTest.java @@ -156,7 +156,17 @@ public class JavaPredefinedConfigurationsTest extends StructuralSearchTestCase { " void o(String s) {}" + "}", "public void m(final int i, int j, int k) { System.out.println(i); }"); - //assertTrue("untested configurations: " + configurationMap.keySet(), configurationMap.isEmpty()); + doTest(configurationMap.remove(SSRBundle.message("predefined.configuration.methods.of.the.class")), + "abstract class X {" + + " X() {}" + + " X(String s) {}" + + " abstract void x();" + + " int x(int i) {}" + + " boolean x(double d, Object o) {}" + + "}", + "X() {}", "X(String s) {}", "abstract void x();", "int x(int i) {}", "boolean x(double d, Object o) {}"); + //assertTrue((templates.length - configurationMap.size()) + " of " + templates.length + + // " existing templates tested. Untested templates: " + configurationMap.keySet(), configurationMap.isEmpty()); } private void doTest(Configuration template, String source, String... results) {