Skip to content

Commit

Permalink
Merge branch 'mc/dialyzer-doc' into dev
Browse files Browse the repository at this point in the history
* mc/dialyzer-doc:
  dialyzer: Update documentation
  • Loading branch information
Niclas Axelsson committed Dec 6, 2010
2 parents f1c8231 + 33b0b25 commit 269acf0
Show file tree
Hide file tree
Showing 5 changed files with 231 additions and 127 deletions.
7 changes: 6 additions & 1 deletion lib/dialyzer/RELEASE_NOTES
Expand Up @@ -3,8 +3,13 @@
(in reversed chronological order)
==============================================================================

Version 2.x.x (in Erlang/OTP R14B01)
Version 2.4.0 (in Erlang/OTP R14B01)
------------------------------------
- Added ability to supply multiple PLTs for the analysis (option --plts).
Currently these PLTs must be independent (i.e., no module appears in more
than one PLT) and there must not include files with module name clashes.
- Strengthened and streamlined hard-coded type information for some BIFs
and key library functions.
- Fixed pretty rare infinite loop when refining the types of an SCC whose
functions all returned none() (thanks to Stavros Aronis).
- Fixed pretty rare crash when taking the infimum of two tuple_sets.
Expand Down
81 changes: 49 additions & 32 deletions lib/dialyzer/doc/manual.txt
Expand Up @@ -123,9 +123,9 @@ The exit status of the command line version is:


Usage: dialyzer [--help] [--version] [--shell] [--quiet] [--verbose]
[-pa dir]* [--plt plt] [--plts plts] [-Ddefine]*
[-pa dir]* [--plt plt] [--plts plt*] [-Ddefine]*
[-I include_dir]* [--output_plt file] [-Wwarn]*
[--src] [--gui | --wx] [files_or_dirs] [-r dirs]
[--src] [--gui | --wx] [files_or_dirs] [-r dirs]
[--apps applications] [-o outfile]
[--build_plt] [--add_to_plt] [--remove_from_plt]
[--check_plt] [--no_check_plt] [--plt_info] [--get_warnings]
Expand All @@ -135,63 +135,75 @@ Options:
files_or_dirs (for backwards compatibility also as: -c files_or_dirs)
Use Dialyzer from the command line to detect defects in the
specified files or directories containing .erl or .beam files,
depending on the type of the analysis
depending on the type of the analysis.
-r dirs
Same as the previous but the specified directories are searched
recursively for subdirectories containing .erl or .beam files in
them, depending on the type of analysis
them, depending on the type of analysis.
--apps applications
Option typically used when building or modifying PLT as in:
Option typically used when building or modifying a plt as in:
dialyzer --build_plt --apps erts kernel stdlib mnesia ...
to conveniently refer to library applications corresponding to the
Erlang/OTP installation. However, the option is general and can also
be used during analysis in order to refer to Erlang/OTP applications.
In addition, file or directory names can also be included, as in:
dialyzer --apps inets ssl ./ebin ../other_lib/ebin/my_module.beam
-o outfile (or --output outfile)
When using Dialyzer from the command line, send the analysis
results to the specified outfile rather than to stdout.
--raw
When using Dialyzer from the command line, output the raw analysis
results (Erlang terms) instead of the formatted result.
The raw format is easier to post-process (for instance, to filter
warnings or to output HTML pages)
warnings or to output HTML pages).
--src
Override the default, which is to analyze BEAM bytecode, and
analyze starting from Erlang source code instead
Override the default, which is to analyze BEAM files, and
analyze starting from Erlang source code instead.
-Dname (or -Dname=value)
When analyzing from source, pass the define to Dialyzer (**)
When analyzing from source, pass the define to Dialyzer. (**)
-I include_dir
When analyzing from source, pass the include_dir to Dialyzer (**)
When analyzing from source, pass the include_dir to Dialyzer. (**)
-pa dir
Include dir in the path for Erlang (useful when analyzing files
that have '-include_lib()' directives)
that have '-include_lib()' directives).
--output_plt file
Store the plt at the specified file after building it
Store the plt at the specified file after building it.
--plt plt
Use the specified plt as the initial plt (if the plt was built
during setup the files will be checked for consistency)
--plts plts
Merges the specified plts to create the initial plt -- requires
that the plts are disjoint (i.e., do not have any module
appearing in more than one plt)
during setup the files will be checked for consistency).
--plts plt*
Merge the specified plts to create the initial plt -- requires
that the plts are disjoint (i.e., do not have any module
appearing in more than one plt).
The plts are created in the usual way:
dialyzer --build_plt --output_plt plt_1 files_to_include
...
dialyzer --build_plt --output_plt plt_n files_to_include
and then can be used in either of the following ways:
dialyzer files_to_analyze --plts plt_1 ... plt_n
or:
dialyzer --plts plt_1 ... plt_n -- files_to_analyze
(Note the -- delimiter in the second case)
-Wwarn
A family of options which selectively turn on/off warnings
(for help on the names of warnings use dialyzer -Whelp)
(for help on the names of warnings use dialyzer -Whelp).
--shell
Do not disable the Erlang shell while running the GUI
Do not disable the Erlang shell while running the GUI.
--version (or -v)
Prints the Dialyzer version and some more information and exits
Print the Dialyzer version and some more information and exit.
--help (or -h)
Prints this message and exits
Print this message and exit.
--quiet (or -q)
Makes Dialyzer a bit more quiet
Make Dialyzer a bit more quiet.
--verbose
Makes Dialyzer a bit more verbose
Make Dialyzer a bit more verbose.
--build_plt
The analysis starts from an empty plt and creates a new one from the
files specified with -c and -r. Only works for beam files.
Use --plt or --output_plt to override the default plt location.
--add_to_plt
The plt is extended to also include the files specified with -c and -r.
Use --plt to specify wich plt to start from, and --output_plt to
Use --plt to specify which plt to start from, and --output_plt to
specify where to put the plt. Note that the analysis might include
files from the plt if they depend on the new files.
This option only works with beam files.
Expand All @@ -200,23 +212,23 @@ Options:
from the plt. Note that this may cause a re-analysis of the remaining
dependent files.
--check_plt
Checks the plt for consistency and rebuilds it if it is not up-to-date.
Check the plt for consistency and rebuild it if it is not up-to-date.
--no_check_plt
Skip the plt check when running Dialyzer. Useful when working with
installed plts that never change.
--plt_info
Makes Dialyzer print information about the plt and then quit. The plt
can be specified with --plt.
Make Dialyzer print information about the plt and then quit. The plt
can be specified with --plt(s).
--get_warnings
Makes Dialyzer emit warnings even when manipulating the plt. Only
emits warnings for files that are actually analyzed.
Make Dialyzer emit warnings even when manipulating the plt. Warnings
are only emitted for files that are actually analyzed.
--dump_callgraph file
Dump the call graph into the specified file whose format is determined
by the file name extension. Supported extensions are: raw, dot, and ps.
If something else is used as file name extension, default format '.raw'
will be used.
--no_native (or -nn)
Bypass the native code compilation of some key files that dialyzer
Bypass the native code compilation of some key files that Dialyzer
heuristically performs when dialyzing many files; this avoids the
compilation time but it may result in (much) longer analysis time.
--gui
Expand All @@ -236,12 +248,17 @@ Warning options:
Suppress warnings for unused functions.
-Wno_improper_lists
Suppress warnings for construction of improper lists.
-Wno_tuple_as_fun
Suppress warnings for using tuples instead of funs.
-Wno_fun_app
Suppress warnings for fun applications that will fail.
-Wno_match
Suppress warnings for patterns that are unused or cannot match.
-Wno_opaque
Suppress warnings for violations of opaqueness of data types.
-Wunmatched_returns ***
Include warnings for function calls which ignore the return value(s).
Include warnings for function calls which ignore a structured return
value or do not match against one of many possible return value(s).
-Werror_handling ***
Include warnings for functions that only return by means of an exception.
-Wrace_conditions ***
Expand All @@ -262,7 +279,7 @@ The following options are also available but their use is not recommended:
Warn when the -spec is different than the success typing.

Note:
*** These are options that turn on warnings rather than turning them off.
*** Identifies options that turn on warnings rather than turning them off.


-----------------------------------------------
Expand Down

0 comments on commit 269acf0

Please sign in to comment.