22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
|
|
# REFAC-TRANSFO-T2 : étendre LPTestStringCompat à ParseIntoArray (préalable à toute décision sur LPStringCompat)
|
||
|
|
|
||
|
|
Niveau de preuve : établi pour l'état actuel (OBA-T23 § 3.4, § 5 P4) ; estimé pour le comportement natif de la chaîne vide.
|
||
|
|
|
||
|
|
## Avant
|
||
|
|
|
||
|
|
- `ULPStringCompat::ParseIntoArray` (`Source/LifePlay/LPStringCompat.h:39`, `.cpp:5-27`) reproduit le découpage UE4 : chaîne vide donne `[]` ; séparateur sensible à la casse.
|
||
|
|
- Natif 5.8 : `FString::ParseIntoArray` passe par `UE::String::ParseTokens` avec `IgnoreCase` forcé (`String.cpp.inl:1356-1370`, cité par OBA-T23) ; la chaîne vide donnerait `[""]` (estimé).
|
||
|
|
- Appelants C++ : `LPDataCompat.cpp:71, 87` ; 4 appels au total. Appelants Blueprint : 114 nœuds, 17 Blueprints (historique, non recompté).
|
||
|
|
- Banc : `LPTestStringCompat` couvre 3120 cas Find/Contains seulement ; `ParseIntoArray` n'y figure pas.
|
||
|
|
|
||
|
|
## Après
|
||
|
|
|
||
|
|
Ajouter au banc : chaîne vide, casse du séparateur, `CullEmptyStrings` vrai et faux, séparateurs multiples. Sortie attendue : tableau des écarts natif contre correctif, comme pour Find/Contains (60 écarts sur 3120 mesurés par OBA).
|
||
|
|
|
||
|
|
## Risque, preuve, ordre
|
||
|
|
|
||
|
|
- Risque : aucun sur le jeu (le banc est une commandlet d'éditeur). Effet à connaître : un passage au natif change le découpage de données (ERR-027, ERR-005).
|
||
|
|
- Preuve exigée : sortie du banc en 5.8 avec le nombre d'écarts pour `ParseIntoArray`.
|
||
|
|
- Ordre : en premier ; condition de toute décision U9 sur `LPStringCompat`.
|
||
|
|
- Appelants Blueprint : à recompter par MCP (lot ultérieur, BUILD-GO).
|