]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/search/SCLSearchQuery.java
Improve utilities for invoking SCL from Java
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / search / SCLSearchQuery.java
index 9f8ef5a2430f7106e018ebf3ba861b0a4e380cd0..724730a080112ebfec0fdfc2f22a465d5a1f7020 100644 (file)
@@ -1,6 +1,7 @@
 package org.simantics.scl.ui.search;
 
 import java.util.ArrayList;
+import java.util.Collection;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
@@ -16,6 +17,8 @@ import org.simantics.scl.compiler.module.Module;
 import org.simantics.scl.compiler.module.debug.ModuleDebugInfo;
 import org.simantics.scl.compiler.module.debug.SymbolReference;
 import org.simantics.scl.compiler.module.repository.ModuleRepository;
+import org.simantics.scl.db.SCLExpressionTableEntry;
+import org.simantics.scl.db.UsedSCLExpressionsRequest;
 import org.simantics.scl.osgi.SCLOsgi;
 
 import gnu.trove.procedure.TObjectProcedure;
@@ -57,12 +60,20 @@ public class SCLSearchQuery implements ISearchQuery {
                 return true;
             }
         });
+        
+        Collection<SCLExpressionTableEntry> results = UsedSCLExpressionsRequest.execute();
+        for (SCLExpressionTableEntry entry : results) {
+            if (entry.getContent().contains(valueName.name)) {
+                result.addMatch(new Match(entry, Match.UNIT_LINE, -1, 1));
+            }
+        }
+        
         return Status.OK_STATUS;
     }
 
     @Override
     public String getLabel() {
-        return "Search references for ";
+        return Messages.SCLSearchQuery_SearchReferencesFor;
     }
 
     @Override