package org.simantics.scl.compiler.environment;
-import gnu.trove.procedure.TObjectProcedure;
-
import java.util.function.Consumer;
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;
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
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.
*/
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;