aboutsummaryrefslogtreecommitdiff
path: root/frontend/comparedefimp.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/comparedefimp.icl')
-rw-r--r--frontend/comparedefimp.icl8
1 files changed, 7 insertions, 1 deletions
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