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

Refactor Actor-Debugging-related Code to make concepts more explicit and use GSON for JSON communication #38

Merged
merged 24 commits into from
Oct 8, 2016

Conversation

smarr
Copy link
Owner

@smarr smarr commented Sep 25, 2016

The goal of this work is to more clearly work out a meta-level interface for debugging actor languages.

So, the code should represent concepts explicitly.
Then, a front-end for instance connected via JSON should just use that API.
The API itself might also be exposed to the language for reflective use.

This is related to #35.

The changes also use GSON instead of custom JSON serialization.

A brief overview:

  • use GSON for JSON (de)serialization
  • remove highlighting tool (has not been used in ages, don't want to maintain)
  • remodel breakpoints
    • split the breakpoint location and semantics from the breakpoint enabling, for the later we either use custom solutions, or Truffle's breakpoints
  • added basic unit test for Json serialization as junit test
  • refactor front-end to accept new messages

@smarr smarr added the enhancement Improves the implementation with something noteworthy label Sep 25, 2016
@smarr smarr force-pushed the refactoring/mli branch 4 times, most recently from 33e5de7 to ad12f96 Compare October 7, 2016 14:27
We need that instead of a source section to identify not yet loaded source locations.
Make charIndex transient. We rely on line/column to identify location.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
- manage assumption about enabling part of all breakpoints
- introduce sender adn receiver breakpoint classes
- use FullSourceCoordinate

Signed-off-by: Stefan Marr <git@stefan-marr.de>
We need to think about this carefully and find good names still.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is currently targetted mostly at the existing JSON backend, and might change.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
- move breakpoints into separate class files

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
- don’t use cross-program ids
- don’t use char index, make due with line/column

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is not yet supported by the front-end, but is necessary, since I move the updating of source section info out of the suspended event message

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is not used any longer.

Sources are identified by URI.
Source Sections are identified by a (line, column, length) tuple.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
It is not longer maintained as a stand-alone tool. Was never used as such.

So, if it is needed, we’ll find this commit in the archives.

- VMTests, set VmSettings.INSTRUMENTATION before class, hope this avoids
  issues.

Signed-off-by: Stefan Marr <git@stefan-marr.de>

Set VmSetting before class

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
@smarr smarr changed the title Refactor Actor-Debugging-related Code to make concepts more explicit Refactor Actor-Debugging-related Code to make concepts more explicit and use GSON for JSON communication Oct 8, 2016
@smarr smarr merged commit 120cd9d into smarr:master Oct 8, 2016
@smarr smarr deleted the refactoring/mli branch October 8, 2016 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improves the implementation with something noteworthy
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

1 participant