|
18 | 18 | ## Changes to QL libraries |
19 | 19 |
|
20 | 20 | * The class `ControlFlowNode` (and by extension `BasicBlock`) is no longer |
21 | | - directly equatable to `Expr` and `Stmt`. Any queries that have been |
22 | | - exploiting these equalities, for example by using casts, will need minor |
23 | | - updates in order to fix any compilation errors. Conversions can be inserted |
24 | | - in either direction depending on what is most convenient. Available |
25 | | - conversions include `Expr.getControlFlowNode()`, `Stmt.getControlFlowNode()`, |
26 | | - `ControlFlowNode.asExpr()`, `ControlFlowNode.asStmt()`, and |
27 | | - `ControlFlowNode.asCall()`. Exit nodes were until now modelled as a |
28 | | - `ControlFlowNode` equal to its enclosing `Callable`; these are now instead |
29 | | - modelled by the class `ControlFlow::ExitNode`. |
30 | | - |
| 21 | + directly equatable to `Expr` and `Stmt`. Any queries that exploit these |
| 22 | + equalities, for example by using casts, will now report compilation errors. |
| 23 | + You can fix these errors by making minor changes to the affected classes. |
| 24 | + The conversion can be inserted in either direction depending on what is most |
| 25 | + convenient. Available conversions include `Expr.getControlFlowNode()`, |
| 26 | + `Stmt.getControlFlowNode()`, `ControlFlowNode.asExpr()`, |
| 27 | + `ControlFlowNode.asStmt()`, and `ControlFlowNode.asCall()`. |
| 28 | + Exit nodes were until now modeled as a `ControlFlowNode` equal to its |
| 29 | + enclosing `Callable`; these are now modeled by the class `ControlFlow::ExitNode`. |
31 | 30 |
|
0 commit comments