1
00:00:01,080 --> 00:00:03,400
En este video,
Me gustaría mostrarte cómo

2
00:00:03,400 --> 00:00:06,950
un objeto puede definir pestañas
mostradas en el inspector.

3
00:00:08,430 --> 00:00:10,280
¿Cómo lo veremos?

4
00:00:10,580 --> 00:00:12,240
Vamos a usar Spotter para hacerlo.

5
00:00:14,410 --> 00:00:18,240
En Spotter recuerdo
que busco un #pragma

6
00:00:18,240 --> 00:00:22,910
una anotación de método,
comenzando con gt.

7
00:00:22,910 --> 00:00:27,440
Sé que hay un "inspector" dentro
así que voy a ver esto.

8
00:00:30,190 --> 00:00:32,040
En mi inspector puedo ver
que hay #Pragmas y

9
00:00:32,040 --> 00:00:34,080
#Senders, guardo el
#Pragma.

10
00:00:35,760 --> 00:00:39,250
Ahora puedo buscar por ejemplo en

11
00:00:39,250 --> 00:00:41,210
Morph.

12
00:00:41,280 --> 00:00:43,180
Abrimos el código.

13
00:00:43,180 --> 00:00:47,450
Este es el que corresponde a ...
¿Recuerdas? Si hago

14
00:00:47,450 --> 00:00:51,320
"Inspect", abre un inspector
y

15
00:00:52,090 --> 00:00:56,970
este inspector tiene esta pestaña,

16
00:00:57,910 --> 00:00:59,070
comparemos.

17
00:01:08,100 --> 00:01:11,240
Ves que creamos un 'Morph'
compuesto, hay

18
00:01:11,240 --> 00:01:16,170
un título y habrá una
acción realizada con

19
00:01:16,310 --> 00:01:18,950
manejo de errores en el caso
el 'Morph' no se muestre bien.

20
00:01:19,290 --> 00:01:21,990
Convertimos y mostramos un 'Morph'.

21
00:01:21,990 --> 00:01:26,840
También tienes "act", que es
el camino para

22
00:01:28,880 --> 00:01:31,390
asociando operaciones a

23
00:01:36,410 --> 00:01:37,060
esta pestaña.

24
00:01:37,440 --> 00:01:38,700
Veamos otro ejemplo.

25
00:01:43,660 --> 00:01:47,980
Aquí y allá.

26
00:01:49,270 --> 00:01:50,210
Quiero ver "Date".

27
00:01:56,080 --> 00:01:59,530
Si recuerdas, teníamos
"Date today inspect".

28
00:02:05,220 --> 00:02:07,690
Tuvimos detalles y calendario.

29
00:02:09,130 ​​-> 00:02:11,740
¿Cómo crear este 'Morph'?

30
00:02:11,740 --> 00:02:16,520
Simplemente crea el 'Morph'
usando este mensaje.

31
00:02:17,570 --> 00:02:20,000
Y Detalles, ¿cómo funciona?

32
00:02:26,990 --> 00:02:29,250
Solicito la creación de una tabla,
Le asigno un

33
00:02:29,250 --> 00:02:34,010
título, valor clave, evaluo,
retorno

34
00:02:36,190 --> 00:02:38,730
la clave y calculo
el valor.

35
00:02:41,150 --> 00:02:43,080
El último ejemplo que quería
mostrarte es:

36
00:02:43,990 --> 00:02:48,990
que pasa cuando haces el trabajo
que hace

37
00:02:48,990 --> 00:02:53,470
por un inspector de métodos?

38
00:02:55,200 --> 00:02:57,930
Recuerdas, teníamos un método
que era

39
00:02:57,930 --> 00:03:02,200
Bytecode, al menos una tabla
que contiene Bytecode y

40
00:03:02,200 --> 00:03:05,970
teníamos la Fuente o el
AST o Bytecode.

41
00:03:06,150 --> 00:03:10,680
Echemos un vistazo a AST. Voy a
pregúntale a mi querido

42
00:03:10,910 --> 00:03:15,640
Spotter. Voy a buscar
Compiled method.

43
00:03:15,640 --> 00:03:19,470
Consideremos la fuente,

44
00:03:21,290 --> 00:03:21,970
parece bien.

45
00:03:26,410 --> 00:03:28,300
Para las fuentes, que es este
panel aquí, podemos

46
00:03:34,330 --> 00:03:37,240
ver que definimos la fuente
y aquí hay un pharoMethod.

47
00:03:37,240 --> 00:03:39,450
No sé exactamente qué
es pero debe decir

48
00:03:39,450 --> 00:03:42,920
que tiene que crear un objeto
capaz de mostrar

49
00:03:42,920 --> 00:03:45,940
un método Pharo, llamando al
el Sintax Highlighter o

50
00:03:45,940 --> 00:03:50,600
algo como esto.
Y si miro a AST,

51
00:03:50,900 --> 00:03:53,100
retorna

52
00:03:56,060 --> 00:03:56,400
un árbol,

53
00:04:01,340 --> 00:04:04,270
devuelve el AST que
se mostrará en el árbol.

54
00:04:04,800 --> 00:04:06,710
El objetivo no es que entiendas
precisamente

55
00:04:06,710 --> 00:04:09,480
cómo funciona, es mostrarte
un poco

56
00:04:09,480 --> 00:04:12,020
la complejidad de esta cosa.

57
00:04:12,310 --> 00:04:14,820
Ves que en general
no es muy complicado

58
00:04:15,180 --> 00:04:19,060
Aquí, es para el Bytecode,
El IR es otra cosa.

59
00:04:19,060 --> 00:04:23,010
Además, hay lógica
adentro porque

60
00:04:23,010 --> 00:04:26,890
tengo que pensar en cómo
calcula la representación

61
00:04:26,890 --> 00:04:30,630
intermedia, etc.
Pero todavía es algo manejable.

62
00:04:31,990 --> 00:04:33,910
Quería mostrarte esto porque
es lindo, puedes hacerlo

63
00:04:33,910 --> 00:04:37,170
en tus objetos y

64
00:04:37,170 --> 00:04:38,260
te permite ir más rápido.
