aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_succ_typings.erl
AgeCommit message (Collapse)Author
2015-06-18Change license text to APLv2Bruce Yinhe
2015-01-14dialyzer: Introduce module local suppression of warningsHans Bolinder
The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module.
2014-05-05Remove pre-defined types dict(), digraph(), &cHans Bolinder
The pre-defined types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been removed.
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
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.
2014-01-21[dialyzer] Re-work the handling of opaque typesHans Bolinder
It is now OK to inspect and modify the internals of opaque types within the scope of the module. The contracts are used for decorating types with opaqueness when it is harmless to do so. The opaqueness is propagated by the typesig module and also by the dataflow module. A lot of details have been fixed or updated. In particular the modules erl_types and erl_bif_types have been modified extensively. The version in vsn.mk has been updated to 2.7. The reason is a modification of #opaque{} in erl_types. Dialyzer seems to be about five percent slower than it used to be.
2012-08-21Add an undocumented option [--solver [v1 | v2]]Hans Bolinder
The original implementation of the type signature solver is called 'v1' and the newly introduced alternative implementation is called 'v2'. It is possible to run just the one of the solvers (in case there is a bug in for instance the v2 implementation) or both solvers ("--solver v1 --solver v2"). In the latter case an error is thrown if the outcome differ.
2012-05-21Anonymous time serverStavros Aronis
2012-05-21Remove needless conversionStavros Aronis
The final version of the callgraph needs not be "reduced" for more efficient copying.
2012-05-21Coordinator is no longer a separate processStavros Aronis
2012-05-21Plain concatenation for typesig not-fixpoint listStavros Aronis
2012-05-21Coordinator translates functions requiring further analysisStavros Aronis
2012-05-21Remove data prefetchingStavros Aronis
2012-05-21Fix specsStavros Aronis
2012-05-21Simplify behaviour checking codeStavros Aronis
2012-05-21Add better timing labelsStavros Aronis
2012-05-21Parallel warning generationStavros Aronis
2012-05-21Add --time option to DialyzerStavros Aronis
2012-05-21Keep mini plt for warnings passStavros Aronis
2012-05-21Fix types and specs in DialyzerStavros Aronis
2012-05-21Parallel dataflowStavros Aronis
2012-05-21Generalize coordinator and workerStavros Aronis
2012-05-21Prepare for parallel dataflowStavros Aronis
2012-05-21Remove unused race detection related codeStavros Aronis
2012-05-21Refactorings in succ_typingsStavros Aronis
2012-05-21Parallel typesig analysisStavros Aronis
2012-05-21Success typing analysis uses ETS tables for necessary plt infoStavros Aronis
Only the info and contracts dicts were neccessary for success typing inference and these have been converted to ETS tables.
2012-05-21Flatten order of dataflow analysesStavros Aronis
Dataflow analysis was structured to find SCCs of modules, without making any use of the information that these were indeed SCCs.
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-02-22Further simplificationsStavros Aronis
2012-02-22Simplify dialyzer_succ_typings codeStavros Aronis
2011-11-18Behaviour callback discrepancy detection for DialyzerStavros Aronis
2011-11-18Store callbacks in codeserver and PLTStavros Aronis
2011-11-18Collect callback definitions during compilationStavros Aronis
2011-05-23Fix crash when a contract range warning is emitted for a module already in pltStavros Aronis
Warnings about wrong contract ranges are post-processed to be displayed in the file/line that contains the contract, although they can also be emitted while processing other modules. For this relocation to succeed the module that contains the contract should be currently under analysis. If this is not the case the warning is displayed in the file/line of the call that proves the discrepancy in the contract.
2011-03-31Fix crash related with the contract blame assignment patchStavros Aronis
The relevant commit is 8342fcf5395133a19d647f2ace606af9b7fc1732. The old patch could emit warnings even for function that had a problematic spec even without refinement. This warnings would consume the relevant invalid spec warnings. This patch takes care of this by ensuring that normal invalid spec messages are emitted if the call that triggers the blame contract range warning is in another module.
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Better blame assignment when a spec is erroneousStavros Aronis
Applies to the specification of the return value of a function.
2010-06-08Various changes to dialyzer-related files for R14.Kostis Sagonas
Bumped version number and wrote RELEASE_NOTES. Included all changes described in release notes. Some spec-related changes to some files in lib/hipe/cerl.
2010-02-17Merge branch 'ks/hipe' into ccase/r13b04_devErlang/OTP
* ks/hipe: dialyzer: Fix system_limit exception in race analysis syntax_tools: Add types and specs for most exported functions syntax_tools: Support the --enable-native-libs configure option syntax_tools: Remove $Id$ annotations dialyzer: New version for the R13B04 release hipe: Miscellaneous additions typer: New version for the R13B04 release Fix a HiPE compiler bug evaluating an expression that throws system_limit OTP-8460 ks/hipe
2010-02-14dialyzer: New version for the R13B04 releaseKostis Sagonas
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP