diff options
-rw-r--r-- | lib/debugger/src/dbg_iload.erl | 5 | ||||
-rw-r--r-- | lib/debugger/test/record_SUITE.erl | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/debugger/src/dbg_iload.erl b/lib/debugger/src/dbg_iload.erl index d398e0e327..c8b62f6de2 100644 --- a/lib/debugger/src/dbg_iload.erl +++ b/lib/debugger/src/dbg_iload.erl @@ -241,8 +241,9 @@ pattern({cons,Anno,H0,T0}, St) -> pattern({tuple,Anno,Ps0}, St) -> Ps1 = pattern_list(Ps0, St), {tuple,ln(Anno),Ps1}; -pattern({record_index,Anno,Name,Field}, St) -> - index_expr(Anno, Field, Name, record_fields(Name, Anno, St)); +pattern({record_index,Anno,Name,Field} = _DBG, St) -> + Expr = index_expr(Anno, Field, Name, record_fields(Name, Anno, St)), + pattern(Expr, St); pattern({record,Anno,Name,Pfs}, St0) -> Fs = record_fields(Name, Anno, St0), TMs = pattern_list(pattern_fields(Fs, Pfs), St0), diff --git a/lib/debugger/test/record_SUITE.erl b/lib/debugger/test/record_SUITE.erl index a44bcc83b1..f98cb7bc9b 100644 --- a/lib/debugger/test/record_SUITE.erl +++ b/lib/debugger/test/record_SUITE.erl @@ -237,7 +237,9 @@ record_test(Config) when is_list(Config) -> 5 = record_info(size, foo), Foo2 = id(#foo{a=v1, b=true, c=false, d=v4}), 2 = #foo.a, + #foo.a = 2, 5 = #foo.d, + #foo.d = 5, v1 = Foo2#foo.a, v4 = Foo2#foo.d, |