Dmitry Petrov
78be4f302a
JVM prune exception edges in inliner-specific DFA
2022-03-04 06:00:21 +00:00
Ilmir Usmanov
254ada88d1
Minor. Add test with inline class inside inline class's init block
2022-03-04 05:23:23 +03:00
Ilya Kirillov
092550aaee
[Symbol LC] fix invalid caching for FirLightClassBase
...
Previously, value created by FirLightClassesLazyCreator was never recalculated based on dependencies changes
2022-03-03 20:12:56 +03:00
Ilmir Usmanov
f89588011e
Make FunctionalArgumentInterpreter stateless
...
So, we can use fast basic interpreter.
2022-03-03 17:32:16 +03:00
Mikhail Glukhikh
eb42a01926
Inject languageVersionSettings into VarianceChecker
2022-03-03 12:57:05 +00:00
Mikhail Glukhikh
ebed224f82
FE 1.0: use TYPE_VARIANCE_CONFLICT deprecation factory
2022-03-03 12:57:04 +00:00
Mikhail Glukhikh
7781413a93
FE 1.0: report TYPE_VARIANCE_CONFLICT also on qualifier type arguments
...
#KT-51439 Fixed
2022-03-03 12:57:04 +00:00
Dmitry Petrov
fdb01d96f0
JVM_IR JavaSamConversionEqualsHashCode
2022-03-03 09:01:42 +00:00
Jinseong Jeon
870cdfd226
AA: add an API to configure proj env w/o explicit KtFiles
...
We can retrieve source files from compiler configuration.
Then, we can search for corresponding KtFiles for them.
2022-03-02 21:11:54 +01:00
Jinseong Jeon
47b0e66ca1
AA: remove unnecessary source path retrieval/cache
...
Instead, use source module's contentScope
2022-03-02 21:11:54 +01:00
Jinseong Jeon
a68fd25982
AA: relax the assertion about referenced ClassId and qualified access
...
If an import alias is involved, they could be not identical.
Since an import alias ends with a simple identifer, we can simply drop
the first segment of qualified access and try the assertion again.
2022-03-02 20:30:31 +01:00
Ilya Kirillov
7fbfb1bd95
Fix cooperative development setup for kt-master
2022-03-02 13:46:24 +01:00
Dmitry Petrov
8576265108
Enable KotlinFunInterfaceConstructorReference in LV 1.7
2022-03-02 13:12:08 +03:00
Yahor Berdnikau
aca2e46e62
Fix failing kapt test
...
Dependency test is using was not available. Updated it to the latest
stable version.
2022-03-02 11:05:26 +01:00
Ilya Goncharov
8b34be9490
rra/ilgonmic/update-lock-files
...
[Gradle, JS] Update npm versions
[JS] Update package.json's and lock files
Merge-request: KT-MR-5852
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com >
^KT-51503 fixed
2022-03-01 10:24:56 +00:00
Pavel Kunyavskiy
dae24ff6d1
[K/N] Support IrDefinitelyNotNullType in type erasure
2022-03-01 08:03:28 +00:00
Nikolay Krasko
0b4aea4103
Fix exhaustive when error in :ring:compileKotlinNative
2022-03-01 02:28:52 +03:00
Artem Kobzar
ac542d4c01
feat(JS/IR isInterfaceImpl perf): improve isInterfaceImpl performance by memoize an result.
2022-02-28 20:28:10 +00:00
Vyacheslav Gerasimov
f8f1b3fd41
Build: Remove allowUntrustedServer & allowInsecureProtocol
...
#KTI-791
2022-02-28 15:56:31 +03:00
Yahor Berdnikau
cb474f9b43
Remove 'jdkHome' option from Gradle options
...
Toolchain feature is replaced it.
^KT-46541 Fixed
2022-02-28 10:08:50 +00:00
Anton Lakotka
3cc3bf2a6b
[Gradle] JsCompilationDependenciesHolder should not implement HasKotlinDependencies through delegation
...
`HasKotlinDependencies::dependencies` methods is meant to read
``*ConfigurationName` properties in implementations.
Therefore, implementation through delegate isn't possible since
delegate *can't* read overrided properties, instead it sees its own.
^KT-51457 Verification Pending
2022-02-28 09:50:02 +00:00
Anton Lakotka
bf11704a98
[Gradle] Add test for KT-51457
...
^KT-51457 In Progress
2022-02-28 09:50:01 +00:00
Aleksei.Cherepanov
ee756638a0
Fix creation of temp file in case of bad parent dir for Gradle
...
newTmpFile can fail, if you pass non-existent path as temp parent directory or java.io.tmpdir is empty or invalid. Now we try to create non-existent dirs and provide more info if it also fails. Also fix error throwing in JPS part(46c0c4f9 )
#KT-51374 Fixed
2022-02-28 08:50:02 +00:00
Dmitriy Novozhilov
4022918ea2
[FIR2IR] Properly generate arguments for annotation constructors calls in default values of annotation constructors
2022-02-28 11:42:35 +03:00
Dmitriy Novozhilov
18fc2802e5
[FIR] Make FirTypeParameter.containingDeclarationSymbol not null
...
Also fix initializing this property in all places
2022-02-28 11:42:34 +03:00
Dmitriy Novozhilov
35a2a6bcec
[FIR] Store containingDeclarationSymbol for type parameters of substitution overrides
2022-02-28 11:42:33 +03:00
Pavel Kirpichenkov
1e925b5937
[MPP] Allow commonization of platform types in leaf targets
...
Costs little right now and is more robust for potential future uses of
platform types in native libraries or cinterops.
KT-41509
2022-02-28 10:59:44 +03:00
Pavel Kirpichenkov
867390b889
[MPP] Move integer names used by commonizer to its module
...
KT-41509
2022-02-28 10:59:42 +03:00
Pavel Kirpichenkov
91a0af2aa1
[MPP] Provide platform integers support library implicitly in KGP
...
KT-41509
2022-02-28 10:59:40 +03:00
Pavel Kirpichenkov
f257297505
[MPP] Commonize to platform integers considering target's bit width
...
Commonized type should match the platform's `platform.posix.ssize_t`
type alias' width. The implementation hard-codes platform widths for
all the targets, this can be potentially changed to search for ssize_t
in dependencies and get width from its type.
Use real targets in platform int commonization tests.
KT-41509
2022-02-28 10:59:38 +03:00
Pavel Kirpichenkov
8f4d04dad2
[MPP] Add preliminary version of platform integer commonizer
...
Doesn't take target's size_t alias into account just yet
KT-41509
2022-02-28 10:59:36 +03:00
Pavel Kirpichenkov
b8ee473107
[Commonizer] Improve error messages for tests
2022-02-28 10:59:34 +03:00
Dmitriy Novozhilov
324e4bf254
Revert "Build: Remove allowUntrustedServer & allowInsecureProtocol"
...
This revert is temporary and it should be returned after fix of problem
with public TC configurations
2022-02-28 10:56:04 +03:00
Alexander Udalov
157db778fd
Rework support of Iterator.iterator optimization in ForLoopsLowering
...
- Fix the predicate used for finding the member function `next`: check
that there's no extension receiver parameter, don't filter out
abstract functions.
- Do not copy iterator expression, instead change the type in all
references to the iterator variable.
- Fix some style issues.
#KT-47171 Fixed
2022-02-28 01:39:31 +01:00
Xin Wang
1b776bd5b6
JVM_IR: Specialize iterator if possible
...
fixes KT-47171
2022-02-28 01:39:31 +01:00
Roman Golyshev
8bcdc70adc
FIR IDE: Add IDE tests for sample compiler plugin
2022-02-25 23:08:26 +03:00
Roman Golyshev
fed08aaff5
FIR IDE: Consider COMPANION_GENERATION phase in lazy resolve
2022-02-25 23:08:26 +03:00
Roman Golyshev
6e649dd29c
FIR IDE: Add a way to use test compiler plugin in FIR IDE tests
...
Compiler plugins can be enabled
by WITH_FIR_TEST_COMPILER_PLUGIN directive
2022-02-25 23:08:26 +03:00
Roman Golyshev
ffcbc583d0
FIR: Split EnvironmentConfigurator to an interface and abstract class
...
It is needed to make it easier to write wrappers for configurators
2022-02-25 23:08:26 +03:00
Roman Golyshev
1a77643ad0
FIR IDE: Add static implementation of KotlinAnnotationsResolver
2022-02-25 23:08:26 +03:00
Roman Golyshev
f700b87f6c
FIR: Prevent registering compiler plugins twice
2022-02-25 23:08:25 +03:00
Roman Golyshev
62f0487efa
FIR: Set resolve phase to BODY_RESOLVE for the generated declarations
...
In the future it should be checked that plugins can return only
`BODY_RESOLVE`d declarations
2022-02-25 23:08:25 +03:00
Roman Golyshev
765af5f18a
FIR IDE: Register plugins-related session components in IDE session
...
Move registering CLI-specific plugin-related components to
`registerCliCompilerOnlyComponents`
2022-02-25 23:08:25 +03:00
Roman Golyshev
8d9d46dae3
FIR IDE: Lift extensions registration higher in session creation process
...
We want to do that before creating symbol providers
2022-02-25 23:08:25 +03:00
Roman Golyshev
b1b99e1673
FIR IDE: Add the simplest support for PLUGIN KtDeclarationOrigin
2022-02-25 23:08:25 +03:00
Roman Golyshev
6d6a3fbe21
FIR IDE: Consider generated names in KtFirPackageScope
...
If scope doesn't return generated names from `getPossibleCallableNames`,
it's impossible to query them from the scope, since you have to know the
name of callable/classifier to query it
2022-02-25 23:08:25 +03:00
Roman Golyshev
13cc0ddf97
FIR: Implement FirIdePredicateBasedProvider
2022-02-25 23:08:25 +03:00
Roman Golyshev
08b6353431
FIR: Add IDE implementation for FirRegisteredPluginAnnotations
...
It works on `KotlinAnnotationsResolver`, which means that it uses
PSI indices to search for the annotations
2022-02-25 23:08:25 +03:00
Roman Golyshev
76707afc90
FIR: Add KotlinAnnotationsResolver service
2022-02-25 23:08:25 +03:00
Roman Golyshev
029331c23b
FIR: Introduce AbstractFirRegisteredPluginAnnotations
...
It will be needed to implement an alternative implementation of this
service
2022-02-25 23:08:25 +03:00