pharo-ide / ghost Goto Github PK
View Code? Open in Web Editor NEWGhost is framework to implement unnatural smalltalk objects like proxies or prototypes
License: MIT License
Ghost is framework to implement unnatural smalltalk objects like proxies or prototypes
License: MIT License
While in a debugging session of an object proxied by ghost, the following error prompts.
Pharo 10
Ghost version 6.0.0
propertyValueAt:
seems to be missing
CompiledMethod(Object)>>doesNotUnderstand: #propertyValueAt:put:
GHInstanceMessagesInterceptor class>>prepareCannotInterpretMethodFor:
ValidationAnnouncement class(GHClassGhost)>>lookupSelector:
Context>>send:to:with:super:
Context>>send:super:numArgs:
InstructionStream>>interpretNextSistaV1InstructionFor:
EncoderForSistaV1 class>>interpretNextInstructionFor:in:
InstructionStream>>interpretNextInstructionFor:
Context>>step
[suspendedContext := suspendedContext step] in Process>>step in Block: [suspendedContext := suspendedContext step]
FullBlockClosure(BlockClosure)>>ensure:
Process>>evaluate:onBehalfOf:
Process>>step
Process>>completeStep:
DebugSession>>stepOver:
StDebuggerActionModel>>stepOver:
StDebugger>>stepOver
StStepOverCommand>>execute
SpCommand(CmCommandDecorator)>>execute
[ specCommand execute ] in [ :specCommand |
aButtonClass new
label: specCommand name;
help: specCommand description;
in: [ :button |
specCommand hasIcon
ifTrue: [ button icon: specCommand icon ] ];
action: [ specCommand execute ];
yourself ] in SpCommand>>configureAsButtonOfClass: in Block: [ specCommand execute ]
FullBlockClosure(BlockClosure)>>cull:
SpMorphicToolbarButtonAdapter>>execute
SpToolbarButtonMorph(PluggableButtonMorph)>>performAction:
[:m |
(m containsPoint: evt cursorPoint) ifTrue: [m enabled ifTrue: [ m performAction: evt ]]] in SpToolbarButtonMorph(PluggableButtonMorph)>>mouseUp: in Block: [:m |...
Array(SequenceableCollection)>>do:
SpToolbarButtonMorph(PluggableButtonMorph)>>mouseUp:
SpToolbarButtonMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
SpToolbarButtonMorph(Morph)>>handleEvent:
SpToolbarButtonMorph(Morph)>>handleFocusEvent:
On a Pharo 10 image in a Windows 10, when I execute this code :
| proxy |
proxy := GHObjectMutation behaviour: GHDelegatorBehaviour new.
proxy mutate: #(4 3 3 8 11 34 1).
proxy collect: [ :it | it * 2 ].
I got a "PrimitiveFailed: primitive #setClass:to: in GHMetaMessages class failed":
GHMetaMessages class(ProtoObject)>>primitiveFailed
GHMetaMessages class>>setClass:to:
Array(ProtoObject)>>injectGHMutation:
Array class(GHObjectMutation)>>mutate:
UndefinedObject>>DoIt
[ receiver withArgs: (context ifNil: [ #() ] ifNotNil: [ {context} ]) executeMethod: self compileDoit] in OpalCompiler>>evaluate in Block: [ receiver withArgs: (context ifNil: [ #() ] ifNot...etc...
FullBlockClosure(BlockClosure)>>on:do:
OpalCompiler>>evaluate
[
oldBindings := self interactionModel bindings copy.
receiver := self interactionModel doItReceiver.
result := receiver class compiler
source: aString readStream;
context: self interactionModel doItContext;
receiver: self interactionModel doItReceiver;
requestor: self interactionModel;
environment: self environment;
failBlock: [ ^ compileErrorBlock value ];
evaluate.
oldBindings size = self interactionModel bindings size
ifFalse: [ self withAdapterDo: [ :anAdapter | anAdapter refreshStyling ] ].
result ] in SpCodePresenter>>evaluate:onCompileError:onError: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
SpCodePresenter>>evaluate:onCompileError:onError:
SpCodeInspectItCommand(SpCodeSelectionCommand)>>evaluate:andDo:
SpCodeInspectItCommand(SpCodeSelectionCommand)>>evaluateSelectionAndDo:
SpCodeInspectItCommand>>execute
SpCommand(CmCommandDecorator)>>execute
[ self decoratedCommand execute ] in SpToolCurrentApplicationCommand>>execute in Block: [ self decoratedCommand execute ]
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in SpToolCurrentApplication(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
SpToolCurrentApplication(DynamicVariable)>>value:during:
SpToolCurrentApplication class(DynamicVariable class)>>value:during:
SpToolCurrentApplicationCommand>>execute
[ self decoratedCommand execute ] in SpToolCurrentApplicationCommand>>execute in Block: [ self decoratedCommand execute ]
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in SpToolCurrentApplication(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
SpToolCurrentApplication(DynamicVariable)>>value:during:
SpToolCurrentApplication class(DynamicVariable class)>>value:during:
SpToolCurrentApplicationCommand>>execute
[
aCmCommand canBeExecuted
ifTrue: [ aCmCommand execute ] ] in SpKMCategoryBuilder>>visitCommand: in Block: [ ...
FullBlockClosure(BlockClosure)>>cull:
Ghost does not pass the Pharo release tests that check the categorization of methods
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.