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