Tamas Vajk
115a216ea9
C#: Format nested ternary operators
2020-10-13 13:27:46 +02:00
Tamas Vajk
c38bf5ee5b
C#: Reduce nesting and fix some formatting
2020-10-13 13:27:46 +02:00
Tamas Vajk
e208f3d21d
C#: Simplify null checks with pattern matching, ??, and ?:
2020-10-13 13:27:46 +02:00
Tamas Vajk
b793af571e
C#: Remove unnecessary usings
2020-10-13 13:27:45 +02:00
Tamas Vajk
48bf6d55aa
C#: Add implicit cast from array to pointer
2020-09-23 17:21:38 +02:00
Tamas Vajk
5f96c37b28
C#: Fix switch case expression types
2020-09-22 13:16:31 +02:00
Calum Grant
93e0bd9d85
Merge pull request #4126 from tamasvajk/feature/array-index
...
C#: Fix computed sizes for implicitly sized array creation
2020-08-28 11:21:39 +01:00
Tamás Vajk
9ef827641f
C#: Add .editorconfig file ( #4129 )
2020-08-26 12:41:00 +02:00
Tamas Vajk
7516825b5f
C#: Fix computed sizes for implicitly sized array creation
2020-08-24 16:14:00 +02:00
Tamas Vajk
0cf4c99986
C#: Change compiler generated flag for length arguments of implicitly sized arrays
2020-08-18 12:06:01 +02:00
Tom Hvitved
652de80fa5
C#: Enable syntax highlighting in QLDoc snippets
2020-06-23 16:56:56 +02:00
Tom Hvitved
011a95dcfa
C#: Fix extracted type for nested object initializers
2020-05-20 14:20:41 +02:00
Calum Grant
84bce9f742
C#: Extract indexed initializers correctly.
2020-05-15 12:50:53 +01:00
Calum Grant
87970337ae
C#: Improvements to buildless extraction, particularly for .NET Core.
2020-03-25 15:27:48 +00:00
Tom Hvitved
bbf082b285
C#: Extract stackalloc information
2020-02-10 20:32:52 +01:00
Calum Grant
fb6da0b701
C#: Remove condition around initializer.
2020-02-10 16:17:12 +00:00
Calum Grant
5fef77bf44
C#: Handle expressions of typeImplicitStackAllocArrayCreationExpressionSyntax
2020-02-10 11:30:12 +00:00
Calum Grant
bcd8dca780
C#: When creating conditionally accessed expressions, use the typeinfo from the conditional expression to ensure correct flow state and type nullability.
2020-01-07 18:39:51 +00:00
Calum Grant
6c9ebaba0b
C#: Populate expression type nullability and nullable flow state.
2020-01-07 18:38:58 +00:00
Calum Grant
e83b159bf8
C#: Handle TupleType expression.
2019-12-23 15:18:21 +00:00
Tom Hvitved
25265bddc7
Merge pull request #2494 from calumgrant/cs/roslyn-3.4
...
C#: Upgrade Roslyn to 3.4
2019-12-09 12:21:30 +01:00
Calum Grant
5f6527a183
C#: Compare symbols using SymbolEqualityComparer.
2019-12-06 12:41:20 +00:00
Tom Hvitved
3e93aa9787
C#: Address review comments
...
- Undo split of `localvars` relation.
- Properly extract tuple declarations in `is` expressions.
2019-12-05 22:31:38 +00:00
Tom Hvitved
b79fc87961
C#: Split up localvars database relation into two relations
2019-11-28 14:30:21 +01:00
Tom Hvitved
4f2ca11d2c
C#: Suppress cs/similar-file alerts
2019-09-30 19:26:02 +02:00
Calum Grant
8eeded5982
C#: Handle nameof(A.B) where A.B is a nested namespace.
2019-09-16 15:12:10 +01:00
Calum Grant
fe7e90e25a
C#: Remove the tuples from the C# extractor.
2019-08-30 10:11:00 +01:00
Calum Grant
486c192dda
C#: Refactoring expression and statement population.
2019-08-30 10:11:00 +01:00
Calum Grant
bd1b0018b0
C#: Rename some methods.
2019-08-30 10:00:06 +01:00
Calum Grant
8aeeec01ff
C#: Add namespace_access_expr because of nameof(Namespace)
2019-08-29 18:11:00 +01:00
Calum Grant
620ecc8128
C#: Address review comments part 1.
2019-06-26 20:24:56 +01:00
Calum Grant
4aa1947a23
C#: Implement type annotations for nullability, parameter kinds and method returns.
2019-06-26 20:24:55 +01:00
Calum Grant
d48ce859eb
C#: Implement nullable warning suppression expressions.
2019-06-11 12:12:29 +01:00
Calum Grant
ac3a06f77b
C#: Implement null coalescing assignment operator
2019-06-04 18:10:49 +01:00
Tom Hvitved
2d0554a7ee
C#: Address review comments
2019-06-03 16:00:22 +02:00
Tom Hvitved
25cb01ffea
C#: Handle discard variable declarations in switch expressions
2019-06-03 15:50:41 +02:00
Tom Hvitved
8c1cab2d03
C#: Simplify extraction of is expressions and case statements
2019-06-03 15:50:41 +02:00
Calum Grant
d2aea635e4
C#: Address review comments
2019-05-24 13:49:05 +01:00
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
Calum Grant
21203cdf0d
C#: Minor code tidy.
2019-05-24 13:49:05 +01:00
Calum Grant
aecc9e2a57
C#: Fix LGTM warnings
2019-05-24 13:49:05 +01:00
calum
1428d0ba93
C#: Implement recursive patterns
2019-05-24 13:49:05 +01:00
calum
318068b52f
C#: Implement range operator
2019-05-24 13:49:04 +01:00
calum
343cddcbb7
C#: Refactor extractor errors and log extractor errors to the database.
2019-05-13 09:18:52 +01:00
calum
c28fa7ed3f
C#: Handle VarPatternSyntax class introduced by Roslyn 3.0.0
2019-05-07 18:01:37 +01:00
calumgrant
f50d0e373a
Merge pull request #642 from hvitved/csharp/extractor/nullness-refactorings
...
C#: nullness related extractor refactorings
2018-12-17 14:16:51 +00:00
calum
9fba643fb0
C#: Address review comments.
2018-12-13 13:53:58 +00:00
calum
2bbd55519b
C#: Add tests for C# 7.3 features.
2018-12-12 16:44:55 +00:00
calum
1df1b0c28e
C#: Refactor ArrayCreations to allow stackalloc arrays to have initializers (C# 7.3).
2018-12-12 11:05:34 +00:00
Tom Hvitved
e80837681f
C#: Refactor LINQ logic
...
Factor `ClauseCall` out into three classes to make it clear when the fields
`operand` and `declaration` can be `null`.
2018-12-11 16:04:25 +01:00