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
Simon Ogorodnik
e22711d17f
[FIR] Reuse empty scopes
2021-01-26 18:33:57 +03:00
Simon Ogorodnik
67267518f0
[FIR] Optimize tower group comparisons
...
Fix incorrect used bits calculation
bits debug
Disable tower group debugging
Extend comment
Proper to binary string
2021-01-26 18:33:57 +03:00
Simon Ogorodnik
4530cdefe5
[FIR] Implement proper equals/hashCode for TowerGroupKind.WithDepth
2021-01-26 18:33:57 +03:00
Alexander Anisimov
a4dd47daab
Update ReadMe.md
2021-01-26 17:29:15 +03:00
Vladimir Dolzhenko
8019dbe06c
Do not leak LowMemoryWatcher on plugin unload
...
#KT-44543 Fixed
2021-01-26 13:55:47 +00:00
Mikhail Glukhikh
76c2288e21
IrInterpreter: interpret IrGetField properly
2021-01-26 16:19:14 +03:00
Mikhail Glukhikh
b311e95487
FIR2IR: don't generate IR getter for const library properties
2021-01-26 16:10:09 +03:00
Hung Nguyen
e2521718dd
Kapt: Add flag to keep KDoc comments in stubs
...
Currently, KaptGenerateStubsTask may not generate KDoc comments
correctly. See KT-43593 for more details.
This commit provides a Kapt flag called
`kapt.keep.kdoc.comments.in.stubs`
to control whether KDoc comments will be included in the generated
stubs.
This flag is currently enabled by default to keep the existing behavior
and avoid breaking existing users.
Users who don't need KDoc comments in stubs but are hitting KT-43593 can
disable the flag.
Whether this flag will be disabled by default later is to be determined.
Bug: https://youtrack.jetbrains.com/issue/KT-43593
(Note that this commit only provides a workaround, it doesn't
actually fix the bug.)
Test: (Ir)ClassFileToSourceStubConverterTestGenerated#testCommentsRemoved
2021-01-26 15:28:52 +03:00
sebastian.sellmair
dcda47b502
Ensure that Decompiler and IDE agree on rendered function types with parameterized annotations
...
findDecompiledDeclaration.kt: Use same DescriptorRenderer options as Decompiler
DescriptorRendererImpl.kt: not enforce different AnnotationArgumentsRenderingPolicy for function type annotations
This will fix KTIJ-563 where rendered Descriptors are used as Keys
for GOTO navigation into decompiled sources.
^KTIJ-563 fixed
2021-01-26 12:24:53 +00:00
Sergey Shanshin
122d04b9fa
Returned support for generic serializers in @UseSerializers ( #4055 )
...
Fixes Kotlin/kotlinx.serialization#1305
2021-01-26 14:57:40 +03:00
Mikhail Glukhikh
1a4b327210
FIR2IR: fix smart casts in case field is accessed
2021-01-26 12:27:09 +03:00