2011-11-08 4 views
1

Je me bats contre le message Object #subclass: instanceVariableNames: classVariableNames: poolDictionaries: category, afin de manipuler les sous-classes d'une classe spécifique. Je RareClass avec une méthode de classe #subclass: coposes ... etc et que vous voulez faire:Pharo: #subclass: instanceVariables ... message personnalisé

RareClass 
subclass: #RareSubclass 
composes: #SomeMagic 
instanceVariableNames: '' 
classVariableNames: '' 

dans le navigateur. si cette méthode devrait renvoyer une classe, (et je pense que oui) cela ne fonctionne pas du tout, j'obtiens des erreurs d'analyse quand j'essaye de 'sauver' ...

Répondre

1

Je suppose que vous utilisez OmniBrowser avec le refactoring Moteur chargé? Le moteur de refactoring applique les modèles de classe standard pour permettre l'annulation de toute action effectuée dans le navigateur. Évidemment, cela ne peut pas fonctionner avec les définitions de classes personnalisées.

Pour contourner ce problème, vous pouvez faire une des opérations suivantes:

  • Utilisez le navigateur traditionnel qui n'a pas de fonctionnalité undo (évaluer Browser open),
  • Débarrassez-vous de la fonctionnalité de refactoring dans OmniBrowser en déchargeant le paquet "OB-Reactory", ou
  • Mettez à jour le code dans RBAddClassChange pour prendre en charge votre cas d'utilisation.