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
AndreiDiaconu1
1acabc7d87
Jump statements
...
Broke down the class `TranslatedJump` to have more control on the IR control flow.
Now GotoLabelStmt, GotoCaseStmt, GotoDefaultStmt and BreakStmt are translated separately.
This also fixes an issue when having a switch as the last statement of a void function would create an incorrect CFG.
2019-08-28 12:25:13 +01:00
AndreiDiaconu1
2724075dec
Added stmts
...
Added support for `ForStmt` and `DoWhileStmt`
Added test cases
2019-08-28 12:25:13 +01:00
AndreiDiaconu1
b6287b904c
Preliminary refactoring
...
Some preliminary refactoring of the TranslatedDeclaration.qll file
2019-08-28 12:25:13 +01:00