aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer
AgeCommit message (Collapse)Author
2012-05-08Merge branch 'sa/dialyzer-contract-variables' into maintHenrik Nord
* sa/dialyzer-contract-variables: Correct handling of type names in contracts Don't rewrite unchanged PLT Fix crash related to contract checking OTP-10083
2012-04-24Correct handling of type names in contractsStavros Aronis
Variables in contracts can either be true type variables or simply names for types thet are defined in the 'when' clauses. Consider the following example: -spec foo(X, Options) -> {ok, X} | error when Options :: [{atom(), boolean()}]. Here X is a true variable whereas Options is a name for a type that is defined in the when clause. 'when' clauses may further use names on the right side. These were not treated properly by Dialyzer and could be generalized to the term() type. This patch fixes this issue. A further issue is the treatment of true type variables, but this is left for another patch.
2012-04-24Don't rewrite unchanged PLTStavros Aronis
2012-04-24Fix crash related to contract checkingStavros Aronis
When "collapsing" heads of list elements from a list's tail into the list's head the new head can be different.
2012-04-17Correct documentation, erl_bif_types and dialyzer testsPatrik Nyblom
2012-04-17Extend erlang:port_info/1,2 to show the OS pid of a spawned processMatthias Lang
When spawning OS (unix) processes with erlang:open_port, store the resulting unix pid so that it can be queried later on using erlang:port_info/1,2.
2012-04-01Prepare releaseOTP_R15B01Erlang/OTP
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-26Fix bug related with infinitely looping functionsStavros Aronis
Depending of the ordering of the functions during dataflow, a function with an infinite loop might be identified as one that always crashes. This is fixed now, by allowing restoration of the infinitely-looping status.
2012-03-26Report only actual unknown types otherwise no message is sentStavros Aronis
2012-03-26Use wx:wx_object() type now that it is exportedKostis Sagonas
2012-03-26Up versionKostis Sagonas
2012-03-26Add warnings_as_errors optionKostis Sagonas
2012-03-14Ensure that -on_load functions are not reported as unusedStavros Aronis
2012-03-01Unknown types are being reported by dialyzer's GUIsStavros Aronis
2012-03-01Fix bug in remote type solvingStavros Aronis
2012-02-22Review by Kostis Sagonas and fixesStavros Aronis
2012-02-22Simplify external vs bad calls checkStavros Aronis
2012-02-22Remove callgraph from the state used during solvingStavros Aronis
2012-02-22Refactorings in dialyzer_typesigStavros Aronis
2012-02-22Avoid unnecessary passing of huge terms in some closuresStavros Aronis
The relevant terms were instances of Dialyzer's typesig analysis state that were stored together with some "dynamic" constraints in a dict. Due to sharing this was not apparent until we tried to copy the dictionary. Initial debugging was by Björn Gustavsson.
2012-02-22Further simplificationsStavros Aronis
2012-02-22Remove redundant codeStavros Aronis
2012-02-22Simplify dialyzer_succ_typings codeStavros Aronis
2012-02-22Cleanups in dialyzer_callgraph and dialyzer_dataflowStavros Aronis
Refactorings, code movements and reflection of mutable variables in the code.
2012-02-22Zero-arity unused functions Dialyzer patchStavros Aronis
Dialyzer was not reporting unused functions with 0 arity. This was not a real issue, until we found out that there could be cases where this could lead to false warnings. This was the case in "no_local_return.erl".
2012-02-22Cleanup debug messages in dialyzer_dataflowStavros Aronis
2012-02-22Refactorings in dialyzer_analysis_callgraphStavros Aronis
2012-02-22Allow t_opaque_structure to handle multiple opaque typesStavros Aronis
2012-02-22Support alternative spelling of behaviourStavros Aronis
2012-02-22Refactor function selection by Dialyzer's codeserverStavros Aronis
2012-02-22Prettify specStavros Aronis
2012-02-22Small fixes for Dialyzer's testsuites generationStavros Aronis
2012-02-08Suppress deprecated warnings in all modules that call 'gs'Björn Gustavsson
2011-12-22Handle nowarn_unused_function like the compiler doesHans Bolinder
2011-12-12Prepare releaseErlang/OTP
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-08Optimize join_maps() in dialyzer_dataflowHans Bolinder
By keeping tracks of modified types the joining of maps ha become significantly faster.
2011-12-01Refine warning about callback specs with extra rangesStavros Aronis
2011-12-01Cleanup autoimport compiler directivesStavros Aronis
2011-12-01Fix Dialyzer's warning for its own codeStavros Aronis
2011-12-01Fix bug in Dialyzer's behaviours analysisStavros Aronis
2011-12-01Fix crash in DialyzerStavros Aronis
Variable substitution was not generalizing any unknown variables.
2011-11-30Update inets test resultsStavros Aronis
2011-11-30Add file/line info in a particular Dialyzer crashStavros Aronis
2011-11-30Fix Dialyzer's warning for its own codeStavros Aronis
2011-11-30No warnings for underspecs with remote typesStavros Aronis
2011-11-30Fix dialyzer warning about gen_event callback init/1 in log_mf_hSiri Hansen
The warning is about log_mf_h having a different spec for gen_event callback init/1 than defined in gen_event.erl. log_mf_h allows return value {error,Reason}, while gen_even only specifies successful return values. This commit add {error,Reason} as a valid return value to the gen_event callback, since this is handled by the code.
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson