anchor.diff:      [].
   
   expand_comment(C) ->
  -    {L, _Col, Ind, Text} = C,
  -    refac_syntax:set_pos(refac_syntax:comment(Ind, Text), {L,Ind}).  %% Modified by Huiqing
  -
  +    {L, Col, Ind, _PreTok, Text} = C,
  +    refac_syntax:set_pos(refac_syntax:comment(Ind, Text), {L,Col}).  %% Modified by Huiqing
  +
  +
  +comment_follows_special_keyword({_L, _Col, _Ind, PreTok, _Text}) ->
  +    lists:member(PreTok, ['of', '->']).
   
   %% =====================================================================
   %% Abstract data type for extended syntax trees.
  
positive.code:     Ns.
  
  recomment_forms_2(C, [Node | Ns], Insert) ->
      {L, Col, Ind, Text} = C,
      Min = node_min(Node),
      Max = node_max(Node),
      N = comment_delta(Text),
  
negative.code: 		    %% The whole node is on a single line (this
  		    %% should usually catch all leaf nodes), so we
  		    %% postfix the comment.
                      node_add_postcomment(C, Node);
  	       true ->
  		    %% The comment should be inserted in the
  		    %% subrange of the node, i.e., attached either
  