2 votes

LLDB pour Swift : Résumé de type personnalisé pour le type générique

Avec LLDB, je peux ajouter des résumés personnalisés pour un type :

(lldb) type summary add -s "This is a Foo" Baz.Foo

Toutefois, je ne parviens pas à le faire pour un type générique comportant deux génériques ou plus.

Étant donné un module Baz avec le type Foo qui a deux génériques ou plus :

struct Foo<Bar: Numeric, Bar2: Numeric> {}

J'ai essayé ce qui suit, sans succès :

  • type summary add -s "This is a Foo" Baz.Foo
  • type summary add -s "This is a Foo" Baz.Foo<A, B>
  • type summary add -s "This is a Foo" Baz.Foo<Float, Float>
  • type summary add -s "This is a Foo" Baz.Foo<Bar, Bar2>
  • type summary add -s "This is a Foo" Baz.Foo<Float>

Dans tous les cas, la description standard était imprimée au lieu de la description personnalisée.

Ainsi, comment puis-je ajouter un résumé personnalisé pour un type générique avec deux génériques ou plus, idéalement sans avoir à spécifier des types concrets pour les éléments suivants Bar et Bar2 ?

5voto

Dave Lee Points 2324

Utilisez le --regex / -x pour faire correspondre les types génériques en Swift, ou les types de modèles en C++.

type summary add -s "This is a Foo" -x "^Baz\.Foo<.+,.+>$"

Vous pouvez voir de nombreux exemples en exécutant type summary list -l swift . Voici comment Dictionary est affiché :

^Swift\.Dictionary<.+,.+>$:  (show children) (hide value) (skip references) Swift.Dictionary summary provider

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X