Ian Lynagh
509860b7cf
Kotlin: Add a file_classes consistency query
2022-05-10 19:51:09 +01:00
Ian Lynagh
33757a1266
Kotlin: Extract whether a class is a "file" class
2022-05-10 19:51:09 +01:00
Tamas Vajk
fd27243ec6
Add todo comment regarding class declaration stmt
2022-05-10 19:51:09 +01:00
Tamas Vajk
c446b0ecaf
Move anonymous class and local function label generation to KotlinUsesExtractor
2022-05-10 19:51:09 +01:00
Tamas Vajk
2f06c9c03f
Fix spacing
2022-05-10 19:51:08 +01:00
Tamas Vajk
05f22576d1
Fix extraction state resetting
2022-05-10 19:51:08 +01:00
Tamas Vajk
ebf91b79a9
Revert moving extraction to SourceFileExtractor
2022-05-10 19:51:08 +01:00
Tamas Vajk
01f46555b0
Fix disappearing variable labels
2022-05-10 19:51:08 +01:00
Tamas Vajk
27f58f2929
Improve code quality
2022-05-10 19:51:08 +01:00
Tamas Vajk
16ba27c476
Extract local functions
2022-05-10 19:51:08 +01:00
Ian Lynagh
9c4c559ab2
Kotlin: Add some TODO comments
2022-05-10 19:51:08 +01:00
Ian Lynagh
5bc1bdb5a3
Kotlin: Refactor PrimitiveTypeInfo
...
Avoids mentioning the name of IdSignature.PublicSignature, which used to
be IdSignature.CommonSignature, giving us compatibility issues.
2022-05-10 19:51:08 +01:00
Ian Lynagh
d977500047
Kotlin: Make it easier to diagnose build failures
2022-05-10 19:51:08 +01:00
Ian Lynagh
c525d2a633
Kotlin: Consistently use addClassLabel, and have it handle external classes
2022-05-10 19:51:08 +01:00
Tamas Vajk
161463ecae
Fix catch clause location
2022-05-10 19:51:08 +01:00
Ian Lynagh
de137415b8
Kotlin: Use an IrClass for the Java class in the priomitive type handling
...
This means we can add a label for it, and indicate that we use it,
properly.
2022-05-10 19:51:08 +01:00
Chris Smowton
7fa4da8b0c
Add explanatory comments
2022-05-10 19:51:08 +01:00
Chris Smowton
8accd35ce8
Substitute in generic type arguments when extracting the supertypes of an instantiated type
2022-05-10 19:51:08 +01:00
Ian Lynagh
2dcd49c6a5
Kotlin: Build the appropriate single version, rather than always 1.5
2022-05-10 19:51:08 +01:00
Tamas Vajk
abc0da3e60
Extract extension method receivers as parameters
2022-05-10 19:51:08 +01:00
Tamás Vajk
04daa7f28f
Revert "Kotlin: Fix extraction of dispatch and extension receivers"
2022-05-10 19:51:08 +01:00
Tamas Vajk
a4275865da
Fix location of variable access in LHS of assignment
2022-05-10 19:51:07 +01:00
Ian Lynagh
0b3754c932
Kotlin: Fix handling Unit in various places
2022-05-10 19:51:07 +01:00
Ian Lynagh
ec827d2f0a
Kotlin: Add ability to give more type contexts
2022-05-10 19:51:07 +01:00
Ian Lynagh
75e22da096
Kotlin: Fix extraction of dispatch and extension receivers
...
It is possible for a call to have both, e.g. the `arg.ext()` call in:
class Class1 {
val y = 4
}
class Class2 (val arg:Class1) {
val x = 3
fun someFun() {
arg.ext();
}
fun Class1.ext() {
val z = x + y
}
}
2022-05-10 19:51:07 +01:00
Ian Lynagh
6a16588484
Kotlin: Allow comments on enum entries
2022-05-10 19:51:07 +01:00
Ian Lynagh
03199091cd
Kotlin: Add SAFE_CAST support
2022-05-10 19:51:07 +01:00
Tamas Vajk
874afa7fd7
Fix missing extension receiver extraction
2022-05-10 19:51:06 +01:00
Tamas Vajk
23c5caadc8
Fix String?.plus extraction
2022-05-10 19:51:06 +01:00
Tamas Vajk
ea4e919af5
Extract missing functions directly in kotlin package
2022-05-10 19:51:06 +01:00
Tamas Vajk
6246b2142c
Add enclosing stmt to arrayOf extraction
2022-05-10 19:51:06 +01:00
Tamas Vajk
8de5e39309
Extract arrayOf-like calls
2022-05-10 19:51:06 +01:00
Chris Smowton
64e1367e59
Make standard library locations consistent between Java and Kotlin
2022-05-10 19:51:06 +01:00
Ian Lynagh
5c2ce95b1a
Kotlin: Populate statementEnclosingExpr
2022-05-10 19:51:06 +01:00
Ian Lynagh
2b973fa3b1
Kotlin: Add support for IrSyntheticBody
...
I'm not sure it's worth adding an entity to the database for them,
although that would allow us to use a 'case' in the dbscheme for
the different kinds.
There's no QLL support for this info yet.
2022-05-10 19:51:06 +01:00
Tamas Vajk
4ca024f043
Fix try statement extraction
2022-05-10 19:51:06 +01:00
Tamas Vajk
716b87d200
Extract not-null expression
2022-05-10 19:51:06 +01:00
Ian Lynagh
6603767d94
Kotlin: Clarify !/ paths
2022-05-10 19:51:06 +01:00
Ian Lynagh
f40ab39447
Kotlin: Small fixes and a little more documentation for TrapWriter
2022-05-10 19:51:06 +01:00
Ian Lynagh
d1fefe0246
Kotlin: Refactor TrapWriters
...
Now ClassFileTrapWriter is just FileTrapWriter, which no longer takes a
nullable IrFileEntry.
SourceFileTrapWriter still extends FileTrapWriter, and adds the
IrFileEntry, allowing it to override the location functions with more
useful variants.
populateFileTables no longer has a default. I think that for the sake
of a handful of calls, it's simpler to be explicit so we aren't
confused.
2022-05-10 19:51:05 +01:00
Ian Lynagh
1990b68c21
Kotlin: Return more precise types from PopulateFile.java
2022-05-10 19:51:05 +01:00
Ian Lynagh
83ac77dccc
Kotlin: Start documenting TrapWriter
2022-05-10 19:51:05 +01:00
Tamas Vajk
afabe652c1
Add anonymous class declaration stmt
2022-05-10 19:51:05 +01:00
Ian Lynagh
37d6bc29dc
Kotlin: Fix Byte tests
2022-05-10 19:51:05 +01:00
Ian Lynagh
1eda692ec8
Kotlin: Import org.jetbrains.kotlin.ir.util.* in KotlinFileExtractor
...
This makes dump() available
2022-05-10 19:51:05 +01:00
Ian Lynagh
2d8a2abe5c
Kotlin: Recognise more numeric types
2022-05-10 19:51:05 +01:00
Ian Lynagh
1b40f78b9c
Kotlin: Recognise + etc for Double
2022-05-10 19:51:05 +01:00
Tamas Vajk
ae86fcb499
Split main extractor file
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