aboutsummaryrefslogtreecommitdiffstats
path: root/lib/typer/src
AgeCommit message (Collapse)Author
2017-03-08Remove typer applicationSiri Hansen
The application now has an own repo, https://github.com/erlang/typer
2017-03-02Merge branch 'maint'Hans Bolinder
* maint: typer: Update runtime dependencies dialyzer: Update runtime dependencies Correct documentation of get_modules message
2017-03-02typer: Update runtime dependenciesHans Bolinder
2017-02-03typer: Fix a bug regarding the -T optionHans Bolinder
The -T option has not been working for a long time.
2017-02-03dialyzer: Do not keep the code server's type info on the heapHans Bolinder
The table used during translation of forms to types used to be a dictionary of the type info (-type(), -opaque(), and -record()) for all modules. Now it is reduced to the modules that are needed to handle references to types in other modules. The PLT:s type info is still kept on the heap.
2017-01-12Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Compact 'file' annotations in Core code dialyzer: Try to reduce memory usage dialyzer: Use less memory when translating contracts dialyzer: Use maps instaed of dict dialyzer: Use maps instead of dict for module contracts map dialyzer: Compress a few more ETS tables dialyzer: Optimize memory consumption dialyzer: Reduce memory consumption during 'remote' phase dialyzer: Update code for finding parallelism compiler: Do not spawn process when dialyzing dialyzer: Reduce ETS usage during the typesig phase dialyzer: Optimize graph condensation dialyzer: Do not send full PLTs as messages
2017-01-11dialyzer: Try to reduce memory usageHans Bolinder
The translation from forms to types is done in a separate process in an attempt to reduce peak memory usage. Expect further optimizations as it is probably not feasible in the long run to keep all type information on the heap.
2017-01-11dialyzer: Use maps instaed of dictHans Bolinder
2017-01-11dialyzer: Use maps instead of dict for module contracts mapHans Bolinder
2017-01-11dialyzer: Do not send full PLTs as messagesHans Bolinder
The mini PLT is extended to hold all data of the full PLT, and the full PLT is restored when needed (for storing the PLT on file).
2016-11-23Correct copyright info on typer filesRichard Carlsson
2016-03-15update copyright-yearHenrik Nord
2016-01-26Clarify computation of exported types in DialyzerLuca Favatella
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.)
2015-09-28typer: Fix a bugHans Bolinder
Instead of outputting a formatted message showing errors found, a core was (often) created.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-08typer: Properly extract annotationsHans Bolinder
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.
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-04-10Correct the name of a compiler option and fix the corresponding warningsKostis Sagonas
The option `warn_export_vars` was erroneously written as `warn_exported_vars` in Makefiles of dialyzer and typer. As a result, `erlc` was silent about such warnings (why on earth doesn't it complain on unrecognized options??) which were corrected as part of this change.
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-02-24Merge branch 'hb/dialyzer/deprecate_types/OTP-10342'Hans Bolinder
* hb/dialyzer/deprecate_types/OTP-10342: Deprecate pre-defined built-in types
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-02-18Fix library application appup filesTobias Schlager
As discussed in issue #240 *all* OTP library applications use the '.*' wildcard as up and down version. This makes library applications always up- and downgradeable. Using the wildcard version obsoletes all maintenance tasks regarding library applications' appup files. Additionally, it prevents upgrade problems caused by automatically included application dependencies when using reltool to create releases. Missing copyright headers are now consistently present.
2014-01-28typer: Rename map() type to map_dict()Björn-Egil Dahlberg
The name conflicted with builtin type map().
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2012-08-31Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/diameter/autoconf/vxworks/sed.general xcomp/README.md
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-07-19typer: Remove VxWorksBjörn-Egil Dahlberg
A comment referred to vxworks and was thusly removed
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-05-21Anonymous time serverStavros Aronis
2012-05-21Better reflect side-effect based code in dialyzer_callgraphStavros Aronis
2012-05-21Add --time option to DialyzerStavros Aronis
2012-05-21Fix typer crashesStavros Aronis
2011-12-01Fix Dialyzer's warnings in typerStavros Aronis
2011-11-30Fix crash in TyperStavros Aronis
2011-09-29Merge branch 'sa/dialyzer-bug-fixes' into devHenrik Nord
* sa/dialyzer-bug-fixes: Fix typer's crash for nonexisting files Remove unused macro Decrease tuple arity limit Fix bug in dataflow OTP-9597
2011-09-28Fix typer's crash for nonexisting filesStavros Aronis
... and do some small cleanups.
2011-09-16Quote atoms if necessary in typesTomas Abrahamsson
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'().
2011-03-23Add options -pa Dir and -pz Dir to TypErTomas Abrahamsson
Setting code path options is useful e.g. when analyzing programs that use parse transforms.
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-10Strengthen some specsKostis Sagonas
2011-02-10Allow for --show_success_typings spelling alsoKostis Sagonas
2011-02-09Add '--show_success_typings' optionStavros Aronis
With '--show_success_typings' Typer will print/use the final success typings from Dialyzer and ignore/overwrite any existing contracts.
2011-02-08Fix crash in oveloaded contracts with overlapping domainsKostis Sagonas
Typer should not crash miserably when processing a user-specified overloaded contract with overlapping types in its arguments.
2011-02-06Fix a type error and do some further cleanupKostis Sagonas
2011-02-06Type cleanups and simplificationsKostis Sagonas
2011-02-06Cleanup the analysis recordKostis Sagonas
2011-02-06Remove typer_annotator.erl and typer.hrlKostis Sagonas
2011-02-06Remove typer_info.erl fileKostis Sagonas
2011-02-06Remove typer_options.erl fileKostis Sagonas
2011-02-06Remove typer_preprocess.erl fileKostis Sagonas