Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring John Aspinall's Method Spies into the base #107

Open
objectarts opened this issue Mar 3, 2016 · 5 comments
Open

Bring John Aspinall's Method Spies into the base #107

objectarts opened this issue Mar 3, 2016 · 5 comments
Assignees

Comments

@objectarts
Copy link
Collaborator

It's about time we had true breakpoints in Dolphin. Thanks to John giving permission to add his method spies package into the the base of Dolphin we should be able to get there in short(ish) order.

@msobral
Copy link
Contributor

msobral commented Jun 8, 2016

Hi, I would like to know if you are still working on this, and if you are, when do you think this branch could be merged to the master.

Thanks and regards.

@fxgallego
Copy link
Contributor

fxgallego commented Jul 14, 2017

@blairmcg I was looking at this, loaded the spies package, and there are some errors.

To be honest, I don't like too much the solution. It overrides too much in different places an then it's very easy to broke things when the base system changes. I'll go for a simpler solution added to the base editors and browsers.
If you don't use STS as versioning system (I think that it should be deprecated), there is no problem adding a halt, and after removing it, while the source doesn't changes it would not be marked as changed.
Using spies had value for me only for: 1) Avoid new method versions in sts; 2) Don't have to write 10 chars, only press pause. I don't remember to ever using a condition in a spy.

Pharo has some improvements over the classic halt, #haltOnce, #haltIf: and others that are very common use. Maybe we can add some of them to Dolphin.

@msobral what's your use case for spies?

@fxgallego
Copy link
Contributor

Ahh there's another thing. This is the license for ELV

EditableListView v7.10
28th Feb 2017
(C) John Aspinall/Solutions Software 2017

Terms of Use
EditableListView ("the software") is provided freely  - you may use or modify the software as you desire. In particular, you may include the software in commercial or non-commercial applications you develop. However if you redistribute the software with its source code, you may not charge for it. All copyright in the software resides with Solutions Software Ltd. 

Use at your own risk: no warranty is provided as to the suitability of the software for any particular task, and no responsibility is assumed by the authors for any loss or damage that may result from its use.

By downloading the software, you are deemed to have agreed to these terms.

I don't know if the same type of license applies to Method Spy but being Dolphin MIT, I thing that's not good to allow NON MIT contributions to be part of the core system.

@rejurime
Copy link
Contributor

I think @objectarts started working on this but for some reason the progress of the branch method-spies stopped.

@rko281
Copy link
Contributor

rko281 commented Jul 21, 2018

For anyone needing this functionality I've created a repository with the current version of Method Spies.

There are some changes and simplifications of the code compared to earlier versions, in particular the placement of spies/breakpoints now hopefully makes more sense (Andy spotted that spies could inadvertently be assigned/returned from the host method). Also the internals of the spy code no longer appear in the debugger unless deliberately stepped into.

I'm still happy for this code (or some derivative of it) to be included in the base or Contributions repository, otherwise I'll continue to maintain in my own repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants