Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

NAME

       erl_id_trans - An identity parse transform.

DESCRIPTION

       This module performs an identity parse transformation of Erlang code. It is included as an
       example  for  users  who  wants  to  write  their  own  parse  transformers.   If   option
       {parse_transform,Module}   is   passed   to   the   compiler,   a   user-written  function
       parse_transform/2 is called by the compiler before the code is checked for errors.

       Before the function parse_transform is called, the Erlang Compiler  checks  if  the  parse
       transformation   can   handle   abstract   code  with  column  numbers:  If  the  function
       parse_transform_info/0 is implemented and returns a map where the  key  error_location  is
       associated with the value line, the compiler removes column numbers from the abstract code
       before calling the parse transform. Otherwise, the compiler passes the  abstract  code  on
       without modification.

EXPORTS

       parse_transform(Forms, Options) -> Forms

              Types:

                 Forms = [erl_parse:abstract_form() | erl_parse:form_info()]
                 Options = [compile:option()]

              Performs an identity transformation on Erlang forms, as an example.

       parse_transform_info() -> Info

              Types:

                 Info = #{'error_location' => 'column' | 'line'}

              Returns information about the parse transform itself.

PARSE TRANSFORMATIONS

       Parse  transformations  are  used  if  a  programmer  wants to use Erlang syntax, but with
       different semantics. The original Erlang code is then transformed into other Erlang code.

   Note:
       Programmers are strongly advised not to engage in parse  transformations.  No  support  is
       offered for problems encountered.

SEE ALSO

       erl_parse(3erl), compile(3erl)