Alexander Udalov
117aae8a6b
Use experimental javaType in full reflect where it's not supported yet
...
#KT-22936 Fixed
#KT-34344 Fixed
2020-06-17 18:33:08 +02:00
Victor Petukhov
c0f4ee7dc9
Revert "Add missing definitelyDoesNotContainName methods"
...
This reverts commit b74692e9
2020-06-17 13:16:16 +03:00
Victor Petukhov
447308dcfc
Revert "Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline"""
...
This reverts commit 5567033b
2020-06-17 13:02:40 +03:00
Ilmir Usmanov
1cccceabb9
Revert "Fix merging two reference values"
...
This reverts commit 85e2392f
2020-06-17 13:02:40 +03:00
Ilmir Usmanov
d9821412d0
Do not generate fields for unused suspend lambda parameters
...
This also allows us to not spill them in the lambda.
But, disable this optimization for local named functions.
#KT-16222 In progress
2020-06-17 12:00:25 +02:00
Victor Petukhov
901b794af3
Use lexical scope from trace during checking suspend context if the analysis of engaged parent function isn't completed
...
^KT-39461 Fixed
2020-06-16 22:00:04 +03:00
Dmitry Petrov
02f6a03ff7
JVM_IR: fix nullability annotations on synthetic marker parameters
...
Synthetic marker parameters (of type
Lkotlin/jvm/internal/DefaultConstructorMarker;) don't have annotations
(including nullability annotations).
Also, for constructor accessors corresponding parameter should be
nullable (since we pass 'null' as an argument there).
KT-36966
2020-06-16 21:29:52 +03:00
Ilya Chernikov
2656eeb164
NI: Optimize some potential hot places
2020-06-16 20:13:58 +03:00
Mikhail Glukhikh
d385a9b29e
Add more detailed exception message in KtExpression.isUsedAsExpression
2020-06-16 19:17:29 +03:00
Jinseong Jeon
f64f9c2144
FIR: inherit property accessor modifiers from property and vice versa
2020-06-16 19:17:27 +03:00
Mikhail Glukhikh
6f957c7b31
Provide more accurate clash check in JsDeclarationTable
2020-06-16 19:17:26 +03:00
Mikhail Glukhikh
aaacbaaaec
Add KDoc to ObsoleteDescriptorBasedAPI
2020-06-16 19:17:24 +03:00
Mikhail Glukhikh
a035404c96
Mark IrSymbolBase/IrPublicSymbolBase.descriptor as obsolete API
2020-06-16 19:17:22 +03:00
Mikhail Glukhikh
3297237f3d
Drop ObsoleteDescriptorBasedAPI in ClassGenerator (module-wide)
2020-06-16 19:17:20 +03:00
Mikhail Glukhikh
fe61530357
Declare IrGeneratorContext.builtIns as obsolete descriptor-based API
2020-06-16 19:17:16 +03:00
Mikhail Glukhikh
ab5cb13dae
Rename: DescriptorBasedIr -> ObsoleteDescriptorBasedAPI
2020-06-16 19:17:14 +03:00
Mikhail Glukhikh
cbbb497edf
Make descriptor-based API in ir:tree more granular
2020-06-16 19:17:12 +03:00
Mikhail Glukhikh
c4b24548cb
IrValidator: report errors without rendering descriptors
2020-06-16 19:17:11 +03:00
Mikhail Glukhikh
293df7bd50
[IR BE common] Use Descriptor-based IR only in CheckIrElementVisitor
2020-06-16 19:17:10 +03:00
Mikhail Glukhikh
63394858ac
Minor typo fix
2020-06-16 19:17:08 +03:00
Mikhail Glukhikh
e787dbf374
[IR.serialization.jvm] Use Descriptor-based IR in JvmIrLinker only
2020-06-16 19:17:06 +03:00
Mikhail Glukhikh
1c2fbb61fe
[IR] Introduce & use declaration-based SymbolTable.withReferenceScope
2020-06-16 19:17:04 +03:00
Mikhail Glukhikh
7a0f986823
[IR] Introduce & use DescriptorBasedIr OptIn
2020-06-16 19:17:03 +03:00
Mikhail Glukhikh
67158caf73
FunctionGenerator: use owner instead of descriptor
2020-06-16 19:17:01 +03:00
Mikhail Glukhikh
41306d25fd
JsDeclarationTable: drop descriptors in assertion
2020-06-16 19:16:59 +03:00
Victor Petukhov
982cbf1148
NI: clear calls info in coroutine inference before the second analysis of += right side
...
^KT-39376 Fixed
2020-06-16 18:26:59 +03:00
Ilya Chernikov
8fb41e4562
Process compiler plugins and options in scripting compiler
...
#KT-37766 fixed
2020-06-16 17:11:33 +02:00
Ilya Chernikov
a72eeb800d
[minor] Add serialization plugin to kotlin paths
2020-06-16 17:11:33 +02:00
Mikhail Glukhikh
ca15c33a62
[FIR] Make light tree consistent with raw FIR for empty init case
2020-06-16 15:07:01 +03:00
Ilya Muradyan
9db9e2ad57
Fix build error messages
2020-06-16 13:34:40 +02:00
Mikhail Glukhikh
d9b4e24b29
Exclude JS API dumps from FIR consistency tests
2020-06-16 12:39:26 +03:00
Steven Schäfer
846fc13519
JVM IR: Fix inline class constructor ABI (KT-37013, KT-37015)
2020-06-16 09:23:58 +03:00
Alexander Gorshenev
99c5585790
Allow dynamic types in ir fake override substitution arguments
2020-06-16 02:56:46 +03:00
simon.ogorodnik
1a7b30c13a
[FIR] Fix incorrect name in anonymous object class id
2020-06-16 00:01:06 +03:00
simon.ogorodnik
2f89ba9499
[FIR] Fix incorrect referential equals on Name instance
2020-06-16 00:01:06 +03:00
Ilya Chernikov
d7df249480
Convert contributed descriptors to list...
...
without this `KDocCompletionTestGenerated,testExtensionsFQLink`, which
most likely point to some broken contract in the test.
2020-06-15 16:08:41 +02:00
Mikhail Bogdanov
fe4bb24a3e
Don't use labels for caching
...
Avoid new objects creation
2020-06-15 15:13:10 +02:00
Mikhail Bogdanov
db50afeafe
Fix compilation with ASM 8
...
General rule to use linkedLabel or linkWithLabel
when label from node is reused in other instructions.
If label is not linked then it will point to another labelNode when visited
#KT-39013 Fixed
2020-06-15 15:13:10 +02:00
Dmitriy Novozhilov
1186d1affd
[FIR-TEST] Count all ConeKotlinErrorType as error types
2020-06-15 15:32:25 +03:00
Dmitriy Novozhilov
d7ee168dff
[FIR] Create error candidate for completion instead of simple error reference
2020-06-15 15:32:25 +03:00
Dmitriy Novozhilov
7c57c4a2fb
[FIR] Add FirErrorProperty node
2020-06-15 15:32:24 +03:00
Kristoffer Andersen
f0ff8f202c
[JVM IR] Use JVM8 support for unsigned int operations
...
- unmute tests
- add test to ensure JVM target is respected
- add test to cover smart-casted cases
- implement function matching and replacement
- Switching on uint constants
- introduce lowering for standard library replacements
2020-06-15 14:26:28 +03:00
Denis Zharkov
7b61bf9178
FIR: Add nullability smartcast after !is check
...
^KT-39072 Fixed
2020-06-15 11:33:42 +03:00
Denis Zharkov
24948a8b3f
FIR: Fix incorrect handling bare types when subject is type alias
...
^KT-39043 Fixed
2020-06-15 11:33:42 +03:00
Vyacheslav Gerasimov
4aa3040550
Build: Use runtimeOnly instead of deprecated runtime
...
maven-publish plugin uses `runtimeOnly` for runtime scope instead of
`runtime`
2020-06-14 20:31:26 +03:00
Vyacheslav Gerasimov
d711086be2
Build: Publish Kotlin artifacts with maven-publish plugin
2020-06-14 20:31:25 +03:00
Georgy Bronnikov
89aa15c419
JVM_IR: implement isCompiledToJvm8OrHigher on IrClass
2020-06-13 12:45:00 +03:00
Georgy Bronnikov
8037baf307
IR: add SourceElement reference to IrClass
2020-06-13 12:44:59 +03:00
Georgy Bronnikov
811e8d0f24
JVM_IR: remove one usage of descriptors from AnnotationCodegen
2020-06-13 12:44:59 +03:00
Georgy Bronnikov
58a9c0c996
JVM_IR: remove descriptor usage from IrTypeMapper
2020-06-13 12:44:59 +03:00