10. List of RulesΒΆ
This section contains an alphabetized list of all the predefined GNATcheck rules.
- Abstract_Type_Declarations
- Anonymous_Arrays
- Anonymous_Subtypes
- Binary_Case_Statements
- Blocks
- Boolean_Relational_Operators
- Complex_Inlined_Subprograms
- Conditional_Expressions
- Controlled_Type_Declarations
- Declarations_In_Blocks
- Deep_Inheritance_Hierarchies
- Deeply_Nested_Generics
- Deeply_Nested_Inlining
- Default_Parameters
- Default_Values_For_Record_Components
- Deriving_From_Predefined_Type
- Direct_Calls_To_Primitives
- Discriminated_Records
- Enumeration_Ranges_In_CASE_Statements
- Enumeration_Representation_Clauses
- Exceptions_As_Control_Flow
- Exits_From_Conditional_Loops
- EXIT_Statements_With_No_Loop_Name
- Expanded_Loop_Exit_Names
- Explicit_Full_Discrete_Ranges
- Fixed_Equality_Checks
- Float_Equality_Checks
- Forbidden_Attributes
- Forbidden_Pragmas
- Function_Style_Procedures
- Generics_In_Subprograms
- GOTO_Statements
- Implicit_IN_Mode_Parameters
- Implicit_SMALL_For_Fixed_Point_Types
- Improperly_Located_Instantiations
- Improper_Returns
- Maximum_Parameters
- Library_Level_Subprograms
- Local_Packages
- Metrics_Cyclomatic_Complexity
- Metrics_Essential_Complexity
- Metrics_LSLOC
- Misnamed_Controlling_Parameters
- Identifier_Suffixes
- Membership_Tests
- Multiple_Entries_In_Protected_Definitions
- Name_Clashes
- Nested_Subprograms
- Non_Qualified_Aggregates
- Non_Short_Circuit_Operators
- Non_SPARK_Attributes
- Non_Tagged_Derived_Types
- Non_Visible_Exceptions
- Null_Paths
- Numeric_Literals
- Objects_Of_Anonymous_Types
- OTHERS_In_Aggregates
- OTHERS_In_CASE_Statements
- OTHERS_In_Exception_Handlers
- Outer_Loop_Exits
- Overloaded_Operators
- Overly_Nested_Control_Structures
- Parameters_Out_Of_Order
- POS_On_Enumeration_Types
- Positional_Actuals_For_Defaulted_Generic_Parameters
- Positional_Actuals_For_Defaulted_Parameters
- Positional_Components
- Positional_Generic_Parameters
- Positional_Parameters
- Predicate_Testing
- Predefined_Numeric_Types
- Quantified_Expressions
- Raising_External_Exceptions
- Raising_Predefined_Exceptions
- Separate_Numeric_Error_Handlers
- Slices
- Too_Many_Parents
- Unassigned_OUT_Parameters
- Uncommented_BEGIN_In_Package_Bodies
- Recursive_Subprograms
- Unchecked_Address_Conversions
- Unchecked_Conversions_As_Actuals
- Unconditional_Exits
- Unconstrained_Array_Returns
- Uninitialized_Global_Variables
- Universal_Ranges
- Unnamed_Blocks_And_Loops
- USE_PACKAGE_Clauses
- Visible_Components
- Volatile_Objects_Without_Address_Clauses