Commit Graph

1396 Commits

Author SHA1 Message Date
Ian Lynagh
33fe5abf94 Kotlin: Remove references to legacy ODASA_SNAPSHOT env var 2024-03-21 13:29:40 +00:00
Ian Lynagh
245ce2208e Kotlin: Update to 2.0.0-Beta4 2024-02-22 12:33:00 +00:00
Ian Lynagh
48ea94ba23 Kotlin: Handle PsiSourceManager moving 2024-02-14 11:55:54 +00:00
Ian Lynagh
1b40b595fa Kotlin: Handle forAllMethodsWithBody being removed
Per:
    commit 28797a31b4d9b7f5c99d162ab19fc6b46f8e529d
    Author: Alexander Udalov <alexander.udalov@jetbrains.com>
    Date:   Thu Feb 1 13:22:48 2024 +0100

    JVM: refactor JvmDefaultMode, remove/rename some entries

    [...]
    - remove forAllMethodsWithBody because its behavior is now equivalent to
      isEnabled
    [...]
2024-02-14 11:55:54 +00:00
Ian Lynagh
68f267798e Kotlin: Add support for path transformers 2024-02-01 18:07:47 +00:00
Ian Lynagh
79d9109850 Merge pull request #15428 from igfoo/igfoo/catch_illegal_arg
Kotlin: Catch/ignore a IllegalArgumentException exception
2024-01-29 11:27:38 +00:00
Ian Lynagh
76e417c23e Merge pull request #14940 from igfoo/igfoo/comments
Kotlin 2: Comment improvements
2024-01-29 11:27:19 +00:00
Ian Lynagh
c0a9c11101 Kotlin: Catch/ignore a IllegalArgumentException exception
This works around
    https://youtrack.jetbrains.com/issue/KT-63847/K2-IllegalStateException-IrFieldPublicSymbolImpl-for-java.time-Clock.OffsetClock.offset0-is-already-bound
2024-01-25 16:04:08 +00:00
Ian Lynagh
60a59cb89e Kotlin: Update 2.0.0 version support 2024-01-19 17:52:38 +00:00
Ian Lynagh
d40814d48a Kotlin: Add 2.0.0 beta 3 and remove beta 1 2024-01-19 13:36:55 +00:00
Ian Lynagh
5d3166cfef Kotlin: Tweak code formatting 2024-01-10 16:39:49 +00:00
Ian Lynagh
80163c5aac Kotlin 2: Just accept the remaining comment differences for now 2024-01-10 16:39:47 +00:00
Ian Lynagh
b3f8167973 Kotlin: Don't warn if we can't find a label for a fake owner
The fake owner probably just wasn't extracted
2024-01-10 16:39:02 +00:00
Ian Lynagh
bf611feab3 Kotlin: Reformat code
Using:
    java -jar ktfmt-0.46-jar-with-dependencies.jar --kotlinlang-style java/kotlin-extractor/**/*.kt
2024-01-09 15:33:41 +00:00
Ian Lynagh
95f336c05b Merge pull request #14393 from igfoo/igfoo/no1.4
Kotlin: Remove 1.4 compatibility
2024-01-09 12:20:15 +00:00
Ian Lynagh
02734be287 Kotlin: Fix building with 2.0.255 snapshots
A couple of extension functions were moved
2024-01-08 13:25:25 +00:00
Ian Lynagh
9bc0167566 Kotlin: Add a 2.0.255 snapshot
The current master isn't compatible with the 2.0.0-Beta1
2024-01-08 13:25:25 +00:00
Ian Lynagh
69cfc79561 Kotlin: Add LighterAST support to numlines extraction 2023-11-23 12:02:27 +00:00
Ian Lynagh
1998e29639 Kotlin 2: isFake is currently broken, so assume not fake for now
We'll want to find a Kotlin-2-compatible replacement for this.
2023-11-21 14:37:53 +00:00
Ian Lynagh
6bd269502f Kotlin: Pull out a tryIsHiddenToOvercomeSignatureClash method 2023-11-21 14:36:10 +00:00
Ian Lynagh
95de7495d1 Kotlin: Fix build with 2.0.0-Beta1 2023-11-20 16:08:02 +00:00
Ian Lynagh
72bafd86df Kotlin: Tweak the regex we use to find the installed Kotlin version 2023-11-20 16:08:02 +00:00
Ian Lynagh
452b68c0ca Kotlin: Add 2.0.0-Beta1 to versions 2023-11-20 16:08:02 +00:00
Ian Lynagh
5c36e63dfe Kotlin: Fix findTopLevelFunctionOrWarn for Kotlin 2
The AST when the parent class is a file class is different in
Kotlin 2 mode.
2023-11-17 15:25:53 +00:00
Ian Lynagh
e9800d11b6 Kotlin: Build: Refactor version handling
We now have a proper class to represent versions, rather than using
tuples. The version is passed deeper down, so we can now have
version-dependent compilation flags.
2023-11-16 14:25:41 +00:00
Ian Lynagh
b841d5f923 Merge pull request #14622 from igfoo/igfoo/JavaBinarySourceElement
Kotlin: Add support for JavaBinarySourceElement sources
2023-10-31 10:33:48 +00:00
Ian Lynagh
e2ef0dc71d Merge pull request #14621 from igfoo/igfoo/getFileClassFqName_IrField
Kotlin: Fix getFileClassFqName for IrField
2023-10-30 13:54:08 +00:00
Ian Lynagh
d46442245b Merge pull request #14518 from igfoo/igfoo/trap_files
Kotlin: Log when we start and finish writing to TRAP files
2023-10-30 13:53:04 +00:00
Ian Lynagh
55df481e5c Kotlin: Add support for JavaBinarySourceElement sources 2023-10-30 11:43:36 +00:00
Ian Lynagh
e25c0498d4 Kotlin: Fix getFileClassFqName for IrField 2023-10-27 18:00:33 +01:00
Ian Lynagh
ab891465a4 Kotlin: Don't convert back and forth between ClassId and FqName
This showed up as a bug in Kotlin 2 mode:

We were starting with the Class Id "java/util/Map.Entry", which we then
converted to the FqName "java.util.Map.Entry", and then back to a
Class Id with ClassId.topLevel. This gave us a Class Id that
referenceClass wasn't able to resolve.

Now we just stick with the Class Id that we started with, and the class
can be resolved by Kotlin 2.
2023-10-17 17:01:53 +01:00
Ian Lynagh
0a0ce1f202 Kotlin: Log when we start and finish writing to TRAP files 2023-10-16 16:14:23 +01:00
Ian Lynagh
adb47399c7 Kotlin: Improve support for TRAP compression options
While you could control compression with
    CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION
before, most TRAP files used gzip regardless for compatibility with the
Java extractor. Now Java understands the option too we can use it for
shared TRAP files.
2023-10-12 18:13:06 +01:00
Ian Lynagh
d34b85cf03 Kotlin: Remove 1.4 compatibility
We now only build with >= 1.5
2023-10-06 15:17:32 +01:00
Ian Lynagh
e124a70380 Merge pull request #14378 from igfoo/igfoo/compr
Kotlin: Some compression simplification
2023-10-05 13:16:00 +01:00
Ian Lynagh
4d3863461e Kotlin: Determine our compression method later
This way, we already have a logger at the point that we want to log a
warning.
2023-10-04 18:32:12 +01:00
Ian Lynagh
cc63bb55c2 Kotlin: Change how we handle not supporting Brotli
This removes the potential for impossible cases.
2023-10-04 18:32:11 +01:00
Ian Lynagh
ec3f08037c Kotlin: Remove some unused code 2023-10-04 11:15:47 +01:00
Ian Lynagh
513a39f0b4 Kotlin: Specify language versino when compiling for old compilers
Otherwise builds with Kotlin 2 won't work with older compilers.
2023-10-02 18:14:01 +01:00
Ian Lynagh
f3c5c01ec5 Kotlin: Drop support for 1.4.32
We never claimed to support anything < 1.5.0, and compiling with
-language-version 1.4 fails as it's not meant to support sealed classes.

If we build 1.4.32 with -language-version 1.5 using a 2.0 compiler,
then the resulting plugin also fails.
2023-10-02 17:29:10 +01:00
Ian Lynagh
30d7f0cf0a Merge pull request #14334 from igfoo/igfoo/ext-frag
Kotlin: Handle IrExternalPackageFragment properly for more external entities
2023-09-28 20:01:52 +01:00
Ian Lynagh
e9482fb096 Kotlin: Differentiate 2 error messages 2023-09-28 14:59:21 +01:00
Ian Lynagh
5db283e86a Kotlin: Fix comment 2023-09-28 14:26:02 +01:00
Ian Lynagh
261ae4ea4d Kotlin: Handle IrExternalPackageFragment properly for more external entities 2023-09-28 12:12:18 +01:00
Ian Lynagh
497d48bd63 Kotlin: Claim to support Kotlin 2
We don't fully support it yet, but if we don't claim to support it then
Kotlin fails early.
2023-09-26 17:24:11 +01:00
Ian Lynagh
56b9fa8e9c Kotlin: Avoid using a possibly-throwing method 2023-09-22 18:15:28 +01:00
Ian Lynagh
52d924924b Kotlin: Extract LighterAST comments as well as PSI comments 2023-09-14 14:24:52 +01:00
Ian Lynagh
4908188060 Kotlin: Add 1.9.20 support 2023-09-12 18:28:33 +01:00
Ian Lynagh
4d1ceff7df Kotlin: Fix build 2023-09-12 18:28:33 +01:00
Ian Lynagh
5ea4c44701 Kotlin: Give some more informative errors messages 2023-09-05 12:33:49 +01:00