# Declarative macro with parameters and visibility

pub macro identity($value:expr) { $value }

==>

SourceFile(
  DeclarativeMacroItem(
    Vis(pub),
    macro,
    BoundIdentifier,
    ParenthesizedTokens(TokenBinding(Metavariable, Identifier)),
    BracedTokens(Metavariable)))

# Declarative macro without parameters

macro empty {}

==>

SourceFile(
  DeclarativeMacroItem(
    macro,
    BoundIdentifier,
    BracedTokens))
