diff options
author | ronny | 2001-12-03 13:16:10 +0000 |
---|---|---|
committer | ronny | 2001-12-03 13:16:10 +0000 |
commit | 33d1851315946e784a52cd3f5d5f7f676b5d669f (patch) | |
tree | f1b7439bf6d3cdd7fbc64fea243a5ee917c4f73b /frontend/parse.icl | |
parent | work around for 2.0 compiler bug (diff) |
bug fix: uniqueness error in nested record/array updates
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@916 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/parse.icl')
-rw-r--r-- | frontend/parse.icl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/frontend/parse.icl b/frontend/parse.icl index e68201b..8e0aa74 100644 --- a/frontend/parse.icl +++ b/frontend/parse.icl @@ -2175,7 +2175,7 @@ where | token == DotToken # (token, pState) = nextToken FunctionContext pState (selectors, pState) = wantSelectors token pState - = (PE_Selection cNonUniqueSelection exp selectors, pState) + = (PE_Selection ParsedNormalSelector exp selectors, pState) | token == ExclamationToken # (token, pState) = nextToken FunctionContext pState // JVG added for strict lists: @@ -2183,7 +2183,7 @@ where = (exp, tokenBack (tokenBack pState)) // # (selectors, pState) = wantSelectors token pState - = (PE_Selection cUniqueSelection exp selectors, pState) + = (PE_Selection (ParsedUniqueSelector False) exp selectors, pState) | otherwise = (exp, tokenBack pState) @@ -2869,7 +2869,7 @@ where # (shareIdent, pState) = make_ident optionalIdent level pState select - = PE_Selection cNonUniqueSelection (PE_Ident shareIdent) [PS_Record fieldIdent final_record_type] + = PE_Selection ParsedNormalSelector (PE_Ident shareIdent) [PS_Record fieldIdent final_record_type] (update_expr, pState) = transform_record_or_array_update No select (map sub_update updates) (level+1) pState = ({bind_dst = fieldIdent, bind_src = update_expr}, (Yes shareIdent,record_type,pState)) @@ -2941,7 +2941,7 @@ where select_def = buildNodeDef (PE_Tuple [PE_Ident element_id, PE_Ident array_id]) - (PE_Selection cUniqueSelection expr (reverse [PS_Array (PE_Ident index_id) : initial_selectors])) + (PE_Selection (ParsedUniqueSelector True) expr (reverse [PS_Array (PE_Ident index_id) : initial_selectors])) (updated_element, pState) = transform_record_update No (PE_Ident element_id) |