Add is_array_like and to_array to language_defn
This adds new is_array_like and to_array methods to language_defn. This will be used in a subsequent patch that generalizes the new Python array- and string-handling code.
This commit is contained in:
parent
d948c67c5d
commit
26733fc747
@ -13830,6 +13830,19 @@ public:
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
bool is_array_like (struct type *type) const override
|
||||
{
|
||||
return (ada_is_constrained_packed_array_type (type)
|
||||
|| ada_is_array_descriptor_type (type));
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
struct value *to_array (struct value *val) const override
|
||||
{ return ada_coerce_to_simple_array (val); }
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
const char *struct_too_deep_ellipsis () const override
|
||||
{ return "(...)"; }
|
||||
|
||||
|
@ -568,6 +568,17 @@ struct language_defn
|
||||
/* Return true if TYPE is a string type. */
|
||||
virtual bool is_string_type_p (struct type *type) const;
|
||||
|
||||
/* Return true if TYPE is array-like. */
|
||||
virtual bool is_array_like (struct type *type) const
|
||||
{ return false; }
|
||||
|
||||
/* Underlying implementation of value_to_array. Return a value of
|
||||
array type that corresponds to VAL. The caller must ensure that
|
||||
is_array_like is true for VAL's type. Return nullptr if the type
|
||||
cannot be handled. */
|
||||
virtual struct value *to_array (struct value *val) const
|
||||
{ return nullptr; }
|
||||
|
||||
/* Return a string that is used by the 'set print max-depth' setting.
|
||||
When GDB replaces a struct or union (during value printing) that is
|
||||
"too deep" this string is displayed instead. The default value here
|
||||
|
@ -196,6 +196,16 @@ public:
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
bool is_array_like (struct type *type) const override
|
||||
{ return rust_slice_type_p (type); }
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
struct value *to_array (struct value *val) const override
|
||||
{ return rust_slice_to_array (val); }
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
bool range_checking_on_by_default () const override
|
||||
{ return true; }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user