Commit Graph

771 Commits

Author SHA1 Message Date
Ilya Kirillov 3525ddaf12 [analysis api fir] fix resolving of compiled type alias
^KT-50868 fixed
2022-04-19 12:57:28 +00:00
Ilya Kirillov 9a562a0293 [analysis api] optimize search for declarations in IDE 2022-04-19 12:37:49 +02:00
Ilya Kirillov 7420933bff [low level api] remove unused code 2022-04-19 12:37:48 +02:00
Ilya Kirillov 9a18598606 [low level api] rework components structure, add ScopeSession caches 2022-04-19 12:37:47 +02:00
Ivan Kochurkin 3b8183a736 [FIR] Support of importing optional annotation classes (JS/Native), ^KT-51757 Fixed 2022-04-18 15:36:21 +00:00
Ivan Kochurkin 541fba1531 [FIR] Type argument instead of unexpected type parameter for TypeMismatch error
^KT-49035
^KT-51201 Fixed
2022-04-18 15:36:20 +00:00
Ivan Kochurkin 8c7fad9a5e [FIR] Support of type arguments in annotations ^KT-48444 Fixed 2022-04-18 15:36:19 +00:00
Ivan Kochurkin 05bed8f751 [FIR] Hide local type for return type of single expression function ^KT-51418 Fixed 2022-04-18 15:36:18 +00:00
Mikhail Glukhikh 0ecba0ad0b FIR: don't create incorrect constraints in CallableReferenceResolution
#KT-50994 Fixed
Related to KT-49477
2022-04-18 14:27:42 +00:00
Denis.Zharkov 9c7fea24d1 Fix exception when reporting WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE
^KT-51979 Fixed
2022-04-15 12:36:05 +00:00
Dmitriy Novozhilov 989cef6c3c [FE 1.0] Don't report OVERRIDE_DEPRECATION on default accessors of deprecated properties
^KT-51893 Fixed
2022-04-15 08:30:05 +00:00
Jerome Prinet 44b2905800 Fix JavaApplication.setMainClassName deprecation 2022-04-14 14:21:31 +03:00
Jinseong Jeon 6797ac7cf2 AA: populate index in factory, not provider 2022-04-13 16:03:52 +02:00
Jinseong Jeon 5b631bff4d AA: populate index for declarations upfront 2022-04-13 16:03:51 +02:00
Jinseong Jeon 6a9ed82fdc FIR/LC: restructure light identifiers
* introduced KtLightIdentifierBase so that both FIR LC and ULC share
  basic implementations

* detach PsiCompiledElement as per KTIJ-21412,
  while introducing KtLightIdentifierWithOrigin so that
  UastLightIdentifier can still inherit origin computation logic

^KTIJ-21412 In Progress
2022-04-13 13:43:21 +02:00
Jinseong Jeon daa17b433c FIR LC: identifier is not compiled element
FIR LC uses KtLightClassForDecompiledDeclaration instead,
when it is asked to convert compiled element to light element.
Such decompiled declaration delegates things to Class stub, where
ClsIdentifierImpl, a subtype of PsiCompiledElement, will be used.
2022-04-13 13:43:20 +02:00
Ilya Kirillov ab80dc680a [analysis api] regenreate tests 2022-04-13 12:53:30 +02:00
Ilya Kirillov eec61cfd07 [low level fir] handle jars in LLFitJavaFacadeForBinaries 2022-04-13 12:53:29 +02:00
Ilya Kirillov 0fa791e669 [low level fir] lazyly get KtSymbol for builtins 2022-04-13 12:53:28 +02:00
Ilya Kirillov 3bd892fe82 [analysis api fe10] provide a dummy implementation for KtFe10SymbolContainingDeclarationProvider.getContainingModule
to satisfy some tests
2022-04-13 12:53:26 +02:00
Ilya Kirillov 2cd0792e98 [analysis api, tests] actualize testdata with newly added getContainingModule 2022-04-13 12:53:25 +02:00
Ilya Kirillov 16470a2406 [analysis api] provide a function to get containing module for a KtSymbol 2022-04-13 12:53:24 +02:00
Ilya Kirillov 69a53bc742 [low level fir] use correct FirModuleData for declarations provided by FirJavaFacade 2022-04-13 12:53:23 +02:00
Ilya Kirillov 2649788b87 [analysis api fir] put every library into a separate KtModule in tests 2022-04-13 12:53:22 +02:00
Ilya Kirillov 252d8e283b [low level fir] create separate FirModuleData for every library module dependency 2022-04-13 12:53:21 +02:00
Ilya Kirillov e69fa1ae07 [analysis api, test] rework test infrastructure, add possibility to create multimodule tests 2022-04-13 12:53:19 +02:00
Ilya Kirillov 6831bde751 [analysis api fir, tests] update parameter names in testdata 2022-04-13 12:53:18 +02:00
Ilya Kirillov 207ca7eb08 [analysis api, tests] simplify tests 2022-04-13 12:53:17 +02:00
Ilya Kirillov 2506878063 [analysis api, tests] regenerate tests 2022-04-13 12:53:16 +02:00
Ilya Kirillov 329e495b63 [analysis api, tests] generate analysis api in a separate tests-gen folder 2022-04-13 12:53:14 +02:00
Ilya Kirillov 22918ac2f4 [analysis api, tests] generate standalone tests 2022-04-13 12:53:08 +02:00
Ilya Kirillov 037c50c26b [analysis api, tests] move test classes to corresponding packages 2022-04-13 12:53:06 +02:00
Ilya Kirillov 78685e93d1 [analysis api, tests] move resolve call tests to separate package 2022-04-13 12:53:05 +02:00
Ilya Kirillov 8dd66dd338 [analysis api] regenerate tests 2022-04-13 12:53:04 +02:00
Ilya Kirillov 3b55585782 [tests] Fix file path in testdata 2022-04-13 12:53:03 +02:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00
Ilya Kirillov 1e5cf80278 [analysis api, refactoring] move base test cases to base modules, improve service names 2022-04-13 12:53:00 +02:00
Ilya Kirillov 443ee4c860 [analysis api] allow generating test with for with more possible parameters 2022-04-13 12:52:59 +02:00
Ilya Kirillov 12e0254918 [analysis api] simplify dependent analysis mode tests 2022-04-13 12:52:58 +02:00
Ilya Kirillov 3206c0ce87 [analysis api, refactoring] get rid of HL name in class names 2022-04-13 12:52:57 +02:00
Ilya Kirillov 3838552a75 [analysis api] move some test framework parts to a separate module 2022-04-13 12:52:55 +02:00
Roman Golyshev 32fa2fc476 [FIR] Resolve receiver in qualified expressions with no selector
In qualified expression like `foo().`, selector expression is null.
Because of that the whole expression was marked as an error FIR
expression, and `foo()` part was not resolved at all (including
arguments and everything else).

This commit fixes the problem by providing receiver's FIR expression
as an underlying expression for error FIR expression. That way
it will be seen by all resolve transformers and will be successfully
resolved.

^KTIJ-21484 Fixed
2022-04-12 10:55:12 +00:00
Ilmir Usmanov 6e30ce2763 FE: Make synchronized suspend functions and lambdas error in 1.8
#KT-27333 Fixed
2022-04-11 12:02:30 +00:00
Ilmir Usmanov f473998e8b FIR: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
#KT-49264
2022-04-11 12:02:29 +00:00
Ilmir Usmanov f75a8109d2 FE 1.0: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
#KT-49264 Fixed
2022-04-11 12:02:28 +00:00
Dmitriy Novozhilov 38696a41bc [Test] Add ability to override some services in AbstractKotlinCompilerTest 2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov 2c6aea47b1 [Test] Introduce provider of path of standard libraries jars
Before this change all paths to all libraries were hardcoded to
  `dist/kotlinc/lib/...`, which is not suitable for usages of test
  framework outside of Kotlin project
2022-04-08 09:42:02 +00:00
Dmitriy Novozhilov afad6a564a [Test] Pass CompilerConfiguration to AbstractEnvironmentConfigurator.registerCompilerExtensions
This is needed to provide ability to configure extensions depending on
  configuration of specific test
2022-04-08 09:42:00 +00:00
Dmitriy Novozhilov 400ad6a01e [Test] Add ability to configure access to application disposable in test configuration
This is needed to unbound CompilerConfigurationProvider from ApplicationEnvironmentDisposer,
  which depends on classes from JUnit 5. This will allow to safely use
  compiler test framework with base test framework different from JUnit 5
2022-04-08 09:41:59 +00:00
Dmitriy Novozhilov 6e2402620f [FIR] Fix collecting member candidates on receiver with smartcast
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00