Files
codeql/swift/ql/test/library-tests/elements/expr/logicaloperation/logicaloperation.expected
Paolo Tranquilli 9b50336e47 Swift: synthesize MethodRefExpr
This introduces a `MethodRefExpr` node synthesized out of
`DotSyntaxCallExpr` under the `LookupExpr` hierarchy. This means that
much like
```free_function(1, 2)```
is a `CallExpr` with `getFunction` giving a `DeclRefExpr`,
```foo.method(1, 2)```
is now a `CallExpr` with `getFunction` giving a `MethodRefExpr`.

`ApplyExpr::getStaticTarget` has been made work with it (as well as
`ConstructorRefCallExpr` which for the moment has been left where it
is), a new `MethodApplyExpr` has been introduced deriving from it,
and control and data flow libraries have adapted.

A small but was fixed in `qlgen` where the default constructor for DB
types was not correctly subtracting derived IPA types depending on the
order of definitions in `schema.yml`.

There are still some occurrences of `DotSyntaxCallExpr`, and as already
mentioned the other `SelfApply` class (`ConstructorRefCallExpr`) was
left alone. Their treatment is left for a future PR.
2022-08-19 14:48:36 +02:00

7 lines
539 B
Plaintext

| logicaloperation.swift:4:6:4:11 | ... .&&(_:_:) ... | BinaryLogicalExpr, LogicalAndExpr |
| logicaloperation.swift:5:6:5:11 | ... .\|\|(_:_:) ... | BinaryLogicalExpr, LogicalOrExpr |
| logicaloperation.swift:6:6:6:7 | call to !(_:) | NotExpr, UnaryLogicalOperation |
| logicaloperation.swift:7:6:7:21 | call to !(_:) | NotExpr, UnaryLogicalOperation |
| logicaloperation.swift:7:8:7:20 | ... .\|\|(_:_:) ... | BinaryLogicalExpr, LogicalOrExpr |
| logicaloperation.swift:7:9:7:14 | ... .&&(_:_:) ... | BinaryLogicalExpr, LogicalAndExpr |