Changed the semantics of BindingFlags - if no demands are specified, it implicitly means 'all' rather then 'none'.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2798 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Forum-7191: When NSvn.Client initialization fails, disable project browser overlays.
Exception handler in ParserService.ParserFile: show the name of the file that caused the exception.
AsynchronousAdvancedHighlighter: do not try to highlight deleted lines. This should fix the bug reported in forum-7175.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2793 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
The pad is progressively updated using the same method as before - Application.DoEvents() is called periodically so that repaint events are invoked. I still need to put is checks so that press of Stepping command terminates the update.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2792 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Previously the nodes wrapped debugger values - any requests were redirected to the underling value.
The nodes are now based on Expressions and act as dum data storage. When node is created the expression is evaluated and the properties (Image, Name, Text, Type) are stored locally in the node. The node is immutable so its content can not be changed - the GUI need to create a fresh node. This implies that the expression is evaluated only once - when the node is created.
A node can have child nodes. The child nodes are created on-demand using enumerators. This is desirable since creation of node involves evaluation of expression. It also prevents infinite recursion.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2791 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Removed/disabled all Expression code. It will return as higher level abstraction layer.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2774 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
It seems there were only two cases:
- Values expiring when stack frame exits
- Values expiring immediately when debuggee is resumed
These precisely correspond to these two cases: (respectively)
- Values that have closed expression
- Values that do not have closed expression
The new behaviour is that every value expires when debuggee is resumed.
Work in progress...
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2773 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
It do not provide 100% guarantee of notification. For example:
- If the user obtained a reference to same value from two places (eg classA.someInt and classB.someInt where classA == classB) then change in one place did not trigger notification in the other.
- Changing of the backing value for a property would not change the property.
Idea for better system (if it is needed in the future):
Each value refers to some memory range (eg reference it is 4 byte pointer in memory; string is value on heap).
Whenever a debugger is resumed all bets are off and anything could have changed.
Other then that value changes if and only if its memory range is modified by the user.
Expression as a whole changes whenever any of the values involved changes; if method call or property is involved then the whole expression may change when any memory is modified.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2772 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61