================
@@ -2704,3 +2713,17 @@ Status FormatEntity::Parse(const llvm::StringRef 
&format_str, Entry &entry) {
   llvm::StringRef modifiable_format(format_str);
   return ParseInternal(modifiable_format, entry, 0);
 }
+
+bool FormatEntity::Formatter::IsInvalidRecursiveFormat(Entry::Type type) {
+  // It is expected that Scope and Root format entities recursively call 
Format.
+  //
+  // Variable may also be formatted recursively in some special cases. The main
+  // use-case being array summary strings, in which case Format will call 
itself
+  // with the subrange ValueObject and apply a freshly created Variable entry.
+  // E.g., ${var[1-3]} will format the [1-3] range with ${var%S}.
+  if (llvm::is_contained(
+          {Entry::Type::Scope, Entry::Type::Root, Entry::Type::Variable}, 
type))
----------------
JDevlieghere wrote:

Nit: might be worth outlining this as a static constexpr for readability and to 
make it easier when we inevitably have to add another item to the list.

https://github.com/llvm/llvm-project/pull/174750
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to