Commit Graph

25795 Commits

Author SHA1 Message Date
Steven Schäfer 626f4c94f6 Handle special case visibility rules in LocalDeclarationsLowering 2019-09-06 12:12:58 +02:00
Roman Golyshev 9a938b07ba KT-17689: Fix TypeAliasQualifier to provide enum entries descriptors
- this adds enum entries to the completion on the typealiases
- we cannot use `unsubstitutedInnerClassesScope` instead of `EnumEntriesScope` because it allows to complete things that are not allowed to be resolved by the Kotlin compiler; see `EnumEntriesScope` doc for details
- ^KT-17689 Fixed
2019-09-06 12:11:23 +03:00
Nikolay Krasko edb700b898 Switch to 192 platform 2019-09-06 11:28:25 +03:00
Natalia Selezneva 961e8c2c74 Refactor the mechanism how script configurations are updated
Introduce file attributes cache, which is only applicable when no dependencies are cached in memory cache
Refactor ScriptDependenciesCache to memory cache that is able to get configuration from cache and checks if it is up to date
Move all public methods to ScriptDependenciesManager
Introduce ScriptClassRootsManager that checks if root change event should be called after script configuration update
2019-09-06 10:52:17 +03:00
Mikhail Glukhikh 91f39a0ecf FIR [optimization]: eliminate some unnecessary ScopeSessions 2019-09-06 09:29:19 +03:00
Georgy Bronnikov 7ede26e8f4 IrCompileKotlinAgainstInlineKotlin tests 2019-09-06 09:19:57 +03:00
Nikolay Krasko 655e77b0dd Update lz4 for 192 in :compiler:incremental-compilation 2019-09-05 19:39:03 +03:00
pyos 20626e4aaf Make ReturnableBlockLowering common
and remove special handling in JVM_IR codegen.
2019-09-05 15:48:26 +02:00
Mikhail Glukhikh 98f72e58bd FIR deserializer: use class type parameters in constructor directly
This allows calls like Pair(...) to be resolved correctly
2019-09-05 16:26:15 +03:00
Mikhail Glukhikh 6a7ebe8928 FIR substitution: do not create fake overrides if types aren't changed 2019-09-05 16:26:14 +03:00
Mikhail Glukhikh 5386cfe254 FIR2IR: support fake overridden properties 2019-09-05 16:26:14 +03:00
Mikhail Glukhikh 687db20029 FIR: support fake overrides for properties 2019-09-05 16:26:14 +03:00
Mikhail Glukhikh 5741ff5d86 FIR: split default importing scopes into low/high priority ones
This fixes resolve of StringBuilder(), AssertionError(), etc.
2019-09-05 16:26:14 +03:00
Mikhail Glukhikh 044dfd14ce FIR: more accurate type checking in typeFromCallee 2019-09-05 16:26:06 +03:00
Nikolay Krasko 5deaca9ace Fix building tests for fir:lightTree in 192 branch 2019-09-05 14:35:17 +03:00
Dmitry Gridin 14ad6284d9 QualifiedExpressionResolver: add root prefix resolve for IDE analysis 2019-09-05 18:01:22 +07:00
Dmitry Gridin 68d20dae66 QualifierExpressionResolver: cleanup code 2019-09-05 18:01:22 +07:00
Dmitry Gridin 4224d109e2 AnalysisFlags: add flag ideMode for IDE specific analysis 2019-09-05 18:01:22 +07:00
Mads Ager 75f9532959 [IR] Avoid duplicate IR elements in for loops lowering. 2019-09-05 11:33:26 +02:00
Roman Artemev 0040298eac Fix master
- improve assertion message
 - compare correct file paths
 - fix C JS BE testData
2019-09-04 14:37:14 +03:00
Ilya Chernikov 72b68ee683 Fix proguarding of jline library in compiler
#KT-32234 fixed
#KT-32259 fixed
2019-09-04 09:35:04 +02:00
Mads Ager 3f28b71509 [IR] Fix issue getting the length property from CharSequence bounded type parameter
Use the class of the subtype of CharSequence when available. When
it is not (for type parameters bounded by CharSequence) call the
CharSequence getter and 'get' method. Using the most specific type
posible fixes the forInStringSpecialized test that expects the
use of INVOKEVIRTUAL and not INVOKEINTERFACE.

Add tests for the type parameter use.
2019-09-03 20:18:03 +02:00
Alexander Udalov eb5e91d6bb Do not use typeMapper to count number of coroutine parameters in MethodInliner 2019-09-03 19:33:55 +02:00
Alexander Udalov 2648fb2ddd Do not use typeMapper.mapAsmMethod for erased invoke in MethodInliner
Return type of erased `invoke` is always java/lang/Object anyway
2019-09-03 19:33:54 +02:00
Alexander Udalov 4953f67563 JVM IR: do not use KotlinTypeMapper indirectly via InlineCodegen
Move JVM signature and method owner computation out of InlineCodegen's
constructor to the call sites.
2019-09-03 19:33:54 +02:00
Alexander Udalov ad8b7ff645 Minor, extract PsiInlineCodegen to a separate file 2019-09-03 19:33:54 +02:00
Alexander Udalov bf5ca2ed84 Cleanup compiler warnings in IR-related modules 2019-09-03 19:32:57 +02:00
Alexander Udalov 406462d422 Regenerate FIR tree visitors and transformers 2019-09-03 16:37:53 +02:00
Igor Chevdar 5bd88f3191 [IR] ForLoopsLowering: fixed problems with type parameters 2019-09-03 14:40:06 +03:00
Roman Artemev 21c7c89dbc [JS KLIB IC] Support incremental klib generation for JS IR
Note: the following test do not work yet because of IrField FO issue
testSecondaryConstructorAdded
testCompanionObjectInheritedMemberChanged
2019-09-03 14:21:32 +03:00
Roman Artemev d6facf2976 [JS KLIB IC] Fix test runner 2019-09-03 14:21:32 +03:00
Roman Artemev 3753b75609 [JS KLIB IC] Implement incremental cache for IR 2019-09-03 14:21:32 +03:00
Roman Artemev 7840cf70f0 [IC] Add missed runtime dependency 2019-09-03 14:21:32 +03:00
Roman Artemev 104a50f786 [KLIB] Update ABI version 2019-09-03 14:21:32 +03:00
Roman Artemev 6bea403338 [KLIB] Fix ir serializer output format 2019-09-03 14:21:32 +03:00
Roman Artemev c8c9328973 [KLIB] Switch to monolithic layout 2019-09-03 14:21:32 +03:00
Roman Artemev c8a3374829 [KLIB] Do not store Date in klib manifest 2019-09-03 14:21:31 +03:00
Roman Artemev 1cdff7810e [Psi2Ir] Fix Lazy Fake override field
- add comment about problem with DeserializedPropertyDescriptor
2019-09-03 14:21:31 +03:00
Roman Artemev f2a5ab8c16 [IR SERIALIZATION] Fix zipped layout 2019-09-03 14:21:31 +03:00
Roman Artemev 1e547dd1cd [IR SERIALIZATION] Add more informative error message 2019-09-03 14:21:31 +03:00
Roman Artemev 31f3e668d2 [IR SERIALIZATION] Cleanup mangler interface 2019-09-03 14:21:31 +03:00
Roman Artemev 2e0ab8ba3f [IR SERIALIZATION] Fix ONLY_DECLARATION_HEADERS mode 2019-09-03 14:21:31 +03:00
Roman Artemev 0c7454c918 [IR SERIALIZATION] Fix forward Declarations in deserializaer 2019-09-03 14:21:31 +03:00
Roman Artemev 2bd3d90fe0 [IR SERIALIZATION] Link depend modules lazily 2019-09-03 14:21:31 +03:00
Roman Artemev aa8b58e396 [IR SERIALIZATION] Get rid of UniqIdKey 2019-09-03 14:21:31 +03:00
Roman Artemev aa313903cc [IR SERIALIZATION] Support both Per-File and Monolitic klib layout 2019-09-03 14:21:30 +03:00
Roman Artemev 125982841a [IR SERIALIZATION] Fix clashes 2019-09-03 14:21:30 +03:00
Roman Artemev 55f06ecff5 [IR SERIALIZATION] Fix rebase 2019-09-03 14:21:30 +03:00
Roman Artemev 16be3b6d6e [IR SERIALIZATION] Add deserializaFullModule API 2019-09-03 14:21:30 +03:00
Roman Artemev d9affc5abb [IR SERIALIZATION] Raname IrIrSeriazlizedIrFile -> SerializedIrFile 2019-09-03 14:21:30 +03:00