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
Jinseong Jeon
c9e423bf64
FIR deserializer: fix parameter shift for constructor of inner classes and enums
...
#KT-39837 Fixed
2020-07-02 13:34:39 +03:00
Georgy Bronnikov
8e24256f95
JVM_IR: avoid descriptors when tracking inline properties
...
Preparing to use wrapped properties in InlineCodegen.
2020-07-02 12:46:58 +03:00
Georgy Bronnikov
385d522d27
JVM_IR: do not use descriptor in isCompiledToJvmDefault
2020-07-02 12:45:26 +03:00
Vsevolod Tolstopyatov
3270c7e016
Introduce CancellationException
...
#KT-39126 Fixed
2020-07-02 11:01:28 +03:00
Natalia Selezneva
5ec110c33f
*.gradle.kts: catch exceptions during GradleBuildRootManager initialization
...
^KT-39317 Fixed
2020-07-02 08:48:05 +03:00
Natalia Selezneva
c7c7ffb0e0
*.gradle.kts: get java home from build environment instead of execution settings
...
Note that getting GradleExecutionSettings may lead to write action
because it link javaHome with existing sdks
^KT-39317
2020-07-02 08:48:05 +03:00
Steven Schäfer
5cdf053c8e
Coroutines: Fix RedundantLocalsEliminationMethodTransformer
...
- Take control flow into account when collecting usage information
- Don't remove stores to local variables
2020-07-02 00:49:28 +02:00
Alexander Gorshenev
3113281e2d
Adapted fake override checker to inheritance from friend module internal interfaces
2020-07-01 20:29:48 +03:00
Mikhail Glukhikh
07feb2185b
Fix exception in FirExposedVisibilityChecker
2020-07-01 19:30:50 +03:00
Ilmir Usmanov
697c8637ee
For all int-like typed variables, use int as field type and coerce
...
it during spill-unspill.
Coerce int to boolean, otherwise, VerifyError is thrown on android
Completely rewrite SpilledVariableFieldTypesAnalysis... again,
but this time use BasicInterpreter
This way, the analysis both does not use SourceInterpreter and
is in line with the rest on analyses.
2020-07-01 17:26:47 +02:00
Alexander Udalov
e7f33ac051
IR: do not inherit IrFunctionReference from IrFunctionAccessExpression
...
To avoid the diamond hierarchy and to allow refactoring the IR element
hierarchy from interfaces to classes, improving performance of visitors
and transformers.
2020-07-01 13:03:56 +02:00