Commit Graph

900 Commits

Author SHA1 Message Date
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
Denis.Zharkov ef84dddc88 FIR: Add preliminary support for context receivers in resolution 2022-04-06 16:05:32 +00:00
Denis.Zharkov 54c3e7e7c5 FIR: Support context receiver in FIR building 2022-04-06 16:05:24 +00:00
Ivan Kochurkin c7122c1492 [FIR] Fix break/continue in try-finally in loop, ^KT-51759 2022-04-05 15:50:47 +00:00
Ivan Kochurkin fc77d0d26b [FIR] Fix false positive errors for members with explicit API mode, ^KT-51758 Fixed 2022-04-05 15:50:45 +00:00
Ivan Kochurkin 48dbb9ceb9 [FIR] Fix resolving of refs with implicit this in lambdas in smartcasts 2022-04-05 15:50:43 +00:00
Ivan Kochurkin c6f52893fb [FIR] Fix inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties
^KT-51203 Fixed
2022-04-05 15:50:43 +00:00
Ivan Kochurkin 4617615fd9 [FIR] Fix false-positive INAPPLICABLE_LATEINIT_MODIFIER for property with unresolved type
^KT-51624 Fixed
2022-04-05 15:50:42 +00:00
Dmitry Timofeev 4e784eeb33 Create INTERSECTION_TYPE stubs for definitely non-nullable types
^KTIJ-20802 Fixed
2022-04-05 10:48:12 +00:00
Mikhail Glukhikh 0ef32e5807 Don't create substituted copy of invoke descriptor with unchanged names
#KT-34919 Fixed
2022-04-04 13:08:28 +00:00
Mikhail Glukhikh 899dc401c8 Add test for KT-51499 (occurs in FE10, already fixed in FIR) 2022-04-04 12:51:33 +00:00
Mikhail Glukhikh aaebb7a30e FIR: don't create delegated constructor call in expect
#KT-51756 Fixed
2022-04-01 16:15:53 +03:00
Ilya Chernikov 03cbfea737 FIR LT: Introduce source file abstraction, carry it from parsing to IR
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Ilya Chernikov 9e32188938 FIR LT: add syntax error reporting to LT2Fir
use it in the new pipeline
2022-03-30 08:31:56 +00:00
Dmitriy Novozhilov 078acb1bfe [FE] Fix positioning strategy for SAFE_CALL_WILL_CHANGE_NULLABILITY warning
^KT-46860
2022-03-28 12:37:25 +00:00
Dmitriy Novozhilov 565c61a702 [FE 1.0] Fix false-negative INVALID_IF_AS_EXPRESSION_WARNING and NO_ELSE_IN_WHEN_WARNING
^KT-51711 Fixed
2022-03-28 12:37:24 +00:00
Victor Petukhov 7e491edf95 Allow empty type info for excl expressions
^KT-34515 Fixed
2022-03-24 11:46:00 +00:00
Victor Petukhov 22b2554368 [FE 1.0] Support suspend only SAM conversions
^KT-50477 Fixed
2022-03-24 09:28:28 +00:00
Victor Petukhov 2307122089 [FE 1.0] Report errors for recursive types from completion as well
Such diagnostics could be missed at least for plus assignment's right side because it wasn't report for the second time of analysis

^KT-48546 Fixed
2022-03-23 21:13:34 +00:00
Victor Petukhov 27fa632630 [FE 1.0] Update test data with new error type representation 2022-03-23 21:13:33 +00:00
Victor Petukhov b5933c70e2 [FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds 2022-03-23 21:13:33 +00:00
Jinseong Jeon 881a6bed35 AA: add tests about resolution to Java static method 2022-03-22 15:44:50 +01:00