José Valim
a33cbcd32a
Format errors_test.exs
2017-10-12 09:35:58 +02:00
Jake Becker
d2f1cccace
Add option :return_errors to ParallelCompiler ( #6446 )
2017-09-21 08:14:52 +02:00
José Valim
e938d8a1d4
Add literal annotation for aliases
2017-08-28 23:59:45 +02:00
José Valim
1addd60e12
Make terminator binaries
2017-08-27 12:39:40 +02:00
Andrea Leopardi
7b111ac593
Merge integer tokens into the "int" token ( #6499 )
2017-08-23 11:55:12 +02:00
Alex Jiao
ee389fff82
Add terminator info to sigil AST node metadata ( #6305 )
2017-07-08 01:05:37 +02:00
Jake Becker
a5efcb8d4d
Add --all-warnings option to Elixir compiler ( #6224 )
...
* Track Elixir build warnings in the manifest
* Add --all-warnings option to Elixir compiler
* Document "each_warning" option in ParallelCompiler
* Handle old manifest version :v6 when parsing manifest
* Track warnings during compile using a map in the Agent's state
2017-06-18 21:40:29 +01:00
Michał Muskała
e20d10e0d8
Clean-up use of get_stracktrace in elixir_errors.erl ( #6092 )
...
It's possible get_stacktrace won't work outside of catch clauses in the future.
Reference: https://github.com/erlang/otp/pull/1449
2017-05-11 09:44:43 +02: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
f667aed420
Remove duplication in format_errors
2017-02-10 20:55:53 +01:00
José Valim
6bb8f59b42
Improve compiler message on unexpected end of line, closes #5137
2016-11-20 11:01:30 +01:00
José Valim
3b08987dfd
Ensure we consistently wrap variables in quotes
2016-10-22 22:25:18 +02:00
Aleksei Magusev
054206b03b
Improve warning output ( #4631 )
2016-05-16 00:10:51 +02:00
José Valim
e018c773b0
Unify warning calls
2016-05-15 20:34:29 +02:00
eksperimental
685e87bdf0
Formmating: Add white space around vertical bar ( #4507 )
2016-04-25 00:55:49 +02:00
eksperimental
ba111fb9b3
Formatting: add white space after comma ( #4491 )
...
Standardizes the use of comma leaving a white space after it whenever applicable.
Note: It does not enforce this in quantifiers in regular expressions such as in: `x{1,3}`
2016-04-19 01:23:50 +02:00
Andrea Leopardi
a00fe5a017
Handle chars literals in the parser for better syntax errors
...
Before this commit, we handled char literals (like `?a`) in the
tokenizer, turning a literal like `?a` into the token `{:number, _,
97}` (thus indistinguishable from the literal `97` at the parsing
stage). This led to error messages with the integer for the character
instead of the character literal, e.g.:
iex> :ok ?a
** (SyntaxError) iex:11: syntax error before: 97
With this commit, we now turn `?a` into the token `{:char, _,
97}` (which is the same token used by Erlang for Erlang char literals
like `$a`); since it's the same token as in Erlang, the parser will now
output the char literal as an Erlang char (`?a` would be printed as
`$a`). We hijack the error message in elixir_errors.erl to end up with
the correct message:
iex> :ok ?a
** (SyntaxError) iex:11: syntax error before: ?a
2016-04-04 21:29:15 +02:00
José Valim
c027854cd3
Format beam validator errors properly, closes #4263
2016-02-06 17:23:18 +01:00
Aleksei Magusev
8abe7ee049
Cover bittype_mismatch error missing in :erl_lint.format_error/1
...
For example, `<<0::little-big>>` expression.
2015-12-05 12:53:18 +01:00
José Valim
e46c4bafa8
Unify undefined function messages
2015-11-24 22:07:16 +01:00
José Valim
913ca994f3
Add generated annotations
2015-10-11 12:02:47 -05:00
José Valim
a63c7bd28e
Handle warns coming from erlang with line set to :none
2015-08-21 16:31:49 +02:00
José Valim
2e322c15c9
Refactor extraction of meta location
2015-05-16 10:41:39 +02:00
Or Neeman
b43fbb36a7
Bugfix to syntax error before sigil
...
Closes #3324
2015-05-12 14:35:05 -06:00
José Valim
c3abf558e8
Embed consolidation information as a function in the protocol
2015-04-30 23:02:45 +02:00
eksperimental
f9bcdd5c1c
Add space after comma: Format consistently
2015-03-17 22:55:27 +07:00
Or Neeman
af1cc5978c
Refactor compiler errors (elixir_errors:parse_error/4)
2015-03-05 19:45:15 -06:00
Or Neeman
3e172cd212
Produce clearer messages for syntax errors before a sigil
...
Closes #3130
2015-03-05 06:25:59 -06:00
José Valim
c67e3fbc9d
Ignore exported vars warning
...
Closes #2798
2015-01-28 21:49:55 +01:00
Xavier Defrang
4b4ef723ff
Invert the order of non matching token messages ( closes #2993 )
2015-01-10 09:40:44 +01:00
Alexander Ivanov
1a456768d5
Change location info format in tokenizer
...
Start column counting in tokenizer from 1, store location info in a tuple `{Line, BeginColumn, EndColumn}` instead of a list
2015-01-05 13:35:23 +02:00
Alexander Ivanov
d7e00557d0
Add column info in tokenizer, #2987
...
Add column info for each token in elixir_tokenizer.
Change the format of location info from `Line` to `[Line, BeginColumn,
EndColumn]`. Pass the current column after the current line in
`elixir_tokenizer:tokenize`. Reflect the change in related modules.
2015-01-05 03:34:53 +02:00
José Valim
408b9c2132
Improve token errors for aliases, closes #2818
2014-10-21 11:41:36 -02:00
José Valim
28b1d9a50d
Properly handle eval_failure warnings, closes #2835
2014-10-21 11:08:21 -02:00
James Fish
27ec4a9770
Fix elixir dialyzer warnings
2014-09-03 19:29:01 +01:00
José Valim
51f57e5db0
Avoid unecessary wrap inside do keyword
2014-07-19 18:13:38 +02:00
José Valim
495c05d83f
Make elixir_errors API more strict and consider :file in meta
2014-07-08 18:54:40 +02:00
José Valim
4c89a16fb1
Return explicit :ok from more functions
2014-07-05 13:43:52 +02:00
José Valim
9a5df6193a
Fix the guard for this clause evaluates to false warning
...
Since the guard can be hidden inside if/unless, it is better
to have a more generic error, stating we will always get the
same result from an check/guard.
2014-07-03 00:58:02 +02:00
José Valim
55e885f5c5
Ensure we don't leak erlang terms on failure, closes #2303
2014-05-21 12:44:12 +02:00
José Valim
be34a75124
Disabling :hygiene in quote is deprecated
2014-05-19 18:25:56 +02:00
José Valim
ca6788113e
Deprecations should go to standard_error
2014-05-16 22:39:56 +02:00
José Valim
c22e8e85dc
Convert exceptions to structs
2014-05-16 00:01:49 +02:00
James Fish
be0564b536
Fix some dialyzer warnings
2014-04-30 00:44:40 +01:00
José Valim
0814d0b442
Properly format binary tokens on errors, closes #2144
2014-04-29 15:05:24 +02:00
James Fish
5cadeeea67
Fix some dialyzer warnings
2014-04-28 21:33:03 +01: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
c37a244d66
Add Code.eval_file/2
2014-03-27 12:31:00 +01:00
José Valim
3d6dd50866
Remove native checks and improve typespecs
2014-03-08 12:46:16 -08:00