Aleksei Magusev
986ba68a93
Improve naming of errors in elixir_expand
2017-03-26 15:14:14 +02:00
Aleksei Magusev
27a0b10d92
Use "option" instead of "keyword" in error message for alias
2017-03-26 15:14:14 +02:00
Andrea Leopardi
6f8abf3dc7
Replace compile_error/4 with form_error/4 in elixir_erl_compiler ( #5925 )
2017-03-25 17:02:59 +01:00
Jeff Kreeftmeijer
1e43701f39
Restore (deprecated) Integer.to_char_list/2 ( #5928 )
2017-03-25 14:05:54 +01:00
José Valim
971ae0fa7a
Properly inline code and remove warnings
2017-03-23 19:01:13 +01:00
Andrea Leopardi
b0d354b8af
Replace compile_error/4 with form_error/4 in elixir_import ( #5916 )
2017-03-23 08:30:46 -07:00
Gal Tsubery
5acaea3054
Validate options for comprehension ( #5907 )
...
This change raises error when invalid keys are give to "for" loops and
prevents silent errors.
2017-03-21 19:41:08 +01:00
Gal Tsubery
7c9c94ec88
Add float overflow error message to Tokenizer ( #5893 )
2017-03-16 17:20:56 +00:00
eksperimental
df712a26a3
Inline functions in Process module
2017-03-16 09:48:54 +01:00
Eksperimental
5facbb77c1
Add nonempty_charlist/0 built-in type ( #5879 )
2017-03-16 09:46:19 +01:00
José Valim
5cef69c7e6
Clarify docs
2017-03-15 16:04:36 +01:00
José Valim
922139da50
Solve race conditions on struct dispatch
2017-03-15 15:46:52 +01:00
José Valim
70f3926a27
Do not allow PIDs and References to survive function-based AST
2017-03-06 23:37:22 +01:00
José Valim
f16f2f54ab
Update elixir_parser.yrl
2017-03-05 20:45:51 +01:00
José Valim
beb4ce260c
Fix bootstraping of elixir_bitstring
2017-03-05 18:42:38 +01:00
José Valim
62055875ba
Inline binaries inside interpolation
2017-03-05 18:10:11 +01:00
José Valim
cd1f0ca12a
Provide more examples when solving comma conflict
2017-03-05 16:56:24 +01:00
Aleksei Magusev
9a4380b897
Mention and/2 and or/2 operators in the "unsafe_var" warning
2017-02-25 23:13:58 +01:00
Aleksei Magusev
2d228d0a65
Remove unnecessary clause for "unsafe_var" handling
...
Since c94c2d8807 it is not needed.
2017-02-25 19:12:49 +01:00
Aleksei Magusev
740cc25763
Remove unnecessary clause for "with" translation
...
It is not needed since 15a8d40f86 .
2017-02-25 14:16:33 +01:00
José Valim
8ffa1c1079
No longer use dicts for building specs form
2017-02-25 11:27:44 +01:00
José Valim
e27bacbe5c
Keep ?var_context per module to avoid chance of conflicts
2017-02-24 01:29:44 +01:00
José Valim
3cb4f2d3ad
Do not require size for bound literals
2017-02-24 00:38:59 +01:00
José Valim
c7b06a0ddb
Check for float size on elixir_bitstring
2017-02-24 00:29:01 +01:00
José Valim
7f488e16ca
Check for binary size in bitstring matches
2017-02-24 00:29:01 +01:00
José Valim
cdaabf1824
Split bitstring logic into proper modules
2017-02-23 23:53:12 +01:00
José Valim
98745273fb
Improve checking of bitstrings
2017-02-23 22:55:35 +01:00
José Valim
5588dfce85
Use noenv_forms in code evaluation
2017-02-23 14:35:47 +01:00
José Valim
9307611ecc
Support custom backends (undocumented behaviour for now)
2017-02-23 14:27:17 +01:00
José Valim
c11a9b616f
Move beam building to elixir_erl
2017-02-23 13:42:41 +01:00
José Valim
ac5a0cf9ec
Add elixir_erl_compiler
2017-02-23 13:15:26 +01:00
José Valim
9ba49d2347
Start refactoring on elixir_compiler
2017-02-23 13:15:26 +01:00
José Valim
f37c4e001f
Add prematch_vars
2017-02-23 10:43:09 +01:00
Aleksei Magusev
77efb4f96c
Use elixir instead of Elixir for var_context/0
2017-02-21 21:01:28 +01:00
Aleksei Magusev
5ea54ffc4f
Add var_context/0 helper macro
2017-02-21 21:01:28 +01:00
Aleksei Magusev
d69391f07a
Use generated/1 helper macro in elixir_def
2017-02-21 21:01:28 +01:00
José Valim
865b7ef930
Deprecate parens as nil and support guards on funs with zero arity
...
Closes #5799
2017-02-21 13:06:43 +01:00
José Valim
38a2b17b51
Ensure we won't change line numbers for earlier Erlang versions
2017-02-20 23:44:16 +01:00
José Valim
c56f6c04c1
Fix how the generated annotation is handled in Elixir
2017-02-20 23:14:16 +01:00
Andrea Leopardi
f90a740155
Unify formatting of some common expansion errors ( #5797 )
2017-02-20 17:04:33 +01:00
Andrea Leopardi
fbbc38584a
Replace elixir_errors:compile_error/4 with form_error/4 in elixir_map
2017-02-20 13:24:24 +01:00
Andrea Leopardi
86e9b4bee1
Replace elixir_errors:compile_error/4 with form_error/4 in elixir_fn
2017-02-20 12:49:24 +01:00
Andrea Leopardi
621c454523
Replace compile_error/4 with form_error/4 in elixir_clauses
2017-02-20 12:19:41 +01:00
Andrea Leopardi
cbc18b3193
Unify the error we raise when cond/case/etc don't receive clauses ( #5796 )
...
Before this, we raised one error if we passed a list with some non-clauses in
it, and a different error if we passed a non-list.
2017-02-20 11:54:23 +01:00
Andrea Leopardi
eb16a9f3d5
Fix a bug when checking for _ clauses in cond
...
Since the check was optimistic, it failed for code like "cond do: :foo"
where the value of the :do option is not a list. This should fail anyways but
with a friendly error message, not with a FunctionClauseError somewhere in the
guts of it.
2017-02-20 10:19:39 +01:00
José Valim
8cbb5938b5
Move more from elixir_module to elixir_erl
2017-02-20 01:35:02 +01:00
José Valim
526618e7be
Deprecate parse transforms, closes #5762
2017-02-19 23:56:27 +01:00
Andrea Leopardi
f7b7434411
Replace elixir_errors:compile_error/4 with form_error/4 in elixir_with
2017-02-19 22:50:31 +01:00
Andrea Leopardi
146449b624
Fix option validation in "with"
...
Before this commit, we were not validating unexpected options passed to "with"
if the "else" option was not present, because we were only checking for unknown
options in the code that checked for "else". This commit fixes this by checking
for unknown option after having handled "do" and "else".
2017-02-19 22:46:25 +01:00
Aleksei Magusev
10b5e40db3
Get rid of do_ prefixing in elixir_clauses
2017-02-19 22:39:43 +01:00