@@ -610,10 +610,10 @@ map_base_expr -> ellipsis_op map_base_expr : build_unary_op('$1', '$2').
610610assoc_op_eol -> assoc_op : '$1' .
611611assoc_op_eol -> assoc_op eol : '$1' .
612612
613- assoc_expr -> matched_expr assoc_op_eol matched_expr : {'$1' , '$3' }.
614- assoc_expr -> unmatched_expr assoc_op_eol unmatched_expr : {'$1' , '$3' }.
615- assoc_expr -> matched_expr assoc_op_eol unmatched_expr : {'$1' , '$3' }.
616- assoc_expr -> unmatched_expr assoc_op_eol matched_expr : {'$1' , '$3' }.
613+ assoc_expr -> matched_expr assoc_op_eol matched_expr : {with_assoc_meta ( '$1' , '$2' ) , '$3' }.
614+ assoc_expr -> unmatched_expr assoc_op_eol unmatched_expr : {with_assoc_meta ( '$1' , '$2' ) , '$3' }.
615+ assoc_expr -> matched_expr assoc_op_eol unmatched_expr : {with_assoc_meta ( '$1' , '$2' ) , '$3' }.
616+ assoc_expr -> unmatched_expr assoc_op_eol matched_expr : {with_assoc_meta ( '$1' , '$2' ) , '$3' }.
617617assoc_expr -> map_base_expr : '$1' .
618618
619619assoc_update -> matched_expr pipe_op_eol assoc_expr : {'$2' , '$1' , ['$3' ]}.
@@ -1154,6 +1154,15 @@ parens_meta({Open, Close}) ->
11541154parens_meta ({Open , _Args , Close }) ->
11551155 parens_meta ({Open , Close }).
11561156
1157+ with_assoc_meta ({Target , Meta , Args }, AssocToken ) ->
1158+ case ? token_metadata () of
1159+ true ->
1160+ {Target , [{assoc , meta_from_token (AssocToken )} | Meta ], Args };
1161+ false ->
1162+ {Target , Meta , Args }
1163+ end ;
1164+
1165+ with_assoc_meta (Left , _AssocToken ) -> Left .
11571166
11581167% % Warnings and errors
11591168
0 commit comments