Commit Graph
53 Commits
Author SHA1 Message Date
José Valim f2b31a6626 Ensure do blocks do not exceed line length on single arguments
Closes #7232
2018-01-21 00:53:24 +01:00
José Valim 840c995af6 Update locals_tracker.ex comments 2017-12-06 20:10:05 +01:00
José Valim 1fdc792a35 Format locals_tracker.ex 2017-12-06 20:08:45 +01:00
José Valim 74f617399f Use a single table instead of digraph for tracking locals
This reduces the number of spawned ETS tables from 3 to 1
per local tracker and also removes the need for a separate
process.

Closes #7091.
2017-12-06 19:49:54 +01:00
José Valim 2f5e6a2fd4 Format more low hanging fruit files 2017-10-10 19:12:17 +02:00
Ivan Kozik d7d697db39 Use "number" instead of "amount" for count nouns (#6528) 2017-09-01 10:17:26 +02:00
José Valim 3a1611f54e Properly track unreachable defmacrops in locals tracker 2017-07-28 12:48:26 +02:00
José Valim 76c533f30e Ensure defaults and defoverridable work together, closes #6300
This commit changes the private super implementation to have
a tuple with the {kind, name} as first argument.
2017-07-06 15:47:56 +02:00
José Valim 8518652dec Cache the AST on definitions
This speeds up the compilation time from 10% to 15%
measured across different projects.
2017-06-29 10:53:14 +02:00
José Valim c4663ec885 Optimize checking of unused and unreachable locals 2017-03-10 12:20:21 +01:00
José Valim f56812acb7 Start moving files to elixir_erl 2017-02-19 19:40:21 +01:00
José Valim 70dacf6140 Properly eliminate clauses with unused defaults 2017-02-19 16:51:57 +01:00
José Valim fe7de34995 Simplify local warnings 2017-02-18 19:44:38 +01:00
José Valim ebd4f27ef0 Move module attributes to a new structure to support warnings 2016-11-20 00:08:20 +01:00
Eksperimental 31822b42f0 Properly spell PID (#4883) 2016-06-25 09:03:35 +02:00
eksperimental c68b64f59f Correct use of indefinite article a/an (#4752) 2016-06-02 00:55:20 +02:00
eksperimental 4ceb41e71b Formmating: Add white space around vertical bar (#4507) 2016-04-25 00:55:49 +02:00
Joe Yates 05e426248c Fix typos in Elixir moduledocs 2015-12-01 13:45:33 +01:00
Josh Adams 66fbae2480 Remove reference to GenServer.Behaviour from LocalsTracker 2015-09-01 19:29:19 -05:00
eksperimental 61675c3ea8 Add space after comma: Format consistently 2015-03-17 22:55:27 +07:00
José Valim b6376ce35f Use exits instead of stop so we get stacktraces 2015-03-10 16:20:21 +01:00
José Valim 8de8a56223 Use unamed tables for module compilation
* We have created a main named table that keeps all module information

* We have reduced the amount of tables by storing internal, docs and
  attributes altogether and using table looks for retriving the relevant
  information

* At this moment, creating a module in Elixir defines three tables,
  one for data, another for functions and another for clauses
2014-10-17 13:51:19 +02:00
James Fish 2417b196a4 Fix elixir dialyzer warnings 2014-09-03 19:29:01 +01:00
Tom Kadwill aedd5a938f Added @doc false to handle_info function 2014-08-08 10:21:26 +01:00
José Valim 79fb40ab6a Correctly follow code specs when loading binaries
If we are compiling the module, we will load it with the
output of its beam file. If the module exists only in
memory, :code.which/1 will return `:in_memory`.

Closes #2533
2014-08-06 12:05:55 +02:00
José Valim 89561c321d Ensure defoverridable is not order dependant, closes #2615 2014-08-01 16:49:57 +02:00
Tom Kadwill a6d887ee09 Added @doc false to terminate and code_change 2014-07-28 12:49:33 +01:00
Tom Kadwill 0fe940a621 Added @doc false to handle call 2014-07-27 11:52:15 +01:00
José Valim 1bd0ca6dea Return explicit :ok from more functions 2014-07-05 13:43:52 +02:00
James Fish 39cd4a6594 Fix unmatched returns dialyzer warnings 2014-07-04 02:45:16 +01:00
José Valim ebe3397ad9 Do not include unreachable locals 2014-07-03 16:26:44 +02:00
José Valim d2258acbb3 Ensure yanked locals are added back with all nodes, closes #2188 2014-07-03 11:43:42 +02:00
José Valim 56f15d9f4e Do not add spaces after { and before }
This makes the source code consistent with the result
returned by inspect/2.
2014-04-21 19:06:35 +02:00
José Valim d66a3aea39 Ensure variables can be defined in comprehensions 2014-02-18 09:23:44 +01:00
José Valim 3512c1a860 Start migrating lc to for comprehensions 2014-02-17 14:45:04 +01:00
José Valim ea34b7a302 Only raise on conflicts coming from functions 2014-02-09 21:20:24 +01:00
José Valim b659ecfa7e Remove pre-copying of dev dependencies
The current code was copying manifests but they got
recent access times which caused bugs. Also, a dependency
can have different results depending on each dependencies
are available and which are not, so simply copying the
compiled dep can lead to weird errors.
2014-01-23 18:38:57 +01:00
José Valim 2a6940014a Move environment cache to locals tracker, which is per module 2014-01-02 20:44:32 +01:00
José Valim 9f5e7c4a41 Fix expansion of =, inbits and inlist regarding rhs lexical info 2013-12-23 13:00:09 +01:00
José Valim 219ded1b91 Rename DispatchTracker to LocalsTracker 2013-12-22 09:20:41 +01:00
José Valim 3c151d5357 Add Kernel.LexicalTracker 2013-11-01 16:03:12 +01:00
José Valim f3f64cdba2 Move to capture syntax 2013-09-10 23:33:53 -03:00
José Valim 4df054c1ad Record aliases separatedly from remotes 2013-07-19 23:10:03 +02:00
José Valim 16d3a84637 Improve ManifestCompiler to track more dependencies 2013-07-19 22:16:31 +02:00
José Valim 2e3c4ee1c9 Support each_module callback on ParallelCompiler 2013-07-19 22:10:30 +02:00
José Valim c765a95b91 Ensure default calls are connected in dispatch tracker 2013-06-07 13:34:41 +08:00
José Valim fce97507de Do not include remotes on reachable results 2013-05-28 07:46:39 +02:00
José Valim d19f6beca0 Provide source information to all dispatches and complement the API 2013-05-26 20:20:23 +02:00
José Valim da84a797b0 Module.DispatchTracker also records remotes 2013-05-26 20:20:23 +02:00
José Valim fefad03595 Ensure warnings are proper with yanked and reattached overridables 2013-05-26 17:51:42 +02:00