tree 453b84552d7077137c8a8794ba4e6b058c1e6b07
parent f3e4d98b10a97e1795f568933295b508e6d87466
author Aisha <87562264+aishasalim@users.noreply.github.com> 1784495348 -0500
committer Aisha <87562264+aishasalim@users.noreply.github.com> 1784521358 -0500

formatter: Keep space before # in unqualified typedef

A parameterized type in a typedef lost the space before '#':

  typedef dv_base_env_cov #(.CFG_T(tl_agent_env_cfg)) tl_agent_env_cov;

was formatted as:

  typedef dv_base_env_cov#(.CFG_T(tl_agent_env_cfg)) tl_agent_env_cov;

The "no space before #" rule in SpacesRequiredBetween() fires whenever the
'#' follows an identifier whose direct parent is kUnqualifiedId, unless the
context appears in an exemption list. A typedef was not exempted.

Package-qualified types are deliberately left alone, since the existing
tests require the "type#(params...)::method(...)" spelling:

  typedef foo_pkg::baz_t#(.L(L), .W(W)) bar_t;

The two cases are distinguished by kQualifiedId, which only wraps the
kUnqualifiedId in the qualified form.

The exemption is a separate IsInsideFirst() call rather than a fifth entry
in the existing list: MatchesTagAnyOf() unrolls at most four tags and
aborts at runtime beyond that.

Adds formatter tests covering a typedef that already has the space, one
that does not, and a short single-parameter case that stays on one line.

Fixes #850
