Anders Schack-Mulligen
4a97a449fc
Java: Replace ControlFlowNode.asCall with Call.getControlFlowNode.
2026-02-23 15:09:49 +01:00
Anders Schack-Mulligen
2e987343dd
Java: Preparatory tweaks.
2026-02-23 15:09:48 +01:00
Anders Schack-Mulligen
5116b0c1e5
Java: Add delayed deprecation annotation.
2026-02-10 14:02:48 +01:00
Anders Schack-Mulligen
11003e685d
Java: Fix qldoc
2026-02-05 10:37:19 +01:00
Anders Schack-Mulligen
32fe12a6dd
Java: Delay deprecation a bit.
2026-02-05 08:51:27 +01:00
Anders Schack-Mulligen
4fcf3fbff8
Java: Make loop classes extend LoopStmt and use getBody instead of getStmt.
2026-02-04 14:43:31 +01:00
Anders Schack-Mulligen
6f40ac15b4
Java: Rename ReturnStmt.getResult to getExpr.
2026-02-04 14:43:31 +01:00
Anders Schack-Mulligen
5e6e64b2b7
Java: Rename UnaryExpr.getExpr to getOperand.
2026-02-04 10:50:49 +01:00
Michael Nebel
77113b2e42
Java: Fix some Ql4Ql violations.
2025-09-01 15:04:08 +02:00
Kasper Svendsen
64f27e2adf
Java: Add abstraction for discardable locatables
2025-06-26 11:35:37 +02:00
Kasper Svendsen
6e92d7e247
Java: Add entity discard predicates
2025-06-24 10:38:06 +02:00
Kasper Svendsen
c207cfdeb7
Overlay: Add overlay annotations to Java & shared libraries
2025-06-24 10:25:06 +02:00
Owen Mansel-Chan
0f3dd6d8f1
Java: IPA the CFG
2024-12-10 15:26:11 +00:00
Chris Smowton
dcebcc35b6
Rename getPatternAtIndex
2024-03-25 16:36:38 +00:00
Chris Smowton
a4401963f5
Use getAPattern
2024-03-25 16:31:39 +00:00
Chris Smowton
ee36e3b72b
autoformat
2024-03-25 16:31:38 +00:00
Chris Smowton
c7cb885e71
Add missing javadoc and getUniquePattern predicate
2024-03-25 16:31:36 +00:00
Chris Smowton
f44becea7f
Implement multiple pattern case and fall-through pattern case support
2024-03-25 16:31:36 +00:00
Chris Smowton
94819e37c4
More StmtParent -> SwitchBlock
2023-11-30 11:24:07 +00:00
Chris Smowton
633b92da62
Introduce and use SwitchBlock instead of StmtParent for switch-statement-or-expression
2023-11-30 11:24:07 +00:00
Chris Smowton
561f06a4bd
Remove unused predicate
2023-11-30 11:24:06 +00:00
Chris Smowton
beb827b1d0
Remove unused predicate
2023-11-30 11:24:06 +00:00
Chris Smowton
1047a89613
Improve complexity class of getASuccessorSwitchCase
2023-11-30 11:24:06 +00:00
Chris Smowton
07d2ce7a41
Change pretty-printing of PatternCase
2023-11-30 11:24:05 +00:00
Chris Smowton
5511955b60
Simplify getCaseIndex
2023-11-30 11:24:05 +00:00
Chris Smowton
c1814408f0
Fix guard basic block for switch cases
2023-11-30 11:24:04 +00:00
Chris Smowton
6e868d21bd
Make DefaultCase include NullDefaultCase
2023-11-30 11:24:03 +00:00
Chris Smowton
d2ff1baff0
Replace getDefaultOrNullDefaultCase with getDefaultCase
2023-11-30 11:24:03 +00:00
Chris Smowton
176adf4376
Move PatternExpr to correct file
2023-11-30 11:24:02 +00:00
Chris Smowton
de2b98f4a1
Fix hasNullCase
2023-11-30 11:24:02 +00:00
Chris Smowton
2a6e86633d
Improve qldoc
2023-11-30 11:24:01 +00:00
Chris Smowton
11444a3ae7
Rename Pattern to PatternExpr to avoid clashing with Regex::Pattern
2023-11-30 11:24:01 +00:00
Chris Smowton
ded8deceaa
Add missing qldoc
2023-11-30 11:24:01 +00:00
Chris Smowton
05addde957
Adapt control-flow graph to record patterns
2023-11-30 11:24:00 +00:00
Chris Smowton
556feb31f0
Autoformat
2023-11-30 11:24:00 +00:00
Chris Smowton
daccd04087
Basic extraction of record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
54a89d6fef
Handle 'case null, default:'
2023-11-30 11:23:59 +00:00
Chris Smowton
ba0f3cf718
Add basic support for case guards
2023-11-30 11:23:59 +00:00
Chris Smowton
6b9aed21df
Nullness library: recognise switches with null checks
2023-11-30 11:23:58 +00:00
Chris Smowton
30c5885966
Fix constant cases relating to enum types
2023-11-30 11:23:58 +00:00
Chris Smowton
6c990c2cf6
Add pattern-case support and generally debug switch CFGs
...
These were reasonably broken beforehand, due to not taking switch rules into account in enough places, and confusing the expression/statement switch rule distinction with the distinction between switch statements and expressions.
(For example, `switch(x) { 1 -> System.out.println("Hello world") ... }` is a statement, but has a rule expression).
2023-11-30 11:23:58 +00:00
Chris Smowton
f4b45fa511
Support switch cases with binding patterns
2023-11-30 11:23:58 +00:00
erik-krogh
a4e5d752e1
Java: delete old deprecations
2022-11-17 22:12:50 +01:00
Ian Lynagh
501a9b3c6b
Make *.qll non-executable
2022-08-24 16:36:15 +01:00
Tamas Vajk
dabc956dbf
Unify loop break/continue statement handling between java and kotlin
2022-06-23 08:45:11 +02:00
Tamas Vajk
a50e062b3c
Kotlin: Fix enclosing statement of when branches
2022-06-22 09:10:27 +02:00
Ian Lynagh
86bf126ed8
Kotlin: Pull Kotlin type for expressions out into its own table
2022-05-10 19:51:15 +01:00
Tamas Vajk
fa5c3f9159
Remove and replace @anonymousclassdeclstmt with @localtypedeclstmt
2022-05-10 19:51:10 +01:00
Tamas Vajk
afabe652c1
Add anonymous class declaration stmt
2022-05-10 19:51:05 +01:00
Ian Lynagh
cd41d5b9cf
Kotlin: Add KotlinType to exprs
2022-05-10 18:46:01 +01:00