diff options
author | martinw | 2001-02-13 09:29:39 +0000 |
---|---|---|
committer | martinw | 2001-02-13 09:29:39 +0000 |
commit | 4a1649a8718b3fbd79d9d68c29e2a3ca1106fbfc (patch) | |
tree | d313c1e1bb960ff1d669ec53b7e9976165002c9f /frontend/checksupport.icl | |
parent | Removed pretty printing of types in instances (diff) |
delaying "determineTypesOfInstances" and "checkSpecialsOfInstances" after
checking of a whole dcl module component --> now cyclic module dependencies
should work
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@294 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checksupport.icl')
-rw-r--r-- | frontend/checksupport.icl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/frontend/checksupport.icl b/frontend/checksupport.icl index dabd555..7eb91eb 100644 --- a/frontend/checksupport.icl +++ b/frontend/checksupport.icl @@ -106,7 +106,6 @@ where , dcl_functions :: !{# FunType } , dcl_instances :: !IndexRange , dcl_macros :: !IndexRange - , dcl_class_specials :: !IndexRange , dcl_specials :: !IndexRange , dcl_common :: !CommonDefs , dcl_sizes :: !{# Int} @@ -428,6 +427,18 @@ where -> cs = { cs & cs_error = checkErrorWithIdentPos (newPosition ident dcl_pos) " multiply defined" cs.cs_error} +removeImportedSymbolsFromSymbolTable :: Declaration !*SymbolTable -> .SymbolTable +removeImportedSymbolsFromSymbolTable {dcl_ident=dcl_ident=:{id_info}, dcl_index} symbol_table + # ({ste_kind,ste_def_level,ste_previous}, symbol_table) + = readPtr id_info symbol_table + symbol_table + = symbol_table <:= (id_info, ste_previous) + = case ste_kind of + STE_Imported (STE_Field selector_id) def_mod + -> removeFieldFromSelectorDefinition selector_id def_mod dcl_index symbol_table + _ + -> symbol_table + removeFieldFromSelectorDefinition :: !Ident .Int .Int !*(Heap SymbolTableEntry) -> .Heap SymbolTableEntry; removeFieldFromSelectorDefinition {id_info} field_mod field_index symbol_table # (entry, symbol_table) = readPtr id_info symbol_table @@ -620,5 +631,3 @@ restoreHeap {id_info} cs_symbol_table # ({ste_previous}, cs_symbol_table) = readPtr id_info cs_symbol_table = writePtr id_info ste_previous cs_symbol_table - -expand_syn_types_late_XXX yes no :== no |