Commit Graph
1409 Commits
Author SHA1 Message Date
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