From 5f461d437845f2e1c12f3dd8456c792f62a19112 Mon Sep 17 00:00:00 2001 From: Jeremiah Leary Date: Wed, 22 Jan 2025 06:43:20 -0600 Subject: [PATCH] Issue#1399: external names would end processing of the name production. --- .../classification_results.txt | 70 ++++++++++--------- .../classification_test_input.vhd | 6 +- vsg/vhdlFile/classify/name.py | 5 +- 3 files changed, 41 insertions(+), 40 deletions(-) diff --git a/tests/vhdlFile/alias_declaration/classification_results.txt b/tests/vhdlFile/alias_declaration/classification_results.txt index 22a6aa56d..c16489bb1 100644 --- a/tests/vhdlFile/alias_declaration/classification_results.txt +++ b/tests/vhdlFile/alias_declaration/classification_results.txt @@ -14,19 +14,7 @@ 3 | -------------------------------------------------------------------------------- -4 | - --------------------------------------------------------------------------------- -5 | - --------------------------------------------------------------------------------- -6 | - --------------------------------------------------------------------------------- -7 | - --------------------------------------------------------------------------------- -8 | alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2 return integer]; +4 | alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2 return integer]; @@ -47,10 +35,10 @@ -------------------------------------------------------------------------------- -9 | +5 | -------------------------------------------------------------------------------- -10 | alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2]; +6 | alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2]; @@ -69,10 +57,10 @@ -------------------------------------------------------------------------------- -11 | +7 | -------------------------------------------------------------------------------- -12 | alias ident : std_logic_vector(3 downto 0) is write_enable [return integer]; +8 | alias ident : std_logic_vector(3 downto 0) is write_enable [return integer]; @@ -90,10 +78,10 @@ -------------------------------------------------------------------------------- -13 | +9 | -------------------------------------------------------------------------------- -14 | alias ident : std_logic_vector(3 downto 0) is write_enable(15 downto 0); +10 | alias ident : std_logic_vector(3 downto 0) is write_enable(15 downto 0); @@ -112,13 +100,13 @@ -------------------------------------------------------------------------------- -15 | +11 | -------------------------------------------------------------------------------- -16 | +12 | -------------------------------------------------------------------------------- -17 | alias ident is write_enable [name1, name2 return integer]; +13 | alias ident is write_enable [name1, name2 return integer]; @@ -132,10 +120,10 @@ -------------------------------------------------------------------------------- -18 | +14 | -------------------------------------------------------------------------------- -19 | alias ident is write_enable [name1, name2]; +15 | alias ident is write_enable [name1, name2]; @@ -147,10 +135,10 @@ -------------------------------------------------------------------------------- -20 | +16 | -------------------------------------------------------------------------------- -21 | alias ident is write_enable [return integer]; +17 | alias ident is write_enable [return integer]; @@ -161,26 +149,44 @@ -------------------------------------------------------------------------------- -22 | +18 | -------------------------------------------------------------------------------- -23 | alias ident is write_enable; +19 | alias ident is write_enable; -------------------------------------------------------------------------------- -24 | +20 | + +-------------------------------------------------------------------------------- +21 | alias alias_sop : std_logic is << signal .tb_top.submodule.i_rx_data : t_mac_interface >> .sop; + + + + + + + + + + + + + +-------------------------------------------------------------------------------- +22 | -------------------------------------------------------------------------------- -25 | begin +23 | begin -------------------------------------------------------------------------------- -26 | +24 | -------------------------------------------------------------------------------- -27 | end architecture RTL; +25 | end architecture RTL; diff --git a/tests/vhdlFile/alias_declaration/classification_test_input.vhd b/tests/vhdlFile/alias_declaration/classification_test_input.vhd index 5025b8fd8..3f10bce69 100644 --- a/tests/vhdlFile/alias_declaration/classification_test_input.vhd +++ b/tests/vhdlFile/alias_declaration/classification_test_input.vhd @@ -1,10 +1,6 @@ architecture RTL of FIFO is - - - - alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2 return integer]; alias ident : std_logic_vector(3 downto 0) is write_enable [name1, name2]; @@ -22,6 +18,8 @@ architecture RTL of FIFO is alias ident is write_enable; + alias alias_sop : std_logic is << signal .tb_top.submodule.i_rx_data : t_mac_interface >> .sop; + begin end architecture RTL; diff --git a/vsg/vhdlFile/classify/name.py b/vsg/vhdlFile/classify/name.py index 0eb176cb7..dbc918cca 100644 --- a/vsg/vhdlFile/classify/name.py +++ b/vsg/vhdlFile/classify/name.py @@ -21,11 +21,8 @@ def classify_until(lUntils, iToken, lObjects, oType=parser.todo): NOTE: At the moment, everything will be set to parser.todo. """ - iReturn = external_name.detect(iToken, lObjects) - if iReturn != iToken: - return iReturn + iCurrent = external_name.detect(iToken, lObjects) - iCurrent = iToken iStop = len(lObjects) - 1 iOpenParenthesis = 0 iCloseParenthesis = 0