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