@@ -3121,9 +3121,9 @@ struct MagoOptions
31213121 bool shortenTypeNames;
31223122 bool callDebuggerFunctions;
31233123 bool callDebuggerRanges;
3124- bool callPropertyMethods;
31253124 bool callDebuggerUseMagoGC;
31263125 bool showDArrayLengthInType;
3126+ uint callPropertyMethods;
31273127 uint maxArrayElements;
31283128
31293129 void saveToRegistry ()
@@ -3140,9 +3140,9 @@ struct MagoOptions
31403140 keyMago.Set(" shortenTypeNames" , shortenTypeNames);
31413141 keyMago.Set(" callDebuggerFunctions" , callDebuggerFunctions);
31423142 keyMago.Set(" callDebuggerRanges" , callDebuggerRanges);
3143- keyMago.Set(" callPropertyMethods" , callPropertyMethods);
31443143 keyMago.Set(" callDebuggerUseMagoGC" , callDebuggerUseMagoGC);
31453144 keyMago.Set(" showDArrayLengthInType" , showDArrayLengthInType);
3145+ keyMago.Set(" callPropertyMethods" , callPropertyMethods);
31463146 keyMago.Set(" maxArrayElements" , maxArrayElements);
31473147 }
31483148
@@ -3161,9 +3161,9 @@ struct MagoOptions
31613161 shortenTypeNames = (keyMago.GetDWORD(" shortenTypeNames" , 1 ) != 0 );
31623162 callDebuggerFunctions = (keyMago.GetDWORD(" callDebuggerFunctions" , 1 ) != 0 );
31633163 callDebuggerRanges = (keyMago.GetDWORD(" callDebuggerRanges" , 0 ) != 0 );
3164- callPropertyMethods = (keyMago.GetDWORD(" callPropertyMethods" , 0 ) != 0 );
31653164 callDebuggerUseMagoGC = (keyMago.GetDWORD(" callDebuggerUseMagoGC" , 1 ) != 0 );
31663165 showDArrayLengthInType = (keyMago.GetDWORD(" showDArrayLengthInType" , 0 ) != 0 );
3166+ callPropertyMethods = keyMago.GetDWORD(" callPropertyMethods" , 0 );
31673167 maxArrayElements = keyMago.GetDWORD(" maxArrayElements" , 1000 );
31683168 }
31693169}
@@ -3195,7 +3195,10 @@ class MagoPropertyPage : ResizablePropertyPage
31953195 AddTitleLine(" Function Execution" );
31963196 AddControl(" " , mCallDebuggerFuncs = new CheckBox(mCanvas, " Call struct/class methods __debug[Overview|Expanded|StringView]" ));
31973197 AddControl(" " , mCallDebuggerRange = new CheckBox(mCanvas, " Call range methods to show elements in overview/expansion" ));
3198- AddControl(" " , mCallPropertyMethods = new CheckBox(mCanvas, " Call property methods implicitly in expression evaluation" ));
3198+ kLabelWidth = kPageWidth * 9 / 16 ;
3199+ AddControl(" Call property methods in expression evaluation if" ,
3200+ mCallPropertyMethods = new ComboBox(mCanvas, [ " Never" , " @property const pure" , " @property const" , " @property" , " @property/const pure" ], false ));
3201+ kLabelWidth = saveWidth;
31993202 AddControl(" " , mCallDebugSwitchGC = new CheckBox(mCanvas, " Switch GC while executing debugger functions" ));
32003203 }
32013204
@@ -3250,9 +3253,9 @@ class MagoPropertyPage : ResizablePropertyPage
32503253 mShortenTypeNames.setChecked(mOptions.shortenTypeNames);
32513254 mCallDebuggerFuncs.setChecked(mOptions.callDebuggerFunctions);
32523255 mCallDebuggerRange.setChecked(mOptions.callDebuggerRanges);
3253- mCallPropertyMethods.setChecked(mOptions.callPropertyMethods);
32543256 mCallDebugSwitchGC.setChecked(mOptions.callDebuggerUseMagoGC);
32553257 mShowLengthInType.setChecked(mOptions.showDArrayLengthInType);
3258+ mCallPropertyMethods.setSelection(mOptions.callPropertyMethods);
32563259 mMaxArrayElements.setText(to! string (mOptions.maxArrayElements));
32573260 }
32583261
@@ -3270,7 +3273,7 @@ class MagoPropertyPage : ResizablePropertyPage
32703273 changes += changeOption(mShortenTypeNames.isChecked(), opts.shortenTypeNames, refopts.shortenTypeNames);
32713274 changes += changeOption(mCallDebuggerFuncs.isChecked(), opts.callDebuggerFunctions, refopts.callDebuggerFunctions);
32723275 changes += changeOption(mCallDebuggerRange.isChecked(), opts.callDebuggerRanges, refopts.callDebuggerRanges);
3273- changes += changeOption(mCallPropertyMethods.isChecked (), opts.callPropertyMethods, refopts.callPropertyMethods);
3276+ changes += changeOption(mCallPropertyMethods.getSelection (), opts.callPropertyMethods, refopts.callPropertyMethods);
32743277 changes += changeOption(mCallDebugSwitchGC.isChecked(), opts.callDebuggerUseMagoGC, refopts.callDebuggerUseMagoGC);
32753278 changes += changeOption(mShowLengthInType.isChecked(), opts.showDArrayLengthInType, refopts.showDArrayLengthInType);
32763279
@@ -3293,9 +3296,9 @@ class MagoPropertyPage : ResizablePropertyPage
32933296 CheckBox mShortenTypeNames;
32943297 CheckBox mCallDebuggerFuncs;
32953298 CheckBox mCallDebuggerRange;
3296- CheckBox mCallPropertyMethods;
32973299 CheckBox mCallDebugSwitchGC;
32983300 CheckBox mShowLengthInType;
3301+ ComboBox mCallPropertyMethods;
32993302 Text mMaxArrayElements;
33003303}
33013304
0 commit comments