aboutsummaryrefslogtreecommitdiff
path: root/frontend/explicitimports.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/explicitimports.icl')
-rw-r--r--frontend/explicitimports.icl15
1 files changed, 15 insertions, 0 deletions
diff --git a/frontend/explicitimports.icl b/frontend/explicitimports.icl
index de2c248..40b6ecd 100644
--- a/frontend/explicitimports.icl
+++ b/frontend/explicitimports.icl
@@ -1021,6 +1021,21 @@ search_qualified_imports name (SortedQualifiedImports (Declaration declaration=:
= search_qualified_imports name sqi_left name_space_n
= search_qualified_imports name sqi_right name_space_n
+qualified_import_for_type :: !String !SortedQualifiedImports -> Bool
+qualified_import_for_type name EmptySortedQualifiedImports
+ = False
+qualified_import_for_type name (SortedQualifiedImports (Declaration declaration=:{decl_ident={id_name},decl_kind}) sqi_left sqi_right)
+ | name==id_name
+ # decl_name_space_n = imported_ste_kind_to_name_space_n decl_kind
+ | TypeNameSpaceN == decl_name_space_n
+ = True
+ | TypeNameSpaceN < decl_name_space_n
+ = qualified_import_for_type name sqi_left
+ = qualified_import_for_type name sqi_right
+ | name<id_name
+ = qualified_import_for_type name sqi_left
+ = qualified_import_for_type name sqi_right
+
restore_module_ste_kinds_in_symbol_table :: ![(SymbolPtr,STE_Kind)] !*SymbolTable -> *SymbolTable
restore_module_ste_kinds_in_symbol_table [(ptr,ste_kind):ptrs_and_ste_kinds] symbol_table
# (ste,symbol_table) = readPtr ptr symbol_table