[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #13 from dlangBugzillaToGithub --- THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/visuald/issues/241 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 Iain Buclaw changed: What|Removed |Added Priority|P1 |P4 --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #12 from Rainer Schuetze --- Arbitrary return types now supported in https://github.com/dlang/visuald/releases/tag/v0.50.1-beta1 --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #11 from Rainer Schuetze --- I'm currently still trying to figure out how to deal with slices and delegates, because they are returned in a way incompatible with any C++ ABI. There is currently no annotation of pure or const in the debug info, and I have so far avoided adding a demangler. Not sure about automatically showing them for any class or struct, maybe I should have a look how it works in C#. I'm currently leaning towards making them available for explicit use in some kind of visualizer, so you can also avoid repeating the same information by property functions and private members when showing the struct. --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #10 from Manu --- Okay, that's awesome! Seems to work well. So for const pure properties (or methods that look like properties) where it's safe to call them without mutating, is it possible to automatically populate the struct/class with phony members for the property getters? Ideally they would have a different little icon than data members (like C# does with its properties). --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #9 from Rainer Schuetze --- You can now call function and delegates without arguments in the watch window, i.e. this includes member functions. You'll still have to add "()" even for properties. --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #8 from Manu --- This is going to be so amazing if it works! --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #7 from Rainer Schuetze --- Yes, you can also do this in C++. It's necessary to click the "Try Again" icon, though, to not reevaluate it in the watch window with every step. I think this can be done, too. For properties execution should be automatic, but I don't think the debug info contains info about strong purity. We might have to extract that info from the mangling :-/ --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #6 from Manu --- It can call them... even if they mutate global state? --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #5 from Rainer Schuetze --- The concord plugin in the latest build on https://ci.appveyor.com/project/rainers/visuald allows calling simple free functions, i.e. no arguments. They might have to be given fully qualified, e.g. "TestApp.testcall()". No member functions so far... --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #4 from Rainer Schuetze --- I remember I tried allowing calls within the expression evaluator (and fixed the parsing) but actually executing it didn't work so easily. So no support yet. --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #3 from Manu --- How's this going? Has there been any progress? This would be super handy!! `pure` properties are overwhelmingly common. --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 --- Comment #2 from Manu --- >_< --
[Issue 16692] New debug experience: possible to execute pure functions during expression evaluation?
https://issues.dlang.org/show_bug.cgi?id=16692 Rainer Schuetze changed: What|Removed |Added CC||r.sagita...@gmx.de --- Comment #1 from Rainer Schuetze --- The VS debugger can call functions in the watch window, but that needs appropriate debug information. Unfortunately the full function type info is not generated by dmd. --