SQUEAK distingue deux contextes: le contexte d’une méthode, une instance de la classe MethodContext, et le contexte d’un bloc, une instance de la classe BlockContext. Un MethodContext contient le receveur et l’émetteur de la méthode active actuellement, un pointeur vers la méthode même, les liaisons des arguments de la méthode et naturellement un pointeur vers la pile d’exéution. Un BlockContext est très similaire et contient en plus un pointeur vers le contexte dans lequel ce bloc a été crée, ceci principalement pour pouvoir partager des valeurs avec cet autre contexte.10
Nous avons rencontré la pseudo-variable thisContext dans la fenêtre erreur de la page 91. En effet, thisContext est utilisée principalement dans des programmes contribuant au développement du système SQUEAK lui-même: des routines de traîtement d’erreur, des utilitaires d’observation de l’exécution, des inspecteurs, etc. Pour l’instant, vous pouvez vivre parfaitement heureux dans l’environnement SQUEAK sans vraiment utiliser cette variable, ici nous l’avons mentionnée juste pour noter son existence.
Rappellons qu’il n’y a pas d’autres identifieurs que nous, programmeurs SQUEAK, ne pouvons pas changer de valeur. nil, self, super, true, false et thisContext sont les seules pseudo-variables du système SQUEAK.