[all-commits] [llvm/llvm-project] 50f198: [lldb][NFC] Delete the original UserExpression bef...

Raphael Isemann via All-commits all-commits at lists.llvm.org
Thu Mar 19 10:11:25 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 50f198535363c6882b02c3dde7bec31e723c4762
      https://github.com/llvm/llvm-project/commit/50f198535363c6882b02c3dde7bec31e723c4762
  Author: Raphael Isemann <teemperor at gmail.com>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M lldb/source/Expression/UserExpression.cpp

  Log Message:
  -----------
  [lldb][NFC] Delete the original UserExpression before trying to reparse it with FixIts.

Currently when an expression fails to parse and we have a FixIt, we keep
the failed UserExpression around while trying to parse the expression with
applied fixits. This means that we have this rather confusing control flow:

1. Original expression created and parsing attempted.
2. Expression with applied FixIts is created and parsing attempted.
3. Original expression is destroyed and parser deconstructed.
4. Expression with applied FixIts is destroyed and parser deconstructed.

This patch just deletes the original expression so that step 2 and 3 are
swapped and the whole process looks more like just sequentially parsing two
expressions (which is what we actually do here).

Doesn't fix anything just makes the code less fragile.




More information about the All-commits mailing list