-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Description
Dear LibAdaLang developers,
Libadalang is nicely documented.
For example, the function F_Suffix is documented in libadalang-analysis.adsas follows
function F_Suffix
(Node : Call_Expr'Class) return Ada_Node;
-- This field can contain one of the following nodes:
-- :ada:ref:`Attribute_Ref`, :ada:ref:`Basic_Assoc_List`,
-- :ada:ref:`Bin_Op`, :ada:ref:`Call_Expr`, :ada:ref:`Char_Literal`,
-- :ada:ref:`Discrete_Subtype_Indication`, :ada:ref:`Dotted_Name`,
-- :ada:ref:`Explicit_Deref`, :ada:ref:`Identifier`, :ada:ref:`Qual_Expr`,
-- :ada:ref:`Reduce_Attribute_Ref`, :ada:ref:`String_Literal`,
-- :ada:ref:`Target_Name`, :ada:ref:`Update_Attribute_Ref`
--% belongs-to: Call_ExprYet, I think there is room for improvement.
Suppose, I want to call Kind on the result of X.F_Suffix.
Kind requires that for its argument Y holds that Y.Is_Null returns false.
However, the documentation of F_Suffix states nothing about whether the node returned by F_Suffix can be null.
So, it is unclear whether a check like not X.F_Suffix.Is_Null is
- necessary before calling
Kindor - just hampering performance and wasting energy?
Can the documentation be extended with information about an Ada_Node being a nullnode?
Greetings,
Pierre
Metadata
Metadata
Assignees
Labels
No labels