aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/check.icl3
-rw-r--r--frontend/comparedefimp.icl8
2 files changed, 8 insertions, 3 deletions
diff --git a/frontend/check.icl b/frontend/check.icl
index 886b2bd..38e8d88 100644
--- a/frontend/check.icl
+++ b/frontend/check.icl
@@ -2672,10 +2672,9 @@ checkModule {mod_type,mod_name,mod_imports,mod_imported_objects,mod_defs = cdefs
heaps = { heaps & hp_var_heap = var_heap, hp_expression_heap = expr_heap, hp_type_heaps = {hp_type_heaps & th_vars = th_vars}}
-/* RWS
(dcl_modules, icl_mod, heaps, cs_error)
= compareDefImp (cdefs.def_macros.ir_from, untransformed_macro_funs_defs) dcl_modules icl_mod heaps cs_error
-*/
+
= (cs_error.ea_ok, icl_mod, dcl_modules, groups, dcl_icl_conversions, heaps, cs_predef_symbols, cs_symbol_table, cs_error.ea_file)
# icl_common = { icl_common & com_type_defs = e_info.ef_type_defs, com_selector_defs = e_info.ef_selector_defs, com_class_defs = e_info.ef_class_defs,
com_cons_defs = e_info.ef_cons_defs, com_member_defs = e_info.ef_member_defs }
diff --git a/frontend/comparedefimp.icl b/frontend/comparedefimp.icl
index b01c74c..79a8ec1 100644
--- a/frontend/comparedefimp.icl
+++ b/frontend/comparedefimp.icl
@@ -367,6 +367,8 @@ instance t_corresponds (TypeDef TypeRhs) where
= t_corresponds_TypeDef dclDef iclDef
where
t_corresponds_TypeDef dclDef iclDef tc_state
+// | False--->("comparing:", dclDef, iclDef)
+// = undef
# tc_state = { tc_state & tc_visited_syn_types.[dclDef.td_index] = True }
tc_state = init_attr_vars dclDef.td_attrs tc_state
tc_state = init_attr_vars iclDef.td_attrs tc_state
@@ -387,7 +389,8 @@ instance t_corresponds (TypeDef TypeRhs) where
# (corresponds, tc_state) = t_corresponds dclDef.td_context iclDef.td_context tc_state
| not corresponds
= (corresponds, tc_state)
- = t_corresponds dclDef.td_attribute iclDef.td_attribute tc_state
+ # attributes_correspond = (is_TA_Unique dclDef.td_attribute)==(is_TA_Unique iclDef.td_attribute)
+ = (attributes_correspond, tc_state)
root_has_anonymous_attr (TA_Var lhs_attr_var) syn_type=:(SynType a_type=:{at_attribute=TA_Var rhs_attr_var})
= rhs_attr_var.av_info_ptr==lhs_attr_var.av_info_ptr
@@ -400,6 +403,9 @@ instance t_corresponds (TypeDef TypeRhs) where
isnt_abstract (AbstractType _) = False
isnt_abstract _ = True
+ is_TA_Unique TA_Unique = True
+ is_TA_Unique _ = False
+
instance t_corresponds TypeContext where
t_corresponds dclDef iclDef
= t_corresponds dclDef.tc_class iclDef.tc_class