package Halstead_Potential_Operand is

    --========================================================================
    -- Halstead n2*
    --========================================================================

    type Count is new Natural;

    --** changed 11/20/85 by J. Margono
    --** reason: to have more control over n2* for a package and
    --**         also to avoid massive recompilation when the
    --**         definition of n2* for a package changes
    function Count_Of_Package return Count;
    -- returns n2* of a PACKAGE_SPECIFICATION and PACKAGE_BODY

    function Count_Of_Subprogram
                (Formal_Parameters_Count : in Natural) return Count;
    -- returns n2* of a SUBPROGRAM, ENTRYLESS TASK, BLOCK, or
    -- TASK ENTRY. TASK ENTRIES are treated like SUBPROGRAMS.
    -- BLOCKS and ENTRYLESS TASKS are treated like PARAMETERLESS
    -- SUBPROGRAMS.

    function Count_Of_Generic
                (Formal_Parameters_Count : in Natural) return Count;
    -- returns n2* of GENERIC_SPECIFICATION or GENERIC_INSTANTIATION

end Halstead_Potential_Operand;