José Valim
e07f0117bd
Improve error message when escaping default values with custom rules in structs, closes #14817
2025-10-07 14:26:02 +02:00
Jonatan Männchen
e1d171e5c7
Add inline License / Copyright to Erlang files ( #14255 )
2025-02-05 13:50:00 +01:00
José Valim
cb2e03688e
Perform return type inference and application across local calls ( #13984 )
2024-11-11 23:06:31 +01:00
Jonatan Kłosko
1c19c60abb
Add source and behaviour information to docs chunk metadata ( #13914 )
2024-10-30 09:18:00 +01:00
José Valim
ee4e0be947
Reduce AST metadata compiled in definitions
2023-02-09 12:20:01 +01:00
José Valim
79bebf971f
Use new Code.loaded?/1
2023-01-06 23:13:56 +01:00
José Valim
749349205d
Do not include module variables in prune_binding
2022-11-08 11:34:55 +01:00
José Valim
5eb2efe543
Break Macro.Env apart ( #11164 )
...
Previously, the internal Elixir expansion pass worked directly on
Macro.Env. However, this poised an issue, if we want to track
more information in the pass, we ended up exposing it on
Macro.Env, making it larger, and potentially slowing down
operations such as __ENV__ serialization.
This commit refactors the expansion pass to work with two
structures, the Macro.Env struct and a #elixir_ex{} record.
2021-08-03 13:35:15 +02:00
José Valim
2dc1a79252
Revert "Use an empty keyword list instead of nil for empty definitions"
...
Closes #9910
This reverts commit db4cb93ae3 .
2020-03-24 20:21:01 +01:00
José Valim
db4cb93ae3
Use an empty keyword list instead of nil for empty definitions
2019-08-14 14:51:49 +02:00
Michał Muskała
6ebeabf0b0
Separate testing for unquotes from escaping
2018-07-25 00:10:02 +02:00
José Valim
94c3149ca9
Allow to prune metadata while escaping ( #7949 )
...
We use this option in ExUnit as we are escaping
the code to eventually convert it to a string
representation and therefore the metadata is not
relevant.
2018-07-21 12:56:07 +02:00
Ivan Kozik
53acbc7ac2
Fix more typos and spelling errors ( #6530 )
2017-09-01 10:20:53 +02:00
José Valim
33936bfb1d
Use a cached environment to minimize tree when using specs
2017-05-08 23:21:28 +02:00
Andrea Leopardi
9d6ac4d2af
Add final newlines to a bunch of files
...
A bunch of files didn't end with a final newline (according to the POSIX
standard -
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 ).
2016-03-29 23:02:22 +02:00
eksperimental
f9bcdd5c1c
Add space after comma: Format consistently
2015-03-17 22:55:27 +07:00
José Valim
5341bfc150
Fix bootstrap issues
2014-12-23 22:26:04 +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
2a6940014a
Move environment cache to locals tracker, which is per module
2014-01-02 20:44:32 +01:00
José + Eric
2a1941112e
Cache the environment for function definition
...
This speeds up compilation and reduces memory consumption. For
example, Ecto test suite consumes consistently 30% less memory
and loads 20% faster.
2014-01-02 18:10:59 +01:00
José Valim
d7179b404b
Port module_nesting handler to Elixir
2013-11-24 13:42:01 +01:00
José Valim
be71239b7c
Move more code to Elixir land, simplify serialization
2013-11-24 13:28:50 +01:00
José Valim
a8bdd19a03
Implement defmodule in Elixir
2013-11-24 11:53:41 +01:00
José Valim
abec6af3ac
Move function/macro definitions to Kernel
2013-11-23 10:17:57 +01:00
José Valim
260be7c8ea
Start porting elixir_macros to pure elixir
2013-11-22 12:55:51 +01:00