diff --git a/lib/elixir/lib/macro.ex b/lib/elixir/lib/macro.ex index 117cc4bee9a..734c6dad60b 100644 --- a/lib/elixir/lib/macro.ex +++ b/lib/elixir/lib/macro.ex @@ -146,8 +146,6 @@ defmodule Macro do * `:delimiter` - contains the opening delimiter for sigils, strings, and charlists as a string (such as `"{"`, `"/"`, `"'"`, and the like) - * `:format` - set to `:keyword` when an atom is defined as a keyword - * `:do` - contains metadata about the `do` location in a function call with `do`-`end` blocks (when `:token_metadata` is true) @@ -159,10 +157,18 @@ defmodule Macro do expressions inside "blocks of code", which are either direct children of a `__block__` or the right side of `->`. The last expression of the block does not have metadata if it is not followed by an end of line - character (either a newline or `;`) + character (either a newline or `;`). This entry may appear multiple times + in the same metadata if the expression is surround by parens + + * `:format` - set to `:keyword` when an atom is defined as a keyword. + It may also be set to `:atom` to distinguish `nil`, `false`, and `true` * `:indentation` - indentation of a sigil heredoc + * `:parens` - denotes a node was surrounded by parens for grouping. + This entry may appear multiple times in the same metadata if + multiple pairs are used for grouping + The following metadata keys are private: * `:alias` - Used for alias hygiene.