Mikhail Glukhikh
bb38eaae61
Postpone OptIn release to version 1.7
2021-07-27 14:56:54 +03:00
Alexander Udalov
0a9498f7e2
Build: suppress deprecated JVM target warning globally
...
There seems to be no point in configuring the compiler argument per
project. This argument will be deleted soon anyway, when we remove
support for JDK 1.6 & 1.7.
Also remove `disableDeprecatedJvmTargetWarning`. It didn't have any
effect in all modules where it was applied because these modules
reassign `freeCompilerArgs` anyway, with
`-Xsuppress-deprecated-jvm-target-warning` in it.
2021-07-27 13:35:39 +02:00
Alexander Udalov
91c39ed01c
Build: remove obsolete compiler arguments
...
These compiler arguments enable features which are enabled by default in
the current Kotlin anyway.
The only exception is in :compiler:cli which uses an old language
version.
2021-07-27 13:35:38 +02:00
Steffi Stumpos
707e1c7f8d
[Test] Add service to provide additional classpath to box tests
2021-07-27 14:05:51 +03:00
Igor Yakovlev
02f2f6c148
[FIR IDE] Code review minor changes
2021-07-26 23:08:54 +02:00
Igor Yakovlev
66fa624ab7
[FIR IDE] Fix IDE return type calculators
2021-07-26 23:08:54 +02:00
Igor Yakovlev
e1c8f302a4
[FIR IDE] Make fir resolve phase volatile and remove locks
2021-07-26 23:08:54 +02:00
Igor Yakovlev
78e249c2d5
[FIR IDE] Fix creating fir light classes for NotUnderContentRootModuleInfo module content
2021-07-26 23:08:53 +02:00
Igor Yakovlev
ab2aaec4fe
[FIR IDE] Ensure resolve for status transformer
2021-07-26 23:08:53 +02:00
Igor Yakovlev
6700179ee4
[FIR IDE] Add LibraryModuleSourceInfoBase and filter out light classes for sources from libraries
2021-07-26 23:08:53 +02:00
Igor Yakovlev
a0418c3146
[STUBS] Fix invalid classId calculation for KtObjectLiteralExpression
2021-07-26 23:08:53 +02:00
Igor Yakovlev
6869fbbfe5
[FIR IDE] Insert ensure resolve into checkers and scopes
2021-07-26 23:08:53 +02:00
Igor Yakovlev
2fd6c55fc8
[FIR IDE] Replace FIR phase update to FIR IDE
2021-07-26 23:08:53 +02:00
Ivan Kochurkin
173813f7cf
[FIR] Implement REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
2021-07-26 21:13:25 +03:00
Ivan Kochurkin
bade6cb611
[FIR] Improve TYPE_PARAMETER_AS_REIFIED detecting, implement TYPE_PARAMETER_AS_REIFIED_ARRAY, TYPE_PARAMETER_AS_REIFIED_ARRAY_WARNING
2021-07-26 21:13:25 +03:00
Ivan Kochurkin
2333b1bcf6
[FIR] Implement BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY
2021-07-26 21:13:23 +03:00
Alexander Udalov
0083ef053b
Remove Gradle option annotation for -Xbuiltins-from-sources
...
This is an internal compiler argument for FIR which doesn't seem
valuable enough to be exposed in Gradle, because it'd require to perform
some kind of deprecation if it's changed or removed. It'll still be
possible to use it via `freeCompilerArgs += "-Xbuiltins-from-sources"`.
Note that generated Gradle options are not changed because the generator
was not rerun after adding this compiler argument. (And the test that
checks that the generator was run is failing right now.)
2021-07-26 19:36:53 +02:00
Alexander Udalov
fe18e3fa31
Do not use uninterruptible file channels in FileChannelUtil
...
To avoid illegal access errors from incremental compilation on JDK 16+.
#KT-45689 Fixed
#KT-47152 Fixed
2021-07-26 19:27:09 +02:00
Alexander Udalov
2ca241c82c
Copy FileChannelUtil from intellij-core
...
#KT-45689
#KT-47152
2021-07-26 19:27:09 +02:00
Alexander Udalov
698c0bb2a9
Replace --illegal-access workaround with --add-exports
...
--illegal-access=permit doesn't work since JDK 17.
#KT-47152 Fixed
2021-07-26 19:27:09 +02:00
Nikolay Lunyak
a44048e713
Add withBindThis to field configuration
2021-07-26 16:12:16 +00:00
Alexander Udalov
5526281c54
Minor, refactor diagnostic tests on repeatable annotations
2021-07-26 14:33:32 +02:00
Alexander Udalov
56866e6927
JVM IR: move java.lang.annotation symbols to JvmSymbols.javaAnnotations
...
Since a separate instance of AdditionalClassAnnotationLowering is
created for each source file, symbols for these classes were created as
many times as there were source files in the module.
Also inline some variables in the process and move around some methods.
2021-07-26 14:33:32 +02:00
Alexander Udalov
50f7594d9e
Minor, move RepeatableAnnotationChecker to separate file
2021-07-26 14:33:31 +02:00
Alexander Udalov
104188c035
Render annotation arguments in bytecodeListing tests
2021-07-26 14:33:30 +02:00
Andrey Zinovyev
8a0941a85a
[FIR] Report deprecations in qualified expressions
2021-07-26 14:50:54 +03:00
Mikhail Glukhikh
98bd6f5d3e
Fix "implicit type" exception in FIR OptIn checker
2021-07-26 10:13:13 +03:00
Mikhail Glukhikh
2a6355b64c
FIR: use coneType instead of coneTypeSafe in OptIn checkers
2021-07-23 23:59:01 +03:00
Mikhail Glukhikh
73539cf342
FIR: use symbols as base for OptIn-checkers
2021-07-23 23:59:00 +03:00
Mikhail Glukhikh
cb847b945d
FIR: use getAnnotationByClassId instead of getAnnotationByFqName
2021-07-23 23:58:59 +03:00
Mikhail Glukhikh
7cbea12c8a
FIR: store all annotationContainers in checker context
2021-07-23 23:58:58 +03:00
Mikhail Glukhikh
d020948933
FIR: support EXPERIMENTAL_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION...
2021-07-23 23:58:57 +03:00
Mikhail Glukhikh
543ce06d85
FIR OptIn: temporarily replace error USAGE with warning
...
This commit is required for FP test to pass,
because FP test does not see module -Xopt-in=... flags.
2021-07-23 23:58:56 +03:00
Mikhail Glukhikh
82f268d611
FIR: add EXPERIMENTAL_API_USAGE reporting
2021-07-23 23:58:55 +03:00
Mikhail Glukhikh
3235b09a92
FIR: introduce MutableCheckerContext to save performance
2021-07-23 23:48:19 +03:00
Denis.Zharkov
b547870d71
Use unsigned version of short numbers in ZipImplementation
...
Because some two-byte represented numbers (like amount of files in the zip)
exceed 32767 (but less than 65534)
2021-07-23 21:38:46 +03:00
Denis.Zharkov
ea5157cadc
Change type of KotlinCoreEnvironment::projectEnvironment type
2021-07-23 21:38:45 +03:00
Denis.Zharkov
d6adac8dd0
Move FastJarFileSystem to ProjectEnvironment and link to the root disposable
2021-07-23 21:38:45 +03:00
Denis.Zharkov
3afed7f972
Fallback to CoreJarFileSystem when JDK doesn't support buffers unmapping
2021-07-23 21:38:43 +03:00
Denis.Zharkov
c6525974d0
Move handlers cache from static field to the instance of FastJarFileSystem
2021-07-23 21:38:43 +03:00
Denis.Zharkov
03e5dc6117
Force unmapping MappedByteBuffer
...
Otherwise, on Windows daemon might hold mapped regions for some time
(until those objects are collection) and during the time those file become
locked (it's impossible to modify or remove them)
Reflection/Unsafe of course is not a cool thing to use, but JDK still
(already for 18 years) doesn't have public API for this
See https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4724038
And https://stackoverflow.com/questions/2972986/how-to-unmap-a-file-from-memory-mapped-using-filechannel-in-java
2021-07-23 21:38:42 +03:00
Denis.Zharkov
4e11c670c6
Clear cleanFileAccessorsCache for FastJarFileSystem
2021-07-23 21:38:41 +03:00
Denis.Zharkov
7ca2a83f08
Use native endian mode from MappedByteBuffer
2021-07-23 21:38:40 +03:00
Denis.Zharkov
33cf058b55
Use MappedBuffer for FastJarFileSystem implementation
2021-07-23 21:38:40 +03:00
Denis.Zharkov
8f06e59d3b
Implement new faster version of Jar virtual file system
...
It's only enabled by default in FIR and might be turned on with a CLI flag
The main idea is that default FarFS re-read ZIP file list each time when
class file is requested that is quite slow.
We read it once and them reading bytes from the known offset.
Also, unlike the default version we don't perform attributes check on each access
On the one hand, it works faster on the other it might not notice that one
of the JAR has been changed during compilation process
But looks like it's not supposed to be a frequent even during
compilation of a single module
2021-07-23 21:38:38 +03:00
Dmitriy Novozhilov
559e7d223a
[FIR] Add friends path from Module in CLI compiler
2021-07-23 17:28:42 +03:00
Anton Bannykh
a7549be95e
JS IR IC: report cache validataion duration when up-to-date
2021-07-23 17:10:07 +03:00
Anton Bannykh
4cee44cd6e
JS IR IC: add a flag for DCE hack
...
The deserialized PIR does not support declaration mutation.
Until that's fixed the associatedObject removal optimization
has to be disabled.
2021-07-23 17:10:07 +03:00
Anton Bannykh
508d3bd9c0
JS IR IC: IC data may reference additional original declarations
...
Function types, which are created on the fly from lowerings are one such example.
2021-07-23 17:10:06 +03:00
Anton Bannykh
fa21132704
JS IR IC: fix order storage
...
Some classes don't survive till the end. Their declaration lists
need to be stored nevertheless.
2021-07-23 17:10:06 +03:00