X Tutup
Skip to content

Implement GRPlatform >> #thisContext on GemStone #40

@marschall

Description

@marschall

We now have a #thisContext method for dialects that do not have a thisContext variable.

In order to get the tests running and the #stackDepth method working we need the following API:

  • #sender: Answer the context that sent the that created the receiver. Can either be a block or or method context. Is nil for the topmost stack frame.

In order to get WAPharoWalkback to work we need the following API:

  • #receiver: Answer the receiver object of the message receiver. Can be a block object.
  • #printStringLimitedTo:
  • #tempAt: Answer the temporary variable at the given index.

We used to send #tempScopedNames but that seems to be gone.
We used to send more messages but this seems to be the only part of the Pharo context API that is guaranteed to work.

There are references to thisContext in methods named evaluate that read something like

evaluate
	"GemStone does not have a thisContext variable..."

	^input evaluateInContext: self object symbolList: GsSession currentSession symbolList

I left out what we need for continuations since they're going to be different for GemStone anyway.

Since they are GemStone specific anyway I don't know how much replacing these makes sense.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    X Tutup