Dmitry Petrov
ea042eb6c4
JVM_IR: no nullability annotations for inline class '-impl' methods
...
Specialized generated methods for inline classes (toString-impl,
hashCode-impl, equals-impl, etc) are inaccessible from Java, and thus
don't require nullability annotations.
2020-07-02 22:39:06 +03:00
Dmitry Petrov
a238d6a890
JVM_IR: no annotations on parameters of 'property$annotations' methods
2020-07-02 22:39:06 +03:00
Dmitry Petrov
8da988b18e
JVM_IR: Mangle primary val getter of inline class if required
...
TODO fix reflection
2020-07-02 22:39:06 +03:00
Dmitry Petrov
62d2581faf
JVM_IR: Don't generate annotations on generated inline class members
2020-07-02 22:39:05 +03:00
Dmitry Petrov
dc4b9d3887
JVM_IR: Don't mangle internal constructor-impl for inline classes
2020-07-02 22:39:05 +03:00
Ilya Kirillov
5cfac8fa3f
FIR IDE: introduce symbol pointers for restoring symbols in another read action
...
fix pointer
2020-07-02 22:25:06 +03:00
Ilya Kirillov
f88ebed1a3
FIR IDE: move types to its own package
2020-07-02 22:25:06 +03:00
Ilya Kirillov
5f548fc459
FIR IDE: add creating stdlib symbols by fqName tests
2020-07-02 22:25:06 +03:00
Ilya Kirillov
799a49649c
FIR IDE: introduce symbol modality
2020-07-02 22:25:06 +03:00
Ilya Kirillov
75a96f0153
FIR IDE: add info about varargs to parmater symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
f10f6c6360
FIR IDE: introduce package symbol
2020-07-02 22:25:05 +03:00
Ilya Kirillov
18d46a86ae
FIR IDE: add identity weak map based cache for KtSymbolByFirBuilder
2020-07-02 22:25:05 +03:00
Ilya Kirillov
a26063b3f8
FIR IDE: rename Invalidatable -> ValidityOwner
2020-07-02 22:25:05 +03:00
Ilya Kirillov
226d514788
FIR IDE: rename reference classes to KtFir*Reference for consistency
2020-07-02 22:25:05 +03:00
Ilya Kirillov
66933ea2fe
FIR IDE: use withValidityAssertion instead of explicit check in FirAnalysisSession
2020-07-02 22:25:04 +03:00
Ilya Kirillov
8368284817
FIR IDE: introduce KtType
2020-07-02 22:25:04 +03:00
Ilya Kirillov
c44756bbfd
FIR IDE: add tests for building kt symbols by PSI
2020-07-02 22:25:04 +03:00
Ilya Kirillov
8a52954bf8
FIR IDE: introduce symbol provider
2020-07-02 22:25:03 +03:00
Ilya Kirillov
20b93507ab
FIR IDE: use symbols for reference resolve
2020-07-02 22:25:03 +03:00
Ilya Kirillov
749afbd141
FIR IDE: use symbols for call resolve
2020-07-02 22:25:03 +03:00
Ilya Kirillov
82866176fb
FIR IDE: introduce symbol API
2020-07-02 22:25:03 +03:00
Alexander Udalov
ba948cda38
Report warning on characters which can cause problems on Windows
...
As soon as we fix KT-17438, this warning will be turned into an error.
2020-07-02 21:19:28 +02:00
Alexander Udalov
181965f6e8
IR: inline namedIrModulePhase and namedIrFilePhase phase builders
...
Construct NamedCompilerPhase directly instead. Only use phase builders
where the code becomes easier to read.
2020-07-02 21:19:28 +02:00
Alexander Udalov
15a969b3ba
IR: refactor performByIrFile a little
...
Take a list of phases instead of the CompositePhase, to make stacktraces
nicer and avoid quadratic time of phase construction.
2020-07-02 21:19:28 +02:00
Alexander Udalov
4475325ffa
IR: refactor PhaseBuilders a little
...
- use named classes to improve stacktraces
- reorder parameters to make the code shorter
- use explicit types to improve IDE resolve in usages
2020-07-02 21:19:27 +02:00
Alexander Udalov
7997d4afd3
IR: do not use AnyNamedPhase where there is Context parameter
2020-07-02 21:19:27 +02:00
Alexander Udalov
ef58f1e72e
IR: simplify phaser code a little
...
- merge NamedCompilerPhase, SameTypeNamedPhaseWrapper,
AbstractNamedPhaseWrapper and inherit it from SameTypeCompilerPhase
- inline some functions to simplify stacktraces
- reformat and fix inspections
2020-07-02 21:19:27 +02:00
Stanislav Erokhin
74ce26cdc2
Fix 1.4-M2 ChangeLog.md
2020-07-02 22:16:59 +03:00
Vyacheslav Gerasimov
18d71c7907
Build: Encode build number in teamcity build url
2020-07-02 22:05:35 +03:00
Vyacheslav Gerasimov
8e1269cc32
Build: Add hacky workaround for retrying PublishToMavenRepository tasks
...
It's supposed to help with `Caused by: org.apache.http.NoHttpResponseException: api.bintray.com:443 failed to respond`
2020-07-02 22:05:35 +03:00
Dmitriy Dolovov
3bb234b17c
[Commonizer] Clean-up CirTypeSignature usages
2020-07-03 00:22:44 +07:00
Dmitriy Dolovov
ffd0c69698
[Commonizer] Use ClassId instead of FqName for addressing classes and TAs
2020-07-03 00:22:38 +07:00
Ilya Kirillov
57aefbcd57
FIR IDE: migrate to 201
2020-07-02 19:34:37 +03:00
Mads Ager
1124887aa0
[JVM_IR] Fix stepping behavior for assignments to local variables.
2020-07-02 17:29:07 +02:00
Vladimir Dolzhenko
543efffa5c
Turn off stability check for PerformanceTypingIndentationTest
2020-07-02 17:13:10 +02:00
Igor Yakovlev
89d5c030dc
Improve incremental analisys for nested blocks
2020-07-02 17:52:40 +03:00
Toshiaki Kameyama
efdeb7b449
Introduce "Add '== true'" quick fix for TYPE_MISMATCH
...
#KT-39930 Fixed
2020-07-02 19:31:43 +07:00
Dmitriy Novozhilov
5bf18c09bb
Advance bootstrap to 1.4.20-dev-1530
2020-07-02 15:19:24 +03:00
Natalia Selezneva
a73dac75d4
Optimize KotlinScriptDependenciesClassFinder
...
Do not call processDirectories for all package prefixes checking inner classes
^KT-39796 Fixed
2020-07-02 15:14:02 +03:00
Mikhail Glukhikh
f46970219f
[FIR2IR] Simplify elvis conversion
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
68b84722c4
[FIR2IR] Simplify generateWhen
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
24c8eb43a2
[FIR2IR] Don't build stub FirWhen for converting elvis expression
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
6229d2e215
[FIR2IR] Extract generateWhen & toIrWhenBranch
2020-07-02 15:10:52 +03:00
Mikhail Glukhikh
31765a4abc
[FIR2IR] Move visitElvis & visitWhen close to one another
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
f4d5070a7b
[FIR-TEST] Mute BB test due to KT-39659
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
a7ed9c7dc5
[FIR] Add conversion of FirElvisCall to backend IR
2020-07-02 15:10:52 +03:00
Dmitriy Novozhilov
102c9c08d0
[FIR] Resolve elvis call as special synthetic call
...
Before that commit we desugared `a ?: b` as
when (val elvis = a) {
null -> b
else -> elvis
}
It was incorrect, because `a` should be resolved in dependent mode,
but when it was `elvis` initializer it was resolved in independent
mode, so we can't infer type for `a` in some complex cases
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
b49b3245af
[FIR] Add special node for elvis call
...
#KT-39074
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
648953085f
[FIR] Replace kotlin/Throwable with java/lang/Throwable in JvmMappedScope
...
#KT-39044 Fixed
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
624b9306f0
[FIR] Resolve LHS of type operator call in independent context
...
#KT-39046 Fixed
2020-07-02 15:10:51 +03:00