Coder Social home page Coder Social logo

newtools's People

Contributors

adri09070 avatar astares avatar badetitou avatar bouraqadi avatar cafekrem avatar carolahp avatar cdlm avatar demarey avatar dionisiydk avatar ducasse avatar dupriezt avatar estebanlm avatar guillep avatar gypsydave5 avatar hernanmd avatar hogoww avatar janbliznicenko avatar jecisc avatar jordanmontt avatar marcusdenker avatar olivierauverlot avatar palumbon avatar pavel-krivanek avatar privat avatar rinzwind avatar stephaneggermont avatar stevencostiou avatar tesonep avatar theseion avatar vonbecmann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newtools's Issues

New debugging tools are all adding singletons

Every new debugging tool seems to need a dedicated registry to hold its model instances.
This leads to writing a singleton each time, and we see many tools implementing its own singeton in class side.
Exemple: object-centric, halt cache, debugger selector, etc.

Could we think of another way? a better design?

"Do it" button of the StPlayground does not work

When executing the Do It button with at least some code inside the playground a debugger appears.
I suppose it is a problem with the context given to the command or a missing method in StPlayground

MessageNotUnderstood: StPlayground>> #doItReceiver in SpCodeInspectItCommand(SpCodeSelectionCommand)>>evaluate:andDo:

bug playground

(however it does work if I execute using Ctrl+D )

Remove methodSpecDebugger class>>#defaultTitle when GTDebugger is removed

The method in question:

defaultTitle
	"GTDebugger needs this to create its action to switch to other debuggers (in this case to the Spec Debugger). I don't know if switching to this debugger actually works, but if the action cannot be created, the GTDebugger crashes when being opened. This method can be removed if the GTDebugger is removed"
	^ 'SpecDebugger'

As said in the comment, this method is only necessary for the GTDebugger to recognise SpecDebugger as a debugger (otherwise, it crashes).

Loading baseline fails in Pharo 7 (looking for FlagsBrowser)

Hi,

I would like to get the FlagsBrowser to go in Pharo 7. However, when I load the NewTools baseline in a fresh image, I get the warnings below (I left out duplicates).

1) This package depends on the following classes:
  CmCommand
  SpPresenter
  SpApplication

2) This package depends on the following classes:
  SpApplicationConfiguration

3) This package depends on the following classes:
  StPresenter
  CmCommand
  SpPresenter

4) This package depends on the following classes:
  SpecDebugger

5) This package depends on the following classes:
  StInspection
  CmCommand

I understand that the new Spec 2 development is taking place in Pharo 8 and this might be tightly coupled to that. However, most people working with Pharo professionally for clients will want to work with the latest stable version. Like me :-)

The 'old' FlagsBrowser doesn't work either, because it's missing some code related to a notebook (page).

What would be a good way to resolve this? Please advise.

Kind regards,
Jonathan

Debugger breaks the test runner when a test fails

On an error or a failing test:

  • If you close the window, tearDown is never called
  • if you proceed, tearDown is called and your failing or erroring test... passes.

That's a super huge problem.
Also, I noticed that the process leak seems stronger when that happens.
It might be coming from the debugger.
This is super important to fix.

Debugger: ReturnValueDebugCommand accesses a #context variable

  • Run in playground:
self halt.
a := Point x: 1 y:2.
Point new.
  • Step into the call to #x:y:
  • Use the Return button and type context as the expression to return.
  • After this you should be in the DoIt context. Step over the assignment to the 'a' variable.
    The value of the 'a' variable (the first value of the operand stack of thisContext) is the Point class.
    However, there was no context variable in the context where we used the Return button, so the return value should have been nil (like it is when you type gibberish as expression to return) instead of the Point class.

Strange Esteban bug

DADependencyChecker new daPackageFor: 'NECompletion'.

debug that

dive until "build"

build
    "build the dependency graph"
    self 
        computeStaticDependencies;
        removeInternalDependencies;
        combineDependencies```

and then "through" when you are in computeStaticDependencies

Initialization of presenters must be in initializePresenters method

In debugger selector classes, there are a lot of huge methods in initializeWidgets.
It looks like some of that behavior must be in ìnitializePresenters` instead.

These methods are also very compact and with a lot of code.
Could they be enhanced with more clean, clear code?

Skipping execution is broken when we step in bytecode and try to skip at the wrong position

  • use double dispatch on nodes to know what skipping strategy to use instead of switch case
  • take into account nodes on which a bytecode step has been done (e.g. variable nodes receiver of messages)

That may not be simple, as depending on the parent (e.g., assignment or message or...?) what we have to pop from the context and how much we should advance the pc is not obvious.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.