erl_anno(3)



erl_anno(3erl)             Erlang Module Definition             erl_anno(3erl)

NAME
       erl_anno  -  Abstract  datatype  for the annotations of the Erlang Com-
       piler.

DESCRIPTION
       This module provides an abstract type that is used by the  Erlang  Com-
       piler and its helper modules for holding data such as column, line num-
       ber, and text. The data type is a  collection  of  annotations  as  de-
       scribed in the following.

       The  Erlang Token Scanner returns tokens with a subset of the following
       annotations, depending on the options:

         column:
           The column where the token begins.

         location:
           The line and column where the token begins, or just the line if the
           column is unknown.

         text:
           The token's text.

       From this, the following annotation is derived:

         line:
           The line where the token begins.

       This  module also supports the following annotations, which are used by
       various modules:

         file:
           A filename.

         generated:
           A Boolean indicating if the abstract  code  is  compiler-generated.
           The Erlang Compiler does not emit warnings for such code.

         record:
           A  Boolean  indicating  if  the  origin  of  the abstract code is a
           record. Used by Dialyzer to assign types to tuple elements.

       The functions column(), end_location(), line(), location(), and  text()
       in  the  erl_scan  module can be used for inspecting annotations in to-
       kens.

       The   functions    anno_from_term(),    anno_to_term(),    fold_anno(),
       map_anno(), mapfold_anno(), and new_anno(), in the erl_parse module can
       be used for manipulating annotations in abstract code.

DATA TYPES
       anno()

              A collection of annotations.

       anno_term() = term()

              The term representing a collection of annotations. It is  either
              a location() or a list of key-value pairs.

       column() = integer() >= 1

       line() = integer() >= 0

       location() = line() | {line(), column()}

       text() = string()

EXPORTS
       column(Anno) -> column() | undefined

              Types:

                 Anno = anno()
                 column() = integer() >= 1

              Returns the column of the annotations Anno.

       end_location(Anno) -> location() | undefined

              Types:

                 Anno = anno()
                 location() = line() | {line(), column()}

              Returns the end location of the text of the annotations Anno. If
              there is no text, undefined is returned.

       file(Anno) -> filename() | undefined

              Types:

                 Anno = anno()
                 filename() = file:filename_all()

              Returns the filename of the annotations Anno.  If  there  is  no
              filename, undefined is returned.

       from_term(Term) -> Anno

              Types:

                 Term = anno_term()
                 Anno = anno()

              Returns annotations with representation Term.

              See also to_term().

       generated(Anno) -> generated()

              Types:

                 Anno = anno()
                 generated() = boolean()

              Returns true if annotations Anno is marked as generated. The de-
              fault is to return false.

       is_anno(Term) -> boolean()

              Types:

                 Term = any()

              Returns true if Term is a collection of  annotations,  otherwise
              false.

       line(Anno) -> line()

              Types:

                 Anno = anno()
                 line() = integer() >= 0

              Returns the line of the annotations Anno.

       location(Anno) -> location()

              Types:

                 Anno = anno()
                 location() = line() | {line(), column()}

              Returns the location of the annotations Anno.

       new(Location) -> anno()

              Types:

                 Location = location()
                 location() = line() | {line(), column()}

              Creates a new collection of annotations given a location.

       set_file(File, Anno) -> Anno

              Types:

                 File = filename()
                 Anno = anno()
                 filename() = file:filename_all()

              Modifies the filename of the annotations Anno.

       set_generated(Generated, Anno) -> Anno

              Types:

                 Generated = generated()
                 Anno = anno()
                 generated() = boolean()

              Modifies the generated marker of the annotations Anno.

       set_line(Line, Anno) -> Anno

              Types:

                 Line = line()
                 Anno = anno()
                 line() = integer() >= 0

              Modifies the line of the annotations Anno.

       set_location(Location, Anno) -> Anno

              Types:

                 Location = location()
                 Anno = anno()
                 location() = line() | {line(), column()}

              Modifies the location of the annotations Anno.

       set_record(Record, Anno) -> Anno

              Types:

                 Record = record()
                 Anno = anno()
                 record() = boolean()

              Modifies the record marker of the annotations Anno.

       set_text(Text, Anno) -> Anno

              Types:

                 Text = text()
                 Anno = anno()
                 text() = string()

              Modifies the text of the annotations Anno.

       text(Anno) -> text() | undefined

              Types:

                 Anno = anno()
                 text() = string()

              Returns  the  text of the annotations Anno. If there is no text,
              undefined is returned.

       to_term(Anno) -> anno_term()

              Types:

                 Anno = anno()

              Returns the term representing the annotations Anno.

              See also from_term().

SEE ALSO
       erl_parse(3erl), erl_scan(3erl)

Ericsson AB                       stdlib 3.13                   erl_anno(3erl)

Man(1) output converted with man2html
list of all man pages