@@ -890,8 +890,15 @@ build_dot_container(Dot, Left, Right, Extra) ->
890890
891891build_dot (Dot , Left , {_ , Location , _ } = Right ) ->
892892 Meta = meta_from_token (Dot ),
893- IdentifierLocation = meta_from_location (Location ),
894- {'.' , Meta , IdentifierLocation , [Left , extract_identifier (Right )]}.
893+ IdentifierMeta0 = meta_from_location (Location ),
894+ IdentifierMeta1 =
895+ case Dot of
896+ {'.' , {_Line , _Column , Delimiter }} when Delimiter =/= nil ->
897+ delimiter (<<Delimiter >>) ++ IdentifierMeta0 ;
898+ _ ->
899+ IdentifierMeta0
900+ end ,
901+ {'.' , Meta , IdentifierMeta1 , [Left , extract_identifier (Right )]}.
895902
896903extract_identifier ({Kind , _ , Identifier }) when
897904 Kind == identifier ; Kind == bracket_identifier ; Kind == paren_identifier ;
@@ -916,17 +923,17 @@ build_no_parens_do_block(Expr, Args, {BlockMeta, Block}) ->
916923build_no_parens (Expr , Args ) ->
917924 build_call (Expr , Args ).
918925
919- build_identifier ({'.' , Meta , IdentifierLocation , DotArgs }) ->
920- {{'.' , Meta , DotArgs }, [{no_parens , true } | IdentifierLocation ], []};
926+ build_identifier ({'.' , Meta , IdentifierMeta , DotArgs }) ->
927+ {{'.' , Meta , DotArgs }, [{no_parens , true } | IdentifierMeta ], []};
921928
922929build_identifier ({'.' , Meta , _ } = Dot ) ->
923930 {Dot , [{no_parens , true } | Meta ], []};
924931
925932build_identifier ({_ , Location , Identifier }) ->
926933 {Identifier , meta_from_location (Location ), nil }.
927934
928- build_call ({'.' , Meta , IdentifierLocation , DotArgs }, Args ) ->
929- {{'.' , Meta , DotArgs }, IdentifierLocation , Args };
935+ build_call ({'.' , Meta , IdentifierMeta , DotArgs }, Args ) ->
936+ {{'.' , Meta , DotArgs }, IdentifierMeta , Args };
930937
931938build_call ({'.' , Meta , _ } = Dot , Args ) ->
932939 {Dot , Meta , Args };
0 commit comments