]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Namespace.java
Merge "Resolve some dependency problems with SDK features"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / environment / Namespace.java
index dc388a72c2ebfe2392cd58d8172113f7c9137baa..e5af69204006bb768891a9665b9c0aeb54af4380 100644 (file)
@@ -1,13 +1,11 @@
 package org.simantics.scl.compiler.environment;
 
-import gnu.trove.procedure.TObjectProcedure;
-
 import java.util.function.Consumer;
 
+import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;
 import org.simantics.scl.compiler.elaboration.modules.SCLValue;
-import org.simantics.scl.compiler.elaboration.modules.TypeAlias;
 import org.simantics.scl.compiler.elaboration.modules.TypeClass;
-import org.simantics.scl.compiler.elaboration.modules.TypeConstructor;
+import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor;
 import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;
 import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
 import org.simantics.scl.compiler.elaboration.rules.MappingRelation;
@@ -16,6 +14,8 @@ import org.simantics.scl.compiler.environment.filter.NamespaceFilter;
 import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor;
 import org.simantics.scl.compiler.types.TCon;
 
+import gnu.trove.procedure.TObjectProcedure;
+
 public interface Namespace {
        /**
         * Find a sub-namespace with a given name
@@ -52,13 +52,13 @@ public interface Namespace {
     SCLEntityType getEntityType(String name) throws AmbiguousNameException;
     
     /**
-     * Get a TypeConstructor for a given name. The same instance is returned on each call.
+     * Get a TypeDescriptor for a given name. The same instance is returned on each call.
      * @param name  the name of a defined entity type
-     * @return  The return value is a TypeConstructor provided by any source included in the namespace,
+     * @return  The return value is a TypeDescriptor provided by any source included in the namespace,
      *          or null if the name is not found.
      * @exception  AmbiguousNameException  if the name matches with multiple imported modules. 
      */
-    TypeConstructor getTypeConstructor(String name) throws AmbiguousNameException;
+    TypeDescriptor getTypeDescriptor(String name) throws AmbiguousNameException;
     
     /**
      * Get an EffectConstructor for a given name. The same instance is returned on each call.
@@ -69,6 +69,8 @@ public interface Namespace {
      */
     EffectConstructor getEffectConstructor(String name) throws AmbiguousNameException;
     
+    CHRRuleset getRuleset(String name) throws AmbiguousNameException;
+    
     /**
      * Get a TypeClass for a given name. The same instance is returned on each call.
      * @param name  the name of a defined entity type
@@ -78,15 +80,6 @@ public interface Namespace {
      */
     TypeClass getTypeClass(String name) throws AmbiguousNameException;
     
-    /**
-     * Get a TypeAlias for a given name. The same instance is returned on each call.
-     * @param name  the name of a defined entity type
-     * @return  The return value is a TypeAlias provided by any source included in the namespace,
-     *          or null if the name is not found.
-     * @exception  AmbiguousNameException  if the name matches with multiple imported modules. 
-     */
-    TypeAlias getTypeAlias(String name) throws AmbiguousNameException;
-    
     TransformationRule getRule(String name) throws AmbiguousNameException;
     MappingRelation getMappingRelation(String name) throws AmbiguousNameException;