From d36affa468c0f874485d8d8aa55b34c8c30e9f14 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 31 Oct 2021 18:57:56 +0100 Subject: fix(web): not dot display spurious occurrences Only return find occurrences results for NamedElement instances, as other objects cannot be referenced by name and thus cannot have any references at all. --- .../tools/refinery/language/web/ProblemWebModule.java | 6 ++++++ .../web/occurrences/ProblemOccurrencesService.java | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 language-web/src/main/java/tools/refinery/language/web/occurrences/ProblemOccurrencesService.java (limited to 'language-web/src') diff --git a/language-web/src/main/java/tools/refinery/language/web/ProblemWebModule.java b/language-web/src/main/java/tools/refinery/language/web/ProblemWebModule.java index ac8934ed..ec55036f 100644 --- a/language-web/src/main/java/tools/refinery/language/web/ProblemWebModule.java +++ b/language-web/src/main/java/tools/refinery/language/web/ProblemWebModule.java @@ -6,7 +6,9 @@ package tools.refinery.language.web; import org.eclipse.xtext.web.server.XtextServiceDispatcher; import org.eclipse.xtext.web.server.model.IWebDocumentProvider; import org.eclipse.xtext.web.server.model.XtextWebDocumentAccess; +import org.eclipse.xtext.web.server.occurrences.OccurrencesService; +import tools.refinery.language.web.occurrences.ProblemOccurrencesService; import tools.refinery.language.web.xtext.server.push.PushServiceDispatcher; import tools.refinery.language.web.xtext.server.push.PushWebDocumentAccess; import tools.refinery.language.web.xtext.server.push.PushWebDocumentProvider; @@ -26,4 +28,8 @@ public class ProblemWebModule extends AbstractProblemWebModule { public Class bindXtextServiceDispatcher() { return PushServiceDispatcher.class; } + + public Class bindOccurrencesService() { + return ProblemOccurrencesService.class; + } } diff --git a/language-web/src/main/java/tools/refinery/language/web/occurrences/ProblemOccurrencesService.java b/language-web/src/main/java/tools/refinery/language/web/occurrences/ProblemOccurrencesService.java new file mode 100644 index 00000000..d32bbb54 --- /dev/null +++ b/language-web/src/main/java/tools/refinery/language/web/occurrences/ProblemOccurrencesService.java @@ -0,0 +1,16 @@ +package tools.refinery.language.web.occurrences; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.web.server.occurrences.OccurrencesService; + +import com.google.inject.Singleton; + +import tools.refinery.language.model.problem.NamedElement; + +@Singleton +public class ProblemOccurrencesService extends OccurrencesService { + @Override + protected boolean filter(EObject element) { + return super.filter(element) && element instanceof NamedElement; + } +} -- cgit v1.2.3-54-g00ecf