Commit Graph

72126 Commits

Author SHA1 Message Date
Dmitriy Novozhilov a9ef8bb32f [IDE] Update SuperClassNotInitialized to relaxed restrictions on sealed classes 2021-01-28 13:19:28 +03:00
Dmitriy Novozhilov 16e0c0b820 [Test] Update testdata of quickfix tests related to sealed classes 2021-01-28 13:19:28 +03:00
Dmitriy Novozhilov 7632c11745 Enforce using old backend in JvmCliReplShellExtension 2021-01-28 13:19:28 +03:00
Dmitriy Novozhilov c6039d76d3 Enforce using old backend in JvmAbiAnalysisHandlerExtension 2021-01-28 13:19:27 +03:00
Alexander Udalov f350e9dacb Fix rendering of metadata of multifile facades in classFilesComparison.kt
Multifile facades (class files with header kind MULTIFILE_CLASS) have
the list of their parts in the d1 field (KotlinClassHeader.data), not
some byte-encoded protobuf message which this code was trying to
deserialize previously.
2021-01-28 13:19:27 +03:00
Alexander Udalov 1deb317e0d Update and regenerate incremental compilation tests for 1.5
Set TargetBackend.JVM_IR for these tests by default; remove the
generated IR-based test and add a new old-backend-based test. This fixes
the issue where some (3) of these tests were not properly ignored
because of incorrect target backend used in the test generator.

Also update test data for some tests which use local functions, which
are not generated to separate anonymous classes in JVM IR.
2021-01-28 13:19:27 +03:00
Alexander Udalov 4dff7e648f Minor, restore abiStabilityUnstableWithOldBackend CLI test
Add -Xuse-old-backend to make it pass with LV=1.5 where JVM IR is
enabled by default.
2021-01-28 13:19:26 +03:00
Alexander Udalov d87d0cceae JVM IR: report all sources as outputs for .kotlin_module file
This fixes some tests for LV=1.5 in KotlinJpsBuildTest,
KotlinJpsBuildTestIncremental, IncrementalJvmJpsTestGenerated,
IncrementalCacheVersionChangedTestGenerated.

 #KT-42069 Fixed
2021-01-28 13:19:26 +03:00
Dmitriy Novozhilov f3393eae1b [Test] Update testdata of CompileKotlinAgainstCustomBinariesTest 2021-01-28 13:19:26 +03:00
Dmitriy Novozhilov 9b80a552e9 [Test] Update testdata of spec tests 2021-01-28 13:19:25 +03:00
Dmitriy Novozhilov 73e6d42224 [Test] Update CLI tests according to new default language version 2021-01-28 13:19:25 +03:00
Dmitriy Novozhilov 5122e748c1 Add workaround for KT-44316 2021-01-28 13:19:25 +03:00
Dmitriy Novozhilov facc52fe49 Introduce ApiVersion.KOTLIN_1_5 2021-01-28 13:19:25 +03:00
Dmitriy Novozhilov f14bd87ecc [Test] Update testdata of diagnostic tests during to change language to 1.5
Mostly this commit contains changes of descriptor dump of sealed classes
  tests according to changed visibility of sealed class constructor
2021-01-28 13:19:24 +03:00
Dmitriy Novozhilov d7cfd9c188 Switch latest stable version to 1.5 2021-01-28 13:19:24 +03:00
Dmitriy Novozhilov 5098eb84af Switch IS_PRE_RELEASE flag to true
#KT-44284 Fixed
2021-01-28 13:19:24 +03:00
Kristoffer Andersen 836261ba6e [Test] Ignore test infrastucture sources in debugging tests
This solves no immediate deficiency, but is a to-do that arose as part
of an ongoing effort to port the old, slightly too restrictive
checkLocalVariableTable tests to the more "functional" debugger
infrastructure.

This just shaves a little bit of overhead off the test expectations
and couples them less tightly to the specifics of the test
infrastructure.
2021-01-28 08:09:42 +01:00
Abduqodiri Qurbonzoda 46b7a774b5 Commonize CharCategory and related functions #KT-39177 #KT-43216 #KT-39906 #KT-30652 2021-01-28 01:41:24 +03:00
Ilya Kirillov 9b429fb535 FIR IDE: update testdata 2021-01-27 21:27:00 +01:00
Ilya Kirillov 1d167e4bc5 FIR: enable inline classes support in kotlin.compiler.fir.tree module 2021-01-27 21:26:59 +01:00
Ilya Kirillov c53d6ed5d2 FIR: remove SymbolProviderCache as it is unused now 2021-01-27 21:26:59 +01:00
Ilya Kirillov 9f5b46cc76 FIR: use MutableMap in JavaSymbolProvider.parentClassTypeParameterStackCache as temp solution
parentClassTypeParameterStackCache will be soon removed
as will SymbolProviderCache
2021-01-27 21:26:59 +01:00
Ilya Kirillov 6a83b8b5a4 FIR: migrate FirDependenciesSymbolProviderImpl to FirCachesFactory 2021-01-27 21:26:59 +01:00
Ilya Kirillov 6543429b9a FIR: use FirCachesFactory for package parts cache in KotlinDeserializedJvmSymbolsProvider 2021-01-27 21:26:59 +01:00
Ilya Kirillov 32ae395e05 FIR: use FirCachesFactory for package type alias in KotlinDeserializedJvmSymbolsProvider 2021-01-27 21:26:58 +01:00
Ilya Kirillov b270d66f68 FIR: use FirCachesFactory for
class cache in KotlinDeserializedJvmSymbolsProvider
2021-01-27 21:26:58 +01:00
Ilya Kirillov 3cee5e848a FIR: encapsulate annotation loading in KotlinDeserializedJvmSymbolsProvider.knownClassNamesInPackage into class 2021-01-27 21:26:58 +01:00
Ilya Kirillov 169134655a FIR: encapsulate KotlinDeserializedJvmSymbolsProvider.knownClassNamesInPackage into class 2021-01-27 21:26:58 +01:00
Ilya Kirillov 7284acc9f9 FIR IDE: use FirCaches in JavaSymbolProvider 2021-01-27 21:26:58 +01:00
Ilya Kirillov 1fef5859e3 FIR IDE: implement thread safe fir caches for IDE 2021-01-27 21:26:58 +01:00
Ilya Kirillov 191a948ffe FIR: introduce caches factory 2021-01-27 21:26:57 +01:00
Ilya Kirillov 2f12b8f87f FIR: refactoring, move class Java class building to separate fun 2021-01-27 21:15:28 +01:00
Mikhail Glukhikh 93436c1341 FIR: optimize / simplify member checkers 2021-01-27 19:46:06 +03:00
Jinseong Jeon 97241599bf FIR checker: add support diagnostic: EXPECTED_PRIVATE_DECLARATION 2021-01-27 19:46:06 +03:00
Jinseong Jeon 57c8dd86a0 FIR checker: introduce top-level property checkers
Also, refactor property initializer checking so that those
newly added property checkers as well as member property checker
can share the same logic
2021-01-27 19:46:06 +03:00
Jinseong Jeon f9378a3ab7 FIR checker: add diagnostic EXPECTED_DECLARATION_WITH_BODY 2021-01-27 19:46:06 +03:00
Jinseong Jeon 9341ca3004 FIR checker: introduce top-level function checker 2021-01-27 19:46:05 +03:00
Mikhail Glukhikh df68f319bc FIR LT: simplify defaultValue() search 2021-01-27 19:46:05 +03:00
Jinseong Jeon 8b4f2b269c FIR checker: introduce PARAMETER_* positioning strategies
and use them to add support diagnostics:
ANONYMOUS_FUNCTION_PARAMETER_WITH_DEFAULT_VALUE
USELESS_VARARG_ON_PARAMETER
2021-01-27 19:46:05 +03:00
Mikhail Glukhikh 33b7c68a21 Add FIR_IDENTICAL to kt44440.kt test 2021-01-27 19:45:27 +03:00
Victor Petukhov 977ac7cbe7 Propagate nullness flexibility into the result type from type variables in other constraints during result type finding, to prevent variable fixation to less flexible type
^KT-44540 Fixed
2021-01-27 17:23:15 +03:00
Mikhail Glukhikh ce1f9882df FIR2IR: Fix mapping for intersection overrides of deserialized functions 2021-01-27 15:42:04 +03:00
Svyatoslav Kuzmich 4bde884844 [JS IR] Use non-persistent IR for non-dce-driven mode
Eliminate overhead of persistency that we don't use in this mode.
2021-01-27 14:58:33 +03:00
Svyatoslav Kuzmich 02615ec569 [JS IR] Fix: Use proper parameter in ExportedDefaultParameterStub 2021-01-27 14:57:42 +03:00
Roman Golyshev 75ed167566 FIR IDE: Use FirModuleResolveState instead of TowerDataContextProvider
This way we will have a single place to get information about scopes,
so in the future it would be easier to refactor it
2021-01-27 08:02:53 +00:00
Roman Golyshev dd91ebf1ea FIR IDE: Collect TowerDataContext only for block-level expressions
This makes finding right context easier later in situations like this:

```
fun test() {
  foo.bar.bazz()
}
```

Context is written for `bazz()` element, but we might want to find it
from `foo.bar.bazz()` element
2021-01-27 08:02:52 +00:00
Roman Golyshev b51b8b59b1 FIR IDE: Collect scopes in FirDesignatedImplicitTypesTransformerForIDE
We need this to capture scopes for properties
with initializers (like `val a = 10`)
2021-01-27 08:02:52 +00:00
Roman Golyshev 445edf8e28 FIR IDE: Mark FirTowerDataContextCollector as ThreadSafeMutableState
Also, use HashMap instead of LinkedHashMap
in `FirTowerDataContextCollector`
2021-01-27 08:02:51 +00:00
Roman Golyshev 11564d7950 FIR: Collect all scopes in FirModuleResolveStateImpl
We need to collect the scopes to later use them in reference shortening

Probably we will need to optimize this behaviour later, since it seems
inefficient
2021-01-27 08:02:50 +00:00
Roman Artemev 8bc7866f01 [KLIB] Fix klib IO when accessing parent file 2021-01-27 09:48:57 +03:00