[lldb-dap] Add feature to remember last non-empty expression. (#107485) · swiftlang/llvm-project@2011cbc (original) (raw)

`@@ -54,13 +54,22 @@ def run_test_evaluate_expressions(

`

54

54

`line_number(source, "// breakpoint 5"),

`

55

55

`line_number(source, "// breakpoint 6"),

`

56

56

`line_number(source, "// breakpoint 7"),

`

``

57

`+

line_number(source, "// breakpoint 8"),

`

57

58

` ],

`

58

59

` )

`

59

60

`self.continue_to_next_stop()

`

60

61

``

61

62

`# Expressions at breakpoint 1, which is in main

`

62

63

`self.assertEvaluate("var1", "20")

`

``

64

`+

Empty expression should equate to the previous expression.

`

``

65

`+

if context == "repl":

`

``

66

`+

self.assertEvaluate("", "20")

`

``

67

`+

else:

`

``

68

`+

self.assertEvaluateFailure("")

`

63

69

`self.assertEvaluate("var2", "21")

`

``

70

`+

if context == "repl":

`

``

71

`+

self.assertEvaluate("", "21")

`

``

72

`+

self.assertEvaluate("", "21")

`

64

73

`self.assertEvaluate("static_int", "42")

`

65

74

`self.assertEvaluate("non_static_int", "43")

`

66

75

`self.assertEvaluate("struct1.foo", "15")

`

`@@ -191,6 +200,15 @@ def run_test_evaluate_expressions(

`

191

200

`self.continue_to_next_stop()

`

192

201

`self.assertEvaluate("my_bool_vec", "size=2")

`

193

202

``

``

203

`+

Test memory read, especially with 'empty' repeat commands.

`

``

204

`+

if context == "repl":

`

``

205

`+

self.continue_to_next_stop()

`

``

206

`+

self.assertEvaluate("memory read -c 1 &my_ints", ".* 05 .*\n")

`

``

207

`+

self.assertEvaluate("", ".* 0a .*\n")

`

``

208

`+

self.assertEvaluate("", ".* 0f .*\n")

`

``

209

`+

self.assertEvaluate("", ".* 14 .*\n")

`

``

210

`+

self.assertEvaluate("", ".* 19 .*\n")

`

``

211

+

194

212

`@skipIfWindows

`

195

213

`def test_generic_evaluate_expressions(self):

`

196

214

`# Tests context-less expression evaluations

`