Entrar
¿Nuevo usuario? Inscribirme
smalltalking · Un lugar para el estudio y desarrollo de Ambientes de Objetos virtuales.
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.

Mensajes

  Mensajes Ayuda
Avanzado
Cambio de instancia   Lista de mensajes  
Responder | Reenviar Mensaje #15274 de 17205 |
Re: [objetos] RE:Cambio de instancia

On 7 Nov 2006 at 12:56, kikote gregoris wrote:

[ . . . ]

> ifTrue: [newInstance instVarAt: newPosition put: (oldInstance
> instVarAt: position)].
> position + 1].
>
> Se puede ver claramente que se le esta enviando un mensaje a la vieja
instancia que se llama
> anObsoletXXX.
> Esto se supone no es posible pues el comportamiento fue modificado para que no
entienda mas
> que el #doesNotUnderstand:aMessage.
> Lo cual es cierto si abro un inspector sobre dicha instancia y trato de
enviarle un mensaje.
> Como es posible que dentro de la ejecución si entienda #instVarAt: y sobre un
inspector no ¿?.

Te doy una teoría, no la verifiqué (se puede verificar viendo los bytecodes y/o
literals del compiled method) pero igual es interesante:
Al compilar el método, el #instVarAt: no genera bytecodes para el envío de ese
mensaje, sino que lo pasa a una operación directa de la Máquina Virtual.
Entonces, en la ejecución, como vos decís, los bytecodes andan bien, porque no
se envía el mensaje. En el inspector, vos sí enviás el mensaje (se compila en
otro contexto en el que no se aplica esa conversión del código) y no anda.

> No se si es algo natural lo que ocurra, pues en ciertos momentos me ocurre que
olvido conceptos
> básicos de la TO.

Esto no es un concepto básico de Teoría, sino un detalle de implementación.
Saludos
--
Carlos E. Ferro
Caesar Systems





Mar, 7 de Nov, 2006 2:46 pm

carloseferrob
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #15274 de 17205 |
Desplegar mensajes Autor Ordenar por fecha

Hola gente Estaba tratando de cambiar el MethodDictionary de la clase para ver que pasaba con las instancias, en VS no hay drama le coloque uno vacío y la...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
2 de Nov, 2006
2:14 pm

... No es tan sorprendente, sólo demuestra que la variable que vos tocaste no es un MethoDictionary que se use en el method lookup como el de VS (aunque sí...
Carlos E. Ferro
carloseferrob
Sin conexión Enviar correo
2 de Nov, 2006
7:47 pm

Hola Gente Siguiendo con mis intentos por encontrar una solución a la mutación de las instancias, me surge una pregunta que no me había echo anteriormente. ...
kikote gregoris
kikogregoris
Sin conexión Enviar correo
7 de Nov, 2006
1:01 pm

On 7 Nov 2006 at 12:56, kikote gregoris wrote: [ . . . ] ... Te doy una teoría, no la verifiqué (se puede verificar viendo los bytecodes y/o literals del...
Carlos E. Ferro
carloseferrob
Sin conexión Enviar correo
7 de Nov, 2006
2:50 pm
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda