Age | Commit message (Collapse) | Author |
|
* maint:
edoc: The map type is denoted map()
|
|
The map type was erroneously displayed as "#{}", the empty map type.
|
|
|
|
Also extended the scanner to handle the \x{...} syntax.
Capitalizing now works with a few more characters.
|
|
|
|
|
|
Bug reported by Josemic. See also ERL-63.
|
|
|
|
Before OTP 18, parentheses are kept by the Erlang Parser, and
converted by EDoc ('paren_type' to #t_paren{}). As of OTP 18, the
parser no longer keeps parentheses, why EDoc needs to insert them when
converting Erlang types and specs to EDoc types and specs. As it
seems, it is only annotations that sometimes require parentheses.
|
|
|
|
Types are represented by quadruples {type, LINE, Name, Args},
but maps were represented by five-tuples
{type, LINE, map_field_assoc, Dom, Range}.
Note: this is *not* about the quadruples used for representing
expressions, {map_field_assoc,L,K,V}.
|
|
product/_, union/_, range/2 as well as tuple/N (N > 0), map/N (N > 0),
atom/1, integer/1, binary/2, record/_, and 'fun'/_ can now be used as
type names.
|
|
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(),
set(), and tid() have been deprecated. They will be removed in OTP 18.0.
Instead the types array:array(), dict:dict(), digraph:graph(),
gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid()
can be used. (Note: it has always been necessary to use ets:tid().)
It is allowed in OTP 17.0 to locally re-define the types array(), dict(),
and so on.
New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2,
queue:queue/1, and sets:set/1 have been added.
|
|
|
|
* rz/add_proplist_type:
Add a proplist() type
OTP-9499
|
|
|
|
Also fixed a Dialyzer warning (edoc_wiki.erl).
|
|
Recently I was adding specs to an API and found that there is
no canonical proplist() type defined.
|
|
Bugs concerning the option report_missing_types that was added in
EDoc-0.7.7 have been corrected: the option was misspelled in the
source, and local definitions as well as the function tags @private
and @hidden were not handled correctly. (Thanks to Manolis Papadakis.)
|
|
It is now possible to use Erlang specifications and types in EDoc
documentation. Erlang specifications and types will be used unless
there is also a function specification (@spec) or a type alias (@type)
with the same name. In the current implementation the placement of
-spec matters: it should be placed where the @spec would otherwise
have been placed.
Not all Erlang types are included in the documentation, but only those
exported by some export_type declaration or used by some documented
Erlang specification (-spec).
There is currently no support for overloaded Erlang specifications.
The syntax definitions of EDoc have been augmented to cope with most
of the Erlang types. (But we recommend that Erlang types should be
used instead.)
edoc:read_source() takes one new option, report_missing_types.
edoc_layout:module() takes one new option, pretty_printer.
|