@@ -81,16 +81,19 @@ def run_single_command(self, command, version):
81
81
82
82
return ""
83
83
84
- def get_state (self ):
84
+ def get_state (self , version = None ):
85
85
result = {}
86
86
base_state = {}
87
87
regression_state = {}
88
88
89
- result ['stack_frames' ] = self .get_current_stack_frames ()
90
- result ['locals' ] = self .get_current_local_vars (None )
91
- result ['args' ] = self .get_current_args ()
92
- result ['instructions' ] = self .get_current_instructions ()
93
- result ['registers' ] = self .get_current_registers ()
89
+ result ['stack_frames' ] = self .get_current_stack_frames (version )
90
+ result ['locals' ] = self .get_current_local_vars (None , version )
91
+ result ['args' ] = self .get_current_args (version )
92
+ result ['instructions' ] = self .get_current_instructions (version )
93
+ result ['registers' ] = self .get_current_registers (version )
94
+
95
+ if version is not None :
96
+ return result
94
97
95
98
base_state ['stack_frames' ] = result ['stack_frames' ]['base' ]
96
99
regression_state ['stack_frames' ] = result ['stack_frames' ]['regressed' ]
@@ -109,62 +112,115 @@ def get_state(self):
109
112
110
113
return { "base" : base_state , "regressed" : regression_state }
111
114
112
- def get_current_stack_frames (self ):
115
+ def get_current_stack_frames (self , version = None ):
116
+ if version == "base" :
117
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
118
+ base_stack_frame = get_current_stack_frame_from_target (base_target )
119
+ return base_stack_frame
120
+
121
+ if version == "regressed" :
122
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
123
+ regression_stack_frame = get_current_stack_frame_from_target (regression_target )
124
+ return regression_stack_frame
125
+
113
126
base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
114
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
115
-
116
127
base_stack_frame = get_current_stack_frame_from_target (base_target )
128
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
117
129
regression_stack_frame = get_current_stack_frame_from_target (regression_target )
118
130
119
131
return { "base" : base_stack_frame , "regressed" : regression_stack_frame }
120
132
121
- def get_current_args (self ):
122
- base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
123
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
133
+ def get_current_args (self , version = None ):
134
+ if version == "base" :
135
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
136
+ base_args = get_args_as_list (base_target )
137
+ return base_args
138
+
139
+ if version == "regressed" :
140
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
141
+ regression_args = get_args_as_list (regression_target )
142
+ return regression_args
124
143
144
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
125
145
base_args = get_args_as_list (base_target )
146
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
126
147
regression_args = get_args_as_list (regression_target )
127
-
128
148
return { "base" : base_args , "regressed" : regression_args }
129
149
130
- def get_current_local_vars (self , filters ):
131
- base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
132
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
150
+ def get_current_local_vars (self , filters , version = None ):
151
+ if version == "base" :
152
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
153
+ base_locals = get_local_vars_as_list (base_target )
154
+ if filters == 'ignore-order-declaration' :
155
+ base_locals .sort ()
156
+ return base_locals
157
+
158
+ if version == "regressed" :
159
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
160
+ regression_locals = get_local_vars_as_list (regression_target )
161
+ if filters == 'ignore-order-declaration' :
162
+ regression_locals .sort ()
163
+ return regression_locals
133
164
165
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
134
166
base_locals = get_local_vars_as_list (base_target )
167
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
135
168
regression_locals = get_local_vars_as_list (regression_target )
136
-
137
169
if filters == 'ignore-order-declaration' :
138
170
base_locals .sort ()
139
171
regression_locals .sort ()
140
172
141
173
return { "base" : base_locals , "regressed" : regression_locals }
142
174
143
- def get_current_instructions (self ):
144
- base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
145
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
175
+ def get_current_instructions (self , version = None ):
176
+ if version == "base" :
177
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
178
+ base_args = get_instructions_as_list (base_target )
179
+ return base_args
180
+
181
+ if version == "regressed" :
182
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
183
+ regression_args = get_instructions_as_list (regression_target )
184
+ return regression_args
146
185
186
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
147
187
base_args = get_instructions_as_list (base_target )
188
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
148
189
regression_args = get_instructions_as_list (regression_target )
149
-
150
190
return { "base" : base_args , "regressed" : regression_args }
151
191
152
- def get_current_registers (self ):
153
- base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
154
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
192
+ def get_current_registers (self , version = None ):
193
+ if version == "base" :
194
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
195
+ base_args = get_registers_as_list (base_target )
196
+ return base_args
197
+
198
+ if version == "regressed" :
199
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
200
+ regression_args = get_registers_as_list (regression_target )
201
+ return regression_args
155
202
203
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
156
204
base_args = get_registers_as_list (base_target )
205
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
157
206
regression_args = get_registers_as_list (regression_target )
158
-
159
207
return { "base" : base_args , "regressed" : regression_args }
160
208
161
- def get_current_calls (self ):
162
- base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
163
- regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
209
+ def get_current_calls (self , version = None ):
210
+ if version == "base" :
211
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
212
+ base_calls = get_call_instructions (base_target )
213
+ return base_calls
214
+
215
+ if version == "regressed" :
216
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
217
+ regression_calls = get_call_instructions (regression_target )
218
+ return regression_calls
164
219
220
+ base_target = self .base_lldb_instance .GetTargetAtIndex (0 )
165
221
base_calls = get_call_instructions (base_target )
222
+ regression_target = self .regression_lldb_instance .GetTargetAtIndex (0 )
166
223
regression_calls = get_call_instructions (regression_target )
167
-
168
224
return { "base" : base_calls , "regressed" : regression_calls }
169
225
170
226
def terminate (self ):
0 commit comments