Age | Commit message (Collapse) | Author |
|
Superfluous usage of insert_temp_exported_types had been in since
6452b57. (Change in commit 8a3ea1f module dialyzer_analysis_callgraph
is a correct simplification and is not relevant.)
|
|
Instead of outputting a formatted message showing errors found, a core
was (often) created.
|
|
|
|
The addition of the erl_anno module, OTP-12195, also modified v3_core
so that functions with line number zero are regarded as compiler
generated.
|
|
|
|
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.
|
|
The name conflicted with builtin type map().
|
|
Conflicts:
lib/diameter/autoconf/vxworks/sed.general
xcomp/README.md
|
|
|
|
A comment referred to vxworks and was thusly removed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* sa/dialyzer-bug-fixes:
Fix typer's crash for nonexisting files
Remove unused macro
Decrease tuple arity limit
Fix bug in dataflow
OTP-9597
|
|
... and do some small cleanups.
|
|
Atoms in some occurrences were not correctly quoted when formatted to
strings, for instance by the typer program. Example:
-module(tb).
-export(['UPPERCASE-FUNCTION-NAME'/0, f1/0, f2/0, f3/0]).
-record('UPPERCASE-RECORD-NAME', {x}).
-record(r2, {'UPPERCASE-FIELD-NAME'}).
-type 'UPPERCASE-TYPE-NAME'() :: integer().
'UPPERCASE-FUNCTION-NAME'() -> ok.
f1() -> #'UPPERCASE-RECORD-NAME'{x=1}.
f2() -> #r2{'UPPERCASE-FIELD-NAME'=1}.
-spec f3() -> 'UPPERCASE-TYPE-NAME'().
f3() -> 1.
Given the program above, the output from typer --plt some.plt tb.erl
resulted in the following specs being printed:
-spec UPPERCASE-FUNCTION-NAME() -> 'ok'.
-spec f1() -> #UPPERCASE-RECORD-NAME{x::1}.
-spec f2() -> #r2{UPPERCASE-FIELD-NAME::1}.
-spec f3() -> UPPERCASE-TYPE-NAME().
This commit changes the output to become the following:
-spec 'UPPERCASE-FUNCTION-NAME'() -> 'ok'.
-spec f1() -> #'UPPERCASE-RECORD-NAME'{x::1}.
-spec f2() -> #r2{'UPPERCASE-FIELD-NAME'::1}.
-spec f3() -> 'UPPERCASE-TYPE-NAME'().
|
|
Setting code path options is useful e.g. when analyzing programs that
use parse transforms.
|
|
|
|
|
|
With '--show_success_typings' Typer will print/use the final
success typings from Dialyzer and ignore/overwrite any existing
contracts.
|
|
Typer should not crash miserably when processing a user-specified
overloaded contract with overlapping types in its arguments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Added ability to receive the set of exported types and report unknown ones.
While doing the above, cleaned up types, specs, and record field names.
|
|
|
|
|