aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src
AgeCommit message (Collapse)Author
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-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-18Wrap up behaviours patch for DialyzerStavros Aronis
Enable warnings by default, add two options for suppressing them, fix warning formatting and update testsuites.
2011-11-18Detection of callback-spec discrepanciesStavros Aronis
2011-11-18Allow none() as return value in callbacksStavros Aronis
2011-11-18Behaviour callback discrepancy detection for DialyzerStavros Aronis
2011-11-18Add lookup function for callbacksStavros Aronis
2011-11-18Store callbacks in codeserver and PLTStavros Aronis
2011-11-18Collect callback definitions during compilationStavros Aronis
2011-10-14Fix false warning about closure applicationStavros Aronis
Whenever a variable that could hold one of two or more possible closures was used in a particular application, the application was assumed to fail if ONE of the closures would fail in this application. This has been corrected to infer failing application if ALL possible closures would fail in the particular application.
2011-10-14Change category of 'might also return' warningsStavros Aronis
Dialyzer emits warnings like the following "The specification for _ states that the function might also return _ but the inferred return is _", which are actually underspecifications and not wrong type specifications. This patch makes sure that they are filed under the appropriate category.
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-27Fix bug in dataflowStavros Aronis
2011-08-30Add origin information to #fun_var closuresStavros Aronis
2011-08-29Suppress some warnings about generation of non-returning funsStavros Aronis
No warnings are emitted for funs that are non-returning when the function that generates them has a contract that specifies that it will return such a non-returning fun. The actual bug, reported by Tuncer Ayaz and simplified by Maria Christakis is included in Dialyzer's tests.
2011-08-29Fix infinite loop in dataflowStavros Aronis
2011-08-29Minor fix in dead codeStavros Aronis
2011-08-24Merge branch 'sa/dialyzer-server-loop-fix' into devHenrik Nord
* sa/dialyzer-server-loop-fix: Fix server loop detection OTP-9489
2011-08-17Fix dialyzer warning on default clause for binary comprehensionIvan Dubrov
Fixed dialyzer warning occuring on binary comprehension of form "<< <<>> || {A, B} <- [{a, b}] >>" caused by default clause inserted by compiler. Since this clause is different from the case of list comprehension, dialyzer fails to suppress that warning.
2011-08-01Fix bug when reporting unused functionsStavros 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-05-13Fix server loop detectionStavros Aronis
Dialyzer does not normally emit warnings for functions that implement non-terminating server loops. This detection failed when some of the elements in an SCC terminated normally (being for example list comprehensions or other generic anonymous functions that were included in the SCC). This patch fixes that.
2011-04-12Merge branch 'sa/dialyzer-invalid-spec-fix' into devHenrik Nord
* sa/dialyzer-invalid-spec-fix: Fix crash related with the contract blame assignment patch OTP-9219
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-29Fix the name of an error functionMaria Christakis
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Merge branch 'sa/dialyzer-missing-spec' into devHenrik Nord
* sa/dialyzer-missing-spec: Add spec to dialyzer_cl_parse:get_lib_dir/1 OTP-9129
2011-03-11More descriptive warning when a tuple pattern matches a typed recordStavros Aronis
2011-03-11Better blame assignment when a spec is erroneousStavros Aronis
Applies to the specification of the return value of a function.
2011-03-11Generate better warnings for failing guardsStavros Aronis
2011-03-11Fix an erroneous warningKostis Sagonas
2011-03-11Refactoring so that a flat string() is returnedKostis Sagonas
2011-03-11Renamed error/1 function and added specsKostis Sagonas
2011-03-11Renamed error/1 function and added specsKostis Sagonas
2011-03-10Add spec to dialyzer_cl_parse:get_lib_dir/1Stavros Aronis
2011-03-09Merge branch 'aronisstav/dialyzer/dialyzer_tests/OTP-9116' into devLukas Larsson
* aronisstav/dialyzer/dialyzer_tests/OTP-9116: Increase timetrap of options1 suite Write output_plt even when plt_check is ok Create plt with erts, kernel and stdlib only Update test results as they currently appear in dev Major restructure of dialyzer's testsuite Add 'apps' option to the erlang interface Update spec file to work with new common test structure Test suites for Dialyzer
2011-03-04Merge branch 'sa/dialyzer-fix-guards' into devNiclas Axelsson
* sa/dialyzer-fix-guards: Fix warnings about guards containing not Fix errors in the handling of 'and'/'or' guards Cosmetic changes OTP-9099
2011-02-28Write output_plt even when plt_check is okStavros Aronis
2011-02-28Add 'apps' option to the erlang interfaceStavros Aronis
2011-01-20Add a --fullpath option to DialyzerKostis Sagonas
This change adds a --fullpath option to Dialyzer, which makes the warning messages contain the full path of the corresponding file. Original patch submitted by Magnus Henoch (legoscia) on 15/9/2010 and cooked to death in the 'pu' branch all this time. The patch was essentially correct and most of it has been used as is, but there have been some changes to make the code slightly prettier, avoid some code duplication, and add documentation to dialyzer's doc files and to its help message.
2011-01-18Fix warnings about guards containing notStavros Aronis
The wording of warnings about unsatisfiable guards that used 'not' was incorrect (the 'not' was not mentioned and it appeared as "Guard test is_atom(atom()) can never succeed").
2011-01-18Fix errors in the handling of 'and'/'or' guardsStavros Aronis
Apart from the obvious bug in the negative evaluation of an 'and' guard, Dialyzer handled dont_know cases rather single-mindedly towards the positive branch. This patch allows for negative results as well and does some clever guesses to narrow them down. It was constructed similarly to the handling of the 'not' guard.
2011-01-14Cosmetic changesStavros Aronis
2010-12-20Fix bug in the handling of 'or' by DialyzerStavros Aronis
Dialyzer had a minor issue when the arguments of the built-in function 'or' had the fixed value 'false'. This testcase should return no warnings: -module(false_false). -export([false_or/0]). false_or() -> false or false.