Tamas Vajk
8ebdaf1fc2
Kotlin: Fix parent class lookup from field initializers
2022-05-16 12:14:28 +02:00
Tamas Vajk
de133e80a9
Kotlin: add diagnostic test for 'Unexpected specialised instance of generic anonymous class'
2022-05-16 12:13:33 +02:00
Tamas Vajk
b0ee557a51
Fix expected test files
2022-05-12 22:37:06 +01:00
Tamas Vajk
857a74cf14
Adjust class label generation to handle classes in field initializers
2022-05-12 22:37:06 +01:00
Tamas Vajk
394ec56d9d
Add test case for local class declaration in field initializer
2022-05-12 22:37:06 +01:00
Tamas Vajk
4efb87a7dd
Extract enum entry initializers
2022-05-10 19:51:30 +01:00
Tamas Vajk
c6a75957e9
Fix expected files, fix type access extraction of file level static declarations
2022-05-10 19:51:29 +01:00
Chris Smowton
11fed0b4f8
Adjust test expectations
2022-05-10 19:51:29 +01:00
Tamas Vajk
613d81d231
Extract static modifier and missing type access qualifier for static calls
2022-05-10 19:51:26 +01:00
Tamas Vajk
3813e6fc10
Fix expected files
2022-05-10 19:51:26 +01:00
Tamas Vajk
49bf53da5d
Make extracted file class public and final
2022-05-10 19:51:25 +01:00
Ian Lynagh
77fec17a36
Kotlin: Autoformat QL
2022-05-10 19:51:25 +01:00
Tony Torralba
f8ad93a530
Add test case for local variable in anonymous init
...
Also fix another instance of the same issue in extractLocalTypeDeclStmt
2022-05-10 19:51:25 +01:00
Tony Torralba
1926bef050
Don't extract static init when the class already contains an anonymous init
2022-05-10 19:51:25 +01:00
Tony Torralba
1f812f856c
Extract static initializers of inner classes
2022-05-10 19:51:25 +01:00
Chris Smowton
61b0efb401
Add test case
2022-05-10 19:51:24 +01:00
Chris Smowton
96908d153d
Accept and amend check for anonymous types with type parameters
2022-05-10 19:51:24 +01:00
Chris Smowton
c0f3988aaa
Tolerate nullable references to anonymous classes
...
This also adds a test case illustrating when this can arise
2022-05-10 19:51:24 +01:00
Chris Smowton
2ea1a6c1f0
Adjust test expectations
...
These all just refer to re-adding empty blocks for classes whose constructors have no initializer statements for simplicity's sake.
2022-05-10 19:51:24 +01:00
Tony Torralba
64531dd717
Fix AST representation of WhenExpr and WhenBranch
2022-05-10 19:51:22 +01:00
Tamas Vajk
2d0bb43efe
Do not extract local function containers as anonymous classes
2022-05-10 19:51:22 +01:00
Tamas Vajk
a70ade224f
Fix (generic) type access extraction for lambdas
2022-05-10 19:51:21 +01:00
Tamas Vajk
4e18974889
Fix type access expression extraction for function/property references
2022-05-10 19:51:20 +01:00
Chris Smowton
f513fdce7b
Accept test changes
2022-05-10 19:51:20 +01:00
Chris Smowton
37543e7a86
Switch to expanding property initializers and init blocks in-place
...
Pros:
* <obinit> no longer emitted: one less function per class
* Parameters to the primary constructor, if any, are no longer referred to out of scope
* Simple primary constructor `val` and `var` declarations work as expected
Cons:
* If there are multiple secondary constructors, no primary constructor and long init blocks, there could be considerable duplicate extraction of those init blocks. Hopefully this case is very rare.
2022-05-10 19:51:20 +01:00
Tamas Vajk
d9c72b1c04
Fix changed expected file
2022-05-10 19:51:18 +01:00
Tamas Vajk
4adf5829e4
Fix expected files
2022-05-10 19:51:16 +01:00
Ian Lynagh
579c590ea6
Kotlin: Accept test changes following "casting" operator changes
2022-05-10 19:51:13 +01:00
Tamas Vajk
b6e5e1977d
Extract more visibility modifiers
2022-05-10 19:51:13 +01:00
Ian Lynagh
368c330ecf
Kotlin: Accept test changes following file-class fixes
2022-05-10 19:51:12 +01:00
Tamas Vajk
aa0ddeb29a
Fix external type locations in tests
2022-05-10 19:51:12 +01:00
Tamas Vajk
afd71a00d0
Fix extraction of function references without dispatch receiver
2022-05-10 19:51:12 +01:00
Tamas Vajk
ef2795c88b
Add ktLocalFunction relation and tests for local and anonymous classes
2022-05-10 19:51:11 +01:00
Tamas Vajk
e0bf7d8246
Extract local class declarations
2022-05-10 19:51:11 +01:00
Tamas Vajk
73cd497427
Add todo comment to move property from parameter initialization to constructor
2022-05-10 19:51:11 +01:00
Chris Smowton
ef9a213ae1
Cleanup: use extractTypeAccess wherever possible
2022-05-10 19:51:11 +01:00
Ian Lynagh
5342b13cb6
Kotlin: Add class modifiers
2022-05-10 19:51:11 +01:00
Tamas Vajk
fa5c3f9159
Remove and replace @anonymousclassdeclstmt with @localtypedeclstmt
2022-05-10 19:51:10 +01:00
Chris Smowton
7d62f1d2de
Update test expectations
2022-05-10 19:51:08 +01:00
Ian Lynagh
547b60d68f
Kotlin: Add paramTypes test
2022-05-10 19:51:06 +01:00
Ian Lynagh
d5b4931b7f
Kotlin: Tweak superTypes test to give better locations
2022-05-10 19:51:06 +01:00
Ian Lynagh
50c2d10777
Kotlin: Improve the supertypes test
...
Note the line
| file://<external>/superChain.kt:2:1:2:60 | SuperChain2<T5,String> | file://<external>/superChain.kt:1:1:1:33 | SuperChain1<T3,String> |
is currently wrong; the supertype of SuperChain2<T5,String> should be
SuperChain1<T5,String>.
2022-05-10 19:51:06 +01:00
Ian Lynagh
c05aa7bb68
Kotlin: Add superChain test
2022-05-10 19:51:06 +01:00
Ian Lynagh
b876ee98e5
Kotlin: Tweak the superTypes test
2022-05-10 19:51:06 +01:00
Tamas Vajk
afabe652c1
Add anonymous class declaration stmt
2022-05-10 19:51:05 +01:00
Tamas Vajk
2dfe50cbaa
Change constructor and type name of anonymous classes to empty string
2022-05-10 19:51:05 +01:00
Tamas Vajk
b7faa33c60
Fix constructor call type access
2022-05-10 19:51:05 +01:00
Tamas Vajk
b7e0828f78
Extract anonymous object creation
2022-05-10 19:51:05 +01:00
Chris Smowton
8f5bbc7bd8
superTypes test: restore location info without full paths
2022-05-10 19:51:03 +01:00
Chris Smowton
bde4534050
Only report locations without a source offset in non-source files
...
Also adjust tests that would otherwise report types with locations outside the source tree (i.e., for the most part in the standard library)
2022-05-10 19:51:03 +01:00