Jonas Jensen
cdede8744f
C#/C++/Java: Prettier PartialAccessPath.toString
2019-09-02 14:05:50 +02:00
Jonas Jensen
c3bc9f8575
C#/C++/Java: Unbreak partial data flow support
...
Partial data flow had a semantic merge conflict with this branch. The
problem is that partial data flow doesn't (and shouldn't) cause the
initial pruning steps to run, but the length-2 access paths depend on
the `consCand` information that comes from that initial pruning. The
solution is to restore the old `AccessPath` class, now called
`PartialAccessPath` for use only by partial data flow.
With this change, partial data flow will in some cases allow more field
flow than non-partial data flow.
2019-09-02 14:02:39 +02:00
Jonas Jensen
dec0c3a0ee
C#/C++/Java: Make AccessPath abstract
...
This was requested by @hvitved in code review. There is no difference in
the generated DIL.
2019-09-02 13:14:30 +02:00
Jonas Jensen
b1be123e31
C#/C++/Java: Prettier AccessPath.toString
...
The `ppReprType` predicate should now be `none()` instead of `result=""`
to signal that there is nothing to print. That seems clearer to me.
2019-09-02 13:14:20 +02:00
Jonas Jensen
dbe8034e04
C#: Accept test results
2019-09-02 13:14:17 +02:00
Jonas Jensen
b2c94cc6b4
C++/C#/Java: Restore the AccessPathCons class
2019-09-02 13:14:13 +02:00
Jonas Jensen
fbe34015f3
C++/C#/Java: AccessPath class names reflect length
...
One -> ConsNil
Two -> ConsCons
2019-09-02 13:13:59 +02:00
Jonas Jensen
e8006bb2cc
C++/C#/Java: data flow AccessPath up to length 2
...
This commit does not include updates to test results.
2019-09-02 13:13:46 +02:00
semmle-qlci
0cf872ed32
Merge pull request #1846 from hvitved/csharp/autoformat
...
Approved by jbj
2019-09-02 08:31:43 +01:00
Tom Hvitved
675255755b
C#: Speedup Completion::isValidFor()
2019-09-01 10:34:52 +02:00
Tom Hvitved
508055fdc8
C#: Add a few pragma[nomagic]
2019-09-01 10:34:51 +02:00
Tom Hvitved
1e7ee8ddad
C#: Loop unrolling for foreach statements
2019-09-01 10:34:51 +02:00
Tom Hvitved
1bfef706e2
C#: Add loop unrolling tests
2019-09-01 10:34:51 +02:00
Tom Hvitved
bb735c0220
C#: Teach guards library about collections
2019-09-01 10:34:51 +02:00
yh-semmle
f54545522e
Merge pull request #1759 from aschackmull/java/flow-exploration
...
Java/C++/C#: Add support for dataflow exploration by partial paths.
2019-08-30 17:00:17 -04:00
Tom Hvitved
3e716bf806
Merge pull request #1749 from calumgrant/cs/extractor-tidy
...
C#: Refactor extractor trap generation code
2019-08-30 15:44:35 +02:00
Tom Hvitved
c9275fdc0a
Merge pull request #1692 from calumgrant/cs/roslyn-3.2
...
C#: Upgrade to Roslyn 3.2
2019-08-30 15:09:11 +02:00
Anders Schack-Mulligen
5e6326d1d5
Java/C++/C#: Add support for dataflow exploration by partial paths.
2019-08-30 14:32:55 +02:00
semmle-qlci
394563de43
Merge pull request #1807 from hvitved/csharp/dataflow/barrier-guard
...
Approved by calumgrant
2019-08-30 12:40:25 +01:00
Calum Grant
c7b685b3b8
C#: Fix changed qltest.
2019-08-30 11:47:43 +01:00
Calum Grant
ec61877ce8
Merge pull request #1805 from hvitved/csharp/dataflow/nested-fields
...
C#: Nested field flow
2019-08-30 10:26:10 +01:00
Calum Grant
0129b42c54
C#: Address review comments.
2019-08-30 10:11:01 +01:00
Calum Grant
40f56ff4b3
C#: Code tidy. Rename variables, delete dead code, format whitespace, improve comments.
2019-08-30 10:11:01 +01:00
Calum Grant
97522c506e
C#: Add more CIL consistency tests.
2019-08-30 10:11:01 +01:00
Calum Grant
b776421602
C#: Fix up tests. Fix cil_class, and add locations for constructed methods and types.
2019-08-30 10:11:01 +01:00
Tom Hvitved
9f59e385d1
C#: Autoformat
2019-08-30 09:53:50 +02:00
Tom Hvitved
6e7ef66642
C#: Revert to using GuardedDataFlowNode in TaintedPath.qll
2019-08-30 09:37:23 +02:00
Tom Hvitved
751985dcf2
C#: Address review comments
2019-08-30 09:37:23 +02:00
Tom Hvitved
ae5fb7f330
C#: Introduce BarrierGuards
2019-08-30 09:37:16 +02:00
Calum Grant
4dd4167a5a
C#: Update test output (following merge).
2019-08-29 18:22:37 +01:00
Calum Grant
83d1e0eaa6
C#: Name DotNet::Namespace a declaration.
2019-08-29 18:12:58 +01:00
Calum Grant
83ab044a73
C#: Update expected test output.
2019-08-29 18:12:58 +01:00
Calum Grant
dfbb1946d3
C#: Minor edits
2019-08-29 18:11:00 +01:00
Calum Grant
5613769654
C#: Add NamespaceAccess, and make namespaces declarations.
2019-08-29 18:11:00 +01:00
Calum Grant
0e62377dd2
C#: Treat _ as an ordinary variable in a foreach.
2019-08-29 18:11:00 +01:00
Calum Grant
8aeeec01ff
C#: Add namespace_access_expr because of nameof(Namespace)
2019-08-29 18:11:00 +01:00
Calum Grant
ae36359058
C#: Fix typementions of arrays.
2019-08-29 18:11:00 +01:00
Tom Hvitved
982f90dc2b
C#: Refactor local data flow step relations
2019-08-29 13:35:19 +02:00
semmle-qlci
f980d20d6d
Merge pull request #1809 from hvitved/csharp/cfg/tests
...
Approved by calumgrant
2019-08-29 11:35:21 +01:00
Calum Grant
d2bee79370
Merge pull request #1600 from AndreiDiaconu1/ircsharp
...
C#: Initial port of IR for C#
2019-08-29 09:26:34 +01:00
AndreiDiaconu1
deeff07322
Fixed unused predicate error
2019-08-28 15:50:39 +01:00
AndreiDiaconu1
489dbe1d01
Fixed errors
...
Added some new classes for built in operations that for the moment
have no effect (added to remove errors)
2019-08-28 14:23:42 +01:00
AndreiDiaconu1
05ae04df72
Synced files
2019-08-28 12:30:17 +01:00
AndreiDiaconu1
66948b4f57
Fixed PR errors
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
7390606370
Tidy up + more comment
...
Tidied up the code for review
Added more comments
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
0c6ffc9f4d
Casts and IsExpr
...
Fixed some inconsistencies with casts
Fixed some bugs related to which translated elements need loads
Added support for IsExpr expressions
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
c8a3f6fac8
Added cast exprs + deleted commented code
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
34bafa7230
Fixed sanity checks
...
Fixed a bug in `TranslatedArrayExpr` that would prevent the element to produce the correct instruction result, hence creating problems with loads and stores.
`ElementsAddress` opcode now inherits from the `UnaryOpcode`, as it should.
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
23694bdd14
Work on classes + refactor
...
Began working o inheritance, polymorphism and constructor init. Correct code is produced for them (though some more work is needed to accurately treat conversions between classes).
Removed commented code.
Added classes to properly deal with constructor init and modified and refactored TranslatedFunction to accomodate for the changes.
2019-08-28 12:25:14 +01:00
AndreiDiaconu1
9018b25177
Properties
...
Properties and property access produce correct code.
Fixed a function qualifier bug in `TranslatedCall.qll`.
Added a new class to translate `ExprStmt`s whose expr is an `AssignExpr` whose lvalue is an accessor call: we translate only the accessor call in for the translated AST.
2019-08-28 12:25:14 +01:00