Digamos que quiero ver cómo se implementa "copiar" en la clase de diccionario. Actualmente utilizo el navegador del sistema y recorro manualmente la jerarquía de herencia (de abajo hacia arriba) hasta que encuentro la clase que implementa el mensaje dado. ¿Hay una sola línea para el área de trabajo, que abriría el navegador del sistema en el lugar correcto?Pharo/Squeak - ¿Cómo exploro rápidamente la implementación de un método determinado en una clase determinada?
Respuesta
(SomeClass whichClassIncludesSelector: #initialize) browse
Eso explorará la clase que implementa el mensaje #initialize.
(SomeClass >> # someSelector) navegar
funciona tan bien mi imagen en Pharo.
funciona también en mi imagen de Pharo. Y ya que usted quiere encontrar una clase en primer lugar, que se puede combinar con el ejemplo anterior ..
((SomeSubclass whichClassIncludesSelector: #someSelector) >> # someSelector) Explorar
para ir directamente al método dado.
Personalmente, simplemente escribo el #selector en un espacio de trabajo, lo realizo resaltar y pulso alt + m para extraer todos los implementadores del mensaje. Mucho más rápido que escribir todo ese código.
Si está utilizando OmniBrowser, puede utilizar el menú contextual implementadores en la jerarquía ... sólo navegar por los ejecutores de un selector en la jerarquía de la Dictionary
.
OmniBrowser también proporciona un Herencia del explorador. Seleccione cualquier implementación de #copy
y haga clic en el botón Inheritance
en la barra de herramientas. Le mostrará una vista jerárquica de todos los implementadores de #copy
.
- 1. ¿Cómo se puede encontrar rápidamente la implementación (es) del método de una interfaz?
- 2. Cómo determinar rápidamente si un método se reemplaza en Java
- 3. Cómo agregar un método parcial sin una implementación usando CodeDom
- 4. Cambiar un estilo de enlace, sólo para una determinada clase
- 5. ¿Qué hace Class.getName() para una clase determinada?
- 6. Cree rápidamente una clase desde una interfaz en eclipse
- 7. ¿Cómo obtener la clase Array para una clase determinada en Java?
- 8. ¿Cómo se ejecuta un método en una clase desde la línea de comandos
- 9. Descubre las subclases de una clase determinada en Obj-C
- 10. Buscar la implementación original de un método virtual
- 11. anula un método para una instancia de una clase?
- 12. Implementación de NSFastEnumeration en la clase personalizada
- 13. ¿Cómo convierto una cadena en un método de clase?
- 14. ProgressDialog Determinado en Android
- 15. ¿Cómo obtener la lista de clases derivadas de una clase determinada, con RTTI mejorado?
- 16. ¿Puede un método en una clase interna acceder a un método de clase padre?
- 17. Sobrescribe la implementación del método declarada en una interfaz
- 18. ¿Cómo reemplazar dinámicamente una implementación de método en ObjC2?
- 19. Método vacío en una clase abstracta
- 20. Usando un método de una clase abstracta
- 21. ¿Cómo puede una clase anidada acceder a un método en la clase externa en Ruby?
- 22. Llamar a un método de clase dentro de una clase
- 23. Método abstracto C# con implementación de clase base solamente?
- 24. ¿Cómo recuperar una lista de directorios RÁPIDAMENTE en Java?
- 25. La implementación de la clase Mostrar
- 26. ¿Cómo agregar un método a una clase existente en PHP?
- 27. ¿Cómo se determina si un tipo determinado (System.Type) hereda de una clase base específica (en .Net)?
- 28. Implementación IDisposable en una clase sellada
- 29. Cómo encontrar si un método está implementando una interfaz específica
- 30. C#: ¿Cómo puedo llamar a un método estático de una clase base desde un método estático de una clase derivada?