]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/scl/GraphModuleSourceRepository.java
Added module header feature to SCL language.
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / scl / GraphModuleSourceRepository.java
index 07af09e557109046575ee8556abf20c5cca6ec84..c75f7a941a55f76c2bd668b0646a5fa76f40d826 100644 (file)
@@ -15,11 +15,14 @@ import org.simantics.db.procedure.SyncListener;
 import org.simantics.db.request.Read;
 import org.simantics.layer0.Layer0;
 import org.simantics.modeling.ModelingUtils;
+import org.simantics.modeling.internal.Activator;
+import org.simantics.scl.compiler.internal.codegen.types.JavaReferenceValidatorFactory;
 import org.simantics.scl.compiler.module.repository.UpdateListener;
 import org.simantics.scl.compiler.module.repository.UpdateListener.Observable;
 import org.simantics.scl.compiler.source.ModuleSource;
 import org.simantics.scl.compiler.source.StringModuleSource;
 import org.simantics.scl.compiler.source.repository.ModuleSourceRepository;
+import org.simantics.scl.osgi.internal.OsgiJavaReferenceValidatorFactory;
 import org.simantics.scl.runtime.SCLContext;
 import org.simantics.scl.runtime.tuple.Tuple0;
 import org.simantics.structural2.utils.StructuralUtils;
@@ -29,6 +32,8 @@ import gnu.trove.set.hash.THashSet;
 
 public enum GraphModuleSourceRepository implements ModuleSourceRepository {
     INSTANCE;
+    
+    private static final OsgiJavaReferenceValidatorFactory REFERENCE_VALIDATOR_FACTORY = new OsgiJavaReferenceValidatorFactory(Activator.getContext().getBundle());
 
     @Override
     public ModuleSource getModuleSource(final String moduleName, UpdateListener listener) {
@@ -123,6 +128,11 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
                 e.printStackTrace();
             }
         }
+        
+        @Override
+        public JavaReferenceValidatorFactory getJavaReferenceValidatorFactory() {
+            return REFERENCE_VALIDATOR_FACTORY;
+        }
     }
 
     static class ReadModuleSource extends UnaryRead<String, ModuleSource> {