2828import org .eclipse .jdt .ls .core .internal .IDelegateCommandHandler ;
2929import org .eclipse .jdt .core .IPackageFragmentRoot ;
3030import org .eclipse .jdt .ls .core .internal .JavaLanguageServerPlugin ;
31+ import org .eclipse .jdt .ls .core .internal .JDTUtils ;
3132import org .eclipse .jdt .ls .core .internal .JobHelpers ;
3233import org .eclipse .jdt .ls .core .internal .ProjectUtils ;
3334import org .eclipse .jdt .ls .core .internal .ResourceUtils ;
3435import org .eclipse .lsp4j .Location ;
35- import org .eclipse .lsp4j .Position ;
36- import org .eclipse .lsp4j .Range ;
3736import org .eclipse .lsp4j .SymbolInformation ;
3837import org .eclipse .lsp4j .SymbolKind ;
3938
4039import io .konveyor .tackle .core .internal .query .AnnotationQuery ;
41- import io .konveyor .tackle .core .internal .symbol .DefaultSymbolProvider ;
42- import io .konveyor .tackle .core .internal .symbol .ImportSymbolProvider ;
4340import io .konveyor .tackle .core .internal .util .OpenSourceFilteredSearchScope ;
4441import io .konveyor .tackle .core .internal .util .OpenSourceLibraryExclusionManager ;
4542
@@ -89,11 +86,11 @@ private static SearchPattern mapLocationToSearchPatternLocation(int location, St
8986 var startListIndex = query .indexOf ("(" );
9087 var endListIndex = query .indexOf (")" );
9188 var startQuery = query .substring (0 , startListIndex );
92- var endQuery = query .substring (endListIndex + 1 , query .length ());
89+ var endQuery = query .substring (endListIndex + 1 , query .length ());
9390 var optionalList = endQuery .startsWith ("?" );
9491
9592 // This should strip the ( ) chars
96- var listString = query .substring (startListIndex + 1 , endListIndex );
93+ var listString = query .substring (startListIndex + 1 , endListIndex );
9794 var list = listString .split ("\\ |" );
9895 ArrayList <SearchPattern > l = new ArrayList <SearchPattern >();
9996
@@ -103,11 +100,11 @@ private static SearchPattern mapLocationToSearchPatternLocation(int location, St
103100 l .add (mapLocationToSearchPatternLocation (location , startQuery + endQuery ));
104101 }
105102
106- for (String s : list ) {
103+ for (String s : list ) {
107104 var p = mapLocationToSearchPatternLocation (location , startQuery + s + endQuery );
108105 l .add (p );
109106 }
110-
107+
111108 // Get the end pattern
112109 SearchPattern p = l .subList (1 , l .size ()).stream ().reduce (l .get (0 ), (SearchPattern ::createOrPattern ));
113110 return p ;
@@ -142,28 +139,26 @@ private static SearchPattern mapLocationToSearchPatternLocation(int location, St
142139
143140 /**
144141 * Location correspondence from java provider (TYPE is the default):
145- * "": 0,
146- * "inheritance": 1,
147- * "method_call": 2,
148- * "constructor_call": 3,
149- * "annotation": 4,
150- * "implements_type": 5,
151- * "enum_constant": 6,
152- * "return_type": 7,
153- * "import": 8,
154- * "variable_declaration": 9,
155- * "type": 10,
156- * "package": 11,
157- * "field": 12,
158- * "method_declaration": 13,
159- * "class_declaration": 14,
142+ * "": 0,
143+ * "inheritance": 1,
144+ * "method_call": 2,
145+ * "constructor_call": 3,
146+ * "annotation": 4,
147+ * "implements_type": 5,
148+ * "enum_constant": 6,
149+ * "return_type": 7,
150+ * "import": 8,
151+ * "variable_declaration": 9,
152+ * "type": 10,
153+ * "package": 11,
154+ * "field": 12,
155+ * "method_declaration": 13,
156+ * "class_declaration": 14,
160157 *
161158 * @param location
162159 * @param query
163160 * @return
164- * @throws Exception
165- *
166- * TODO: move these to enums
161+ * @throws Exception TODO: move these to enums
167162 */
168163 private static SearchPattern getPatternSingleQuery (int location , String query ) throws Exception {
169164 var pattern = SearchPattern .R_PATTERN_MATCH ;
@@ -172,52 +167,52 @@ private static SearchPattern getPatternSingleQuery(int location, String query) t
172167 pattern = SearchPattern .R_EXACT_MATCH | SearchPattern .R_CASE_SENSITIVE ;
173168 }
174169 switch (location ) {
175- // Using type for both type and annotation.
176- // Type and annotation
177- case 10 :
178- case 4 :
179- case 8 :
180- return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
181- case 5 :
182- case 1 :
183- return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .IMPLEMENTORS , pattern );
184- case 7 :
185- case 9 :
186- return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .REFERENCES , pattern );
187- case 2 :
188- if (query .contains ("." )) {
189- return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .QUALIFIED_REFERENCE , SearchPattern .R_PATTERN_MATCH | SearchPattern .R_ERASURE_MATCH );
190- }
191- // Switched back to referenced
192- return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .REFERENCES , SearchPattern .R_PATTERN_MATCH | SearchPattern .R_ERASURE_MATCH );
193- case 3 :
194- return SearchPattern .createPattern (query , IJavaSearchConstants .CONSTRUCTOR , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
195- case 11 :
196- return SearchPattern .createPattern (query , IJavaSearchConstants .PACKAGE , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
197- case 12 :
198- return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .FIELD_DECLARATION_TYPE_REFERENCE , pattern );
199- case 13 :
200- return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .DECLARATIONS , SearchPattern .R_EXACT_MATCH | SearchPattern .R_PATTERN_MATCH );
201- case 14 :
202- return SearchPattern .createPattern (query , IJavaSearchConstants .CLASS , IJavaSearchConstants .DECLARATIONS , SearchPattern .R_EXACT_MATCH | SearchPattern .R_PATTERN_MATCH );
170+ // Using type for both type and annotation.
171+ // Type and annotation
172+ case 10 :
173+ case 4 :
174+ case 8 :
175+ return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
176+ case 5 :
177+ case 1 :
178+ return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .IMPLEMENTORS , pattern );
179+ case 7 :
180+ case 9 :
181+ return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .REFERENCES , pattern );
182+ case 2 :
183+ if (query .contains ("." )) {
184+ return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .QUALIFIED_REFERENCE , SearchPattern .R_PATTERN_MATCH | SearchPattern .R_ERASURE_MATCH );
185+ }
186+ // Switched back to referenced
187+ return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .REFERENCES , SearchPattern .R_PATTERN_MATCH | SearchPattern .R_ERASURE_MATCH );
188+ case 3 :
189+ return SearchPattern .createPattern (query , IJavaSearchConstants .CONSTRUCTOR , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
190+ case 11 :
191+ return SearchPattern .createPattern (query , IJavaSearchConstants .PACKAGE , IJavaSearchConstants .ALL_OCCURRENCES , pattern );
192+ case 12 :
193+ return SearchPattern .createPattern (query , IJavaSearchConstants .TYPE , IJavaSearchConstants .FIELD_DECLARATION_TYPE_REFERENCE , pattern );
194+ case 13 :
195+ return SearchPattern .createPattern (query , IJavaSearchConstants .METHOD , IJavaSearchConstants .DECLARATIONS , SearchPattern .R_EXACT_MATCH | SearchPattern .R_PATTERN_MATCH );
196+ case 14 :
197+ return SearchPattern .createPattern (query , IJavaSearchConstants .CLASS , IJavaSearchConstants .DECLARATIONS , SearchPattern .R_EXACT_MATCH | SearchPattern .R_PATTERN_MATCH );
203198 }
204- throw new Exception ("unable to create search pattern" );
199+ throw new Exception ("unable to create search pattern" );
205200 }
206201
207202 private static List <SymbolInformation > search (String projectName , ArrayList <String > includedPaths , String query , AnnotationQuery annotationQuery , int location , String analysisMode ,
208- boolean includeOpenSourceLibraries , String mavenLocalRepoPath , String mavenIndexPath , IProgressMonitor monitor ) throws Exception {
203+ boolean includeOpenSourceLibraries , String mavenLocalRepoPath , String mavenIndexPath , IProgressMonitor monitor ) throws Exception {
209204 IJavaProject [] targetProjects ;
210205 IJavaProject project = ProjectUtils .getJavaProject (projectName );
211206 if (project != null ) {
212- targetProjects = new IJavaProject [] { project };
213- } else {
214- targetProjects = ProjectUtils .getJavaProjects ();
215- }
216-
207+ targetProjects = new IJavaProject []{ project };
208+ } else {
209+ targetProjects = ProjectUtils .getJavaProjects ();
210+ }
211+
217212 logInfo ("Searching in target project: " + targetProjects );
218213
219214 // For Partial results, we are going to filter out based on a list in the engine
220- int s = IJavaSearchScope .SOURCES | IJavaSearchScope .REFERENCED_PROJECTS | IJavaSearchScope .APPLICATION_LIBRARIES | IJavaSearchScope .SYSTEM_LIBRARIES ;
215+ int s = IJavaSearchScope .SOURCES | IJavaSearchScope .REFERENCED_PROJECTS | IJavaSearchScope .APPLICATION_LIBRARIES | IJavaSearchScope .SYSTEM_LIBRARIES ;
221216 if (analysisMode .equals (sourceOnlyAnalysisMode )) {
222217 logInfo ("KONVEYOR_LOG: source-only analysis mode only scoping to Sources" );
223218 s = IJavaSearchScope .SOURCES ;
@@ -231,11 +226,11 @@ private static List<SymbolInformation> search(String projectName, ArrayList<Stri
231226 var errors = ResourceUtils .getErrorMarkers (iJavaProject .getProject ());
232227 var warnings = ResourceUtils .getWarningMarkers (iJavaProject .getProject ());
233228 logInfo ("KONVEYOR_LOG:" +
234- " found errors: " + errors .toString ().replace ("\n " , " " ) +
235- " warnings: " + warnings .toString ().replace ("\n " , " " ));
229+ " found errors: " + errors .toString ().replace ("\n " , " " ) +
230+ " warnings: " + warnings .toString ().replace ("\n " , " " ));
236231 }
237232
238- IJavaSearchScope scope ;
233+ IJavaSearchScope scope ;
239234 var workspaceDirectoryLocation = JavaLanguageServerPlugin .getPreferencesManager ().getPreferences ().getRootPaths ();
240235 if (workspaceDirectoryLocation == null || workspaceDirectoryLocation .size () == 0 ) {
241236 logInfo ("unable to find workspace directory location" );
@@ -308,8 +303,8 @@ private static List<SymbolInformation> search(String projectName, ArrayList<Stri
308303 // instead of comparing path strings, comparing segments is better for 2 reasons:
309304 // - we don't have to worry about redundant . / etc in input
310305 // - matching sub-trees is easier with segments than strings
311- if (includedIPath .segmentCount () <= fragmentPath .segmentCount () &&
312- includedIPath .matchingFirstSegments (fragmentPath ) == includedIPath .segmentCount ()) {
306+ if (includedIPath .segmentCount () <= fragmentPath .segmentCount () &&
307+ includedIPath .matchingFirstSegments (fragmentPath ) == includedIPath .segmentCount ()) {
313308 includedFragments .add (fragment );
314309
315310 // Get all compilation units for included fragments
@@ -406,9 +401,9 @@ private static List<SymbolInformation> search(String projectName, ArrayList<Stri
406401 }
407402
408403 logInfo ("KONVEYOR_LOG: got: " + requestor .getAllSearchMatches () +
409- " search matches for " + query +
410- " location " + location
411- + " matches" + requestor .getSymbols ().size ());
404+ " search matches for " + query +
405+ " location " + location
406+ + " matches" + requestor .getSymbols ().size ());
412407
413408 return symbols ;
414409
@@ -421,4 +416,5 @@ public static Location getLocationForImport(ICompilationUnit icu, ImportDeclarat
421416 logInfo ("Unable to get location for import: " + e );
422417 return null ;
423418 }
424- }
419+ }
420+ }
0 commit comments