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
Roman Artemev
6118d1cf23
[Commonizer] Fix commonizer build
2021-01-26 19:23:25 +03:00
Roman Artemev
b0adcffed9
[JS IR] Fix transitive dependency resolve
2021-01-26 19:23:25 +03:00
Roman Artemev
75016bf54d
[Gradle, JS] Fix bridge between Gradle and Js IR CLI
2021-01-26 19:23:25 +03:00
Roman Artemev
350ff8033d
[IC KLIB] Replace JS IR build log with KLIB build log for klib compialtion
...
- fix test data
2021-01-26 19:23:25 +03:00
Roman Artemev
5c25ef62e2
[JVM IR] Fix jvm test runner
2021-01-26 19:23:25 +03:00
Roman Artemev
b4ed7110dd
[IC TEST] Fix IC multi module tests for gradle
2021-01-26 19:23:24 +03:00
Roman Artemev
04777d2ff2
[IC TEST] Generate legacy js multi module IC tests
2021-01-26 19:23:24 +03:00
Roman Artemev
898c0470dc
[IC TEST] Implement legacy js multi module gradle-like test infra
2021-01-26 19:23:24 +03:00
Roman Artemev
43022a292d
[IC TEST] Abstract multi module test runner from klib
2021-01-26 19:23:24 +03:00
Roman Artemev
5b1c70a430
[KLIB IC] Generate multi module klib IC tests
2021-01-26 19:23:24 +03:00
Roman Artemev
10d8e95df7
[IC TEST] Support multi module IC tests for klibs
...
- implement required infrastructure
- pass changed class path dependencies
2021-01-26 19:23:24 +03:00
Roman Artemev
9aeda12b99
[KLIB IC] Produce .klib file instead of directory in test
...
- disable sourcemaps
- clean up comment
2021-01-26 19:23:24 +03:00
Roman Artemev
37c7f60ae7
[KLIB] Fix issues between directory and .klib modes
...
- use .klib extension explicitly
- fix issue with `module.klib.klib` names
2021-01-26 19:23:23 +03:00
Roman Artemev
939da9dbc8
[KLIB] Take into account *.klib rebuild similar to *.jar
...
Fix multi-module incremental compilation. Fix allows to trigger klib
rebuild when dependency changed.
2021-01-26 19:23:23 +03:00
Roman Artemev
daf1da1c70
[KLIB IC] Fix klib IC test data
...
Since neither inline function nor super classes affect klib there is no
need for extra passes so compiler doesn't report any dirty files.
Do not check that.
2021-01-26 19:23:23 +03:00
Roman Artemev
380225e0cb
[KLIB IC] Support special klib-build.log in IC test infrastructure
2021-01-26 19:23:23 +03:00
Roman Artemev
96ba3b873e
[IC] Add in-module tests for incremental compilation
...
Two tests to check recompilation when parameter with default value was
added or removed without changing use-site.
2021-01-26 19:23:23 +03:00
Roman Artemev
697d4675a2
[KLIB] Improve klib debugging implementing KotlinLibrary.toString()
2021-01-26 19:23:23 +03:00
Roman Artemev
2daf0cc11c
[JS IR] Support additional repositories in CLI (cli part)
2021-01-26 19:23:22 +03:00
Roman Artemev
cd9e341fa9
[JS IR] Support additional repositories in CLI (compiler part)
2021-01-26 19:23:22 +03:00