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