Skip to content

Commit

Permalink
Issue 1402 (#1406)
Browse files Browse the repository at this point in the history
* Issue#1402: Adding rule interface_incomplete_type_declaration_500

* Adding rule interface_incomplete_type_declaration_501.

* Adding rule interface_incomplete_type_declaration_600.

* Adding rule interface_incomplete_type_declaration_601.

* Fixing style issues.
  • Loading branch information
jeremiah-c-leary authored Mar 6, 2025
1 parent d6422f7 commit 54405d9
Show file tree
Hide file tree
Showing 35 changed files with 1,009 additions and 62 deletions.
4 changes: 4 additions & 0 deletions docs/configuring_disabled_rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ Rules Disabled by Default
* `generic_map_601 <generic_map_rules.html#generic-map-601>`_
* `instantiation_600 <instantiation_rules.html#instantiation-600>`_
* `instantiation_601 <instantiation_rules.html#instantiation-601>`_

* `interface_incomplete_type_declaration_600 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-600>`_
* `interface_incomplete_type_declaration_601 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-601>`_

* `loop_statement_006 <loop_statement_rules.html#loop-statement-006>`_
* `loop_statement_007 <loop_statement_rules.html#loop-statement-007>`_
* `loop_statement_600 <loop_statement_rules.html#loop-statement-600>`_
Expand Down
80 changes: 41 additions & 39 deletions docs/configuring_prefix_and_suffix_rules.rst

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions docs/configuring_uppercase_and_lowercase_rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,9 @@ Rules Enforcing Case
* `instantiation_031 <instantiation_rules.html#instantiation-031>`_
* `instantiation_500 <instantiation_rules.html#instantiation-500>`_

* `interface_incomplete_type_declaration_500 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-500>`_
* `interface_incomplete_type_declaration_501 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-501>`_

* `iteration_scheme_500 <iteration_scheme_rules.html#iteration-scheme-500>`_
* `iteration_scheme_501 <iteration_scheme_rules.html#iteration-scheme-501>`_

Expand Down
100 changes: 100 additions & 0 deletions docs/interface_incomplete_type_declaration_rules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
.. include:: includes.rst

Interface Incomplete Type Declaration Rules
-------------------------------------------

interface_incomplete_type_declaration_500
#########################################

|phase_6| |error| |case| |case_keyword|

This rule checks the **type** keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

**Violation**

.. code-block:: vhdl
generic (
TYPE generic_data_type
**Fix**

.. code-block:: vhdl
generic (
type generic_data_type
interface_incomplete_type_declaration_501
#########################################

|phase_6| |error| |case| |case_name|

This rule checks the type name has proper case.

|configuring_uppercase_and_lowercase_rules_link|

**Violation**

.. code-block:: vhdl
generic (
type GENERIC_DATA_TYPE
**Fix**

.. code-block:: vhdl
generic (
type generic_data_type
interface_incomplete_type_declaration_600
#########################################

|phase_7| |disabled| |error| |unfixable| |naming|

This rule checks for valid prefixes of type names.

.. NOTE:: The default prefix is *gt_*.

|configuring_prefix_and_suffix_rules_link|

**Violation**

.. code-block:: vhdl
generic (
type generic_data_type
**Fix**

.. code-block:: vhdl
generic (
type gt_generic_data_type
interface_incomplete_type_declaration_601
#########################################

|phase_7| |disabled| |error| |unfixable| |naming|

This rule checks for valid suffixes of type names.

.. NOTE:: The default prefix is *_gt*.

|configuring_prefix_and_suffix_rules_link|

**Violation**

.. code-block:: vhdl
generic (
type generic_data_type
**Fix**

.. code-block:: vhdl
generic (
type generic_data_type_gt
1 change: 1 addition & 0 deletions docs/rule_groups/case_keyword_rule_group.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ Rules Enforcing Case::Keyword Rule Group
* `index_subtype_definition_500 <../index_subtype_definition_rules.html#index-subtype-definition-500>`_
* `instantiation_027 <../instantiation_rules.html#instantiation-027>`_
* `instantiation_031 <../instantiation_rules.html#instantiation-031>`_
* `interface_incomplete_type_declaration_500 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-500>`_
* `iteration_scheme_500 <../iteration_scheme_rules.html#iteration-scheme-500>`_
* `iteration_scheme_501 <../iteration_scheme_rules.html#iteration-scheme-501>`_
* `library_004 <../library_rules.html#library-004>`_
Expand Down
3 changes: 3 additions & 0 deletions docs/rule_groups/case_name_rule_group.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ Rules Enforcing Case::Name Rule Group
* `instantiation_009 <../instantiation_rules.html#instantiation-009>`_
* `instantiation_028 <../instantiation_rules.html#instantiation-028>`_
* `instantiation_500 <../instantiation_rules.html#instantiation-500>`_

* `interface_incomplete_type_declaration_501 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-501>`_

* `library_500 <../library_rules.html#library-500>`_
* `package_008 <../package_rules.html#package-008>`_
* `package_010 <../package_rules.html#package-010>`_
Expand Down
4 changes: 4 additions & 0 deletions docs/rule_groups/case_rule_group.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ Rules Enforcing Case Rule Group
* `instantiation_028 <../instantiation_rules.html#instantiation-028>`_
* `instantiation_031 <../instantiation_rules.html#instantiation-031>`_
* `instantiation_500 <../instantiation_rules.html#instantiation-500>`_

* `interface_incomplete_type_declaration_500 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-500>`_
* `interface_incomplete_type_declaration_501 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-501>`_

* `iteration_scheme_500 <../iteration_scheme_rules.html#iteration-scheme-500>`_
* `iteration_scheme_501 <../iteration_scheme_rules.html#iteration-scheme-501>`_
* `library_004 <../library_rules.html#library-004>`_
Expand Down
4 changes: 4 additions & 0 deletions docs/rule_groups/naming_rule_group.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ Rules Enforcing Naming Rule Group
* `generic_map_601 <../generic_map_rules.html#generic-map-601>`_
* `instantiation_600 <../instantiation_rules.html#instantiation-600>`_
* `instantiation_601 <../instantiation_rules.html#instantiation-601>`_

* `interface_incomplete_type_declaration_600 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-600>`_
* `interface_incomplete_type_declaration_601 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-601>`_

* `loop_statement_600 <../loop_statement_rules.html#loop-statement-600>`_
* `loop_statement_601 <../loop_statement_rules.html#loop-statement-601>`_
* `loop_statement_602 <../loop_statement_rules.html#loop-statement-602>`_
Expand Down
1 change: 1 addition & 0 deletions docs/rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ The rules are divided into categories depending on the part of the VHDL code bei
if_generate_statement_rules.rst
index_subtype_definition_rules.rst
instantiation_rules.rst
interface_incomplete_type_declaration_rules.rst
iteration_scheme_rules.rst
length_rules.rst
library_rules.rst
Expand Down
4 changes: 4 additions & 0 deletions docs/unfixable_rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ With multiple options available, the user is required to make the decision.
* `generic_map_601 <generic_map_rules.html#generic-map-601>`_
* `instantiation_600 <instantiation_rules.html#instantiation-600>`_
* `instantiation_601 <instantiation_rules.html#instantiation-601>`_

* `interface_incomplete_type_declaration_600 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-600>`_
* `interface_incomplete_type_declaration_601 <../interface_incomplete_type_declaration_rules.html#interface-incomplete-type-declaration-601>`_

* `loop_statement_600 <loop_statement_rules.html#loop-statement-600>`_
* `loop_statement_601 <loop_statement_rules.html#loop-statement-601>`_
* `loop_statement_602 <loop_statement_rules.html#loop-statement-602>`_
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

entity fifo is
generic (
type generic_data_type;
type generic_data_type;
type generic_data_type
);
port (
data_in : generic_data_type
);
end entity fifo;

architecture rtl of fifo is

component buffer is
generic (
type generic_data_type;
type generic_data_type;
type generic_data_type
);
port (
data_in : generic_data_type
);
end component buffer;

begin

buf1 : buffer
generic map (
generic_data_type => std_logic
)
port map (
data_in => '0'
);

end architecture rtl;
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

entity fifo is
generic (
TYPE generic_data_type;
TYPE generic_data_type;
TYPE generic_data_type
);
port (
data_in : generic_data_type
);
end entity fifo;

architecture rtl of fifo is

component buffer is
generic (
TYPE generic_data_type;
TYPE generic_data_type;
TYPE generic_data_type
);
port (
data_in : generic_data_type
);
end component buffer;

begin

buf1 : buffer
generic map (
generic_data_type => std_logic
)
port map (
data_in => '0'
);

end architecture rtl;
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

entity fifo is
generic (
type generic_data_type;
TyPe generic_data_type;
TYPE generic_data_type
);
port (
data_in : generic_data_type
);
end entity fifo;

architecture rtl of fifo is

component buffer is
generic (
type generic_data_type;
TyPe generic_data_type;
TYPE generic_data_type
);
port (
data_in : generic_data_type
);
end component buffer;

begin

buf1 : buffer
generic map (
generic_data_type => std_logic
)
port map (
data_in => '0'
);

end architecture rtl;
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

entity fifo is
generic (
type generic_data_type;
type generic_data_type;
type generic_data_type
);
port (
data_in : generic_data_type
);
end entity fifo;

architecture rtl of fifo is

component buffer is
generic (
type generic_data_type;
type generic_data_type;
type generic_data_type
);
port (
data_in : generic_data_type
);
end component buffer;

begin

buf1 : buffer
generic map (
generic_data_type => std_logic
)
port map (
data_in => '0'
);

end architecture rtl;
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

entity fifo is
generic (
type GENERIC_DATA_TYPE;
type GENERIC_DATA_TYPE;
type GENERIC_DATA_TYPE
);
port (
data_in : generic_data_type
);
end entity fifo;

architecture rtl of fifo is

component buffer is
generic (
type GENERIC_DATA_TYPE;
type GENERIC_DATA_TYPE;
type GENERIC_DATA_TYPE
);
port (
data_in : generic_data_type
);
end component buffer;

begin

buf1 : buffer
generic map (
generic_data_type => std_logic
)
port map (
data_in => '0'
);

end architecture rtl;
Loading

0 comments on commit 54405d9

Please sign in to comment.