Tom Hvitved
a1e58cedac
C#: Refactor recursive patterns implementation
...
- Extract names of properties in a propery match, using the `exprorstmt_name` relation.
- Simplify extraction of properties by not distinguishing between top-level patterns
and nested patterns.
- Introduce `PatternExpr` to capture patterns in `is` expressions, `case` statements,
and `switch` expression arms.
- Generalize `IsTypeExpr`, `IsPatternExpr`, `IsRecursivePatternExpr`, and `IsConstantExpr`
to just `IsExpr` with a member predicate `PatternExpr getPattern()`.
- Generalize `TypeCase`, `RecursivePatternCase`, and `ConstCase` to just `CaseStmt` with
a member predicate `PatternExpr getPattern()`.
- Introduce classes `Switch` and `Case` as base classes of switch statements/expressions
and case statements/switch expression arms, respectively.
- Simplify CFG logic using the generalized classes.
- Generalize guards library to cover `switch` expressions tests.
- Generalize data flow library to cover `switch` expression assignments.
2019-05-24 13:49:05 +01:00
..
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-12-19 20:47:33 +01:00
2018-12-20 20:59:10 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2019-05-24 13:49:05 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00
2018-08-02 17:53:23 +01:00
2018-12-20 10:19:59 +01:00