Dmitry Petrov
b02a9846d0
IR KT-44233 support flexible nullability in IrTypeSystemContext
...
^KT-44233 Fixed Target versions 1.5-M1
2021-01-11 17:33:50 +03:00
Jinseong Jeon
7cc06489dd
IR: move enum value array initialization out of <clinit>
...
#KT-44192 Fixed
2021-01-07 23:00:37 +01:00
Alexander Udalov
ac325f6111
IR: add toString for IrBased descriptors
...
To help in diagnosing issues like KT-44160.
2020-12-31 18:36:24 +01:00
Zalim Bashorov
02849edc22
[IR] Make descriptor parameter optional for IrFileSymbolImpl and IrExternalPackageFragmentSymbolImpl
...
Remove DescriptorlessIrFileSymbol and use IrFileSymbolImpl instead.
2020-12-28 18:53:54 +03:00
Zalim Bashorov
c569ec1bad
[IR] Add dumpKotlinLike for IrType and IrTypeArgument
2020-12-28 18:53:52 +03:00
Zalim Bashorov
03594baa07
[IR] Improve dumpKotlinLike
...
* Generate a comment for modules.
* Fix printing supertypes for classes.
* Don't fail while printing constructor call if data's parent isn't IrClass
2020-12-24 20:03:24 +03:00
Georgy Bronnikov
99c874ba8a
IR: use NullDescriptorRemapper in DeepCopySymbolRemapper
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
c5961da780
IR: remove WrappedDescriptors altogether
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
e9f45e23f2
IR: NullDescriptorsRemapper
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
3683cd0f7b
IR: fix IrBasedTypeAliasDescriptor
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
076272f7ca
FIR2IR: avoid descriptors computing hashCode
...
When synthesizing the hashCode function for data classes, descriptors
were used, in partcular, memberScope for primitive classes.
IrBasedDescriptors have no member scope, so we compute the hashCode
function based on IR structures.
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
b07dccb8d7
Fir2IR: remove wrapped descriptors
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
b05400154d
IR: remove IrSymbolDeclaration
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
d714adacae
IR: removing WrappedDescriptors from symbols
2020-12-23 18:50:51 +03:00
Georgy Bronnikov
989d4350b1
IR: make descriptor optional in IrSymbol
2020-12-23 18:50:51 +03:00
Dmitry Petrov
b0f6461fa9
JVM_IR KT-42020 special IdSignature for some fake override members
2020-12-15 12:56:45 +03:00
Shagen Ogandzhanian
32cc95a3b0
[JS IR] Skip export annotations while generating default stubs
2020-12-14 16:41:27 +01:00
Dmitry Petrov
b7330a9e14
JVM_IR KT-43877 fix generic signatures for SAM-converted lambdas
2020-12-11 20:26:29 +03:00
LepilkinaElena
c8c83c04c0
[IR] Fix saving function calls during inlining const properties in PropertyAccessorInlineLowering ( #3971 )
2020-12-10 12:24:23 +03:00
Denis.Zharkov
dc1a1c5821
Support cross-module usages of @JvmRecord classes
...
The problem is that JvmRecord has SOURCE retention
Probably, increasing its retention might be a more reliable solution
(or in some other way serializing that the class is a record)
Just checking supertypes seems like a reasonable approximation:
only records kotlin are allowed to extend j.l.Record.
But the relevant diagnostic has been added only since 1.4.30,
so potentially there could have been exist a non-record class with
such supertype compiled by 1.4.20, but this case seems to be ill-formed
and marginal anyway.
For Java classes, it's irrelevant since they don't have member properties
(only synthetic extensions)
^KT-43677 In Progress
2020-12-09 16:47:24 +03:00
Alexander Udalov
3370fa03d7
Revert "JVM IR: remove obsolete isDefaultImplsBridge in findInterfaceImplementation"
...
This reverts commit d41d1bf64d .
2020-12-09 10:52:18 +01:00
Dmitry Petrov
69c88a8a0a
PSI2IR KT-41284 use getters for open data class property values
...
'allopen' compiler plug-in can make data classes and their members open,
which is a compilation error in usual case, but makes sense for Spring
and other frameworks that generate proxy-classes.
2020-12-09 10:29:09 +03:00
Alexander Udalov
b10e206144
IR: minor, deduplicate unbound symbol in error message
2020-12-04 22:12:57 +01:00
Mads Ager
5d9e86863a
[IR] Make isHidden and isAssignable explicit on IrValueParameter.
...
There were a couple of places where they were confused and
isAssignable was passed as a positional parameter in the position
of isHidden.
2020-12-04 17:04:45 +01:00
Alexander Udalov
d41d1bf64d
JVM IR: remove obsolete isDefaultImplsBridge in findInterfaceImplementation
2020-12-02 15:54:14 +01:00
Georgy Bronnikov
8a969dab7d
Bugfix for FIR
2020-12-02 09:47:34 +03:00
Georgy Bronnikov
b23d7a79b0
IR: get rid of WrappedDescriptorWithContainerSource
2020-12-02 09:47:34 +03:00
Georgy Bronnikov
c0cd9064d7
IR: IrMemberWithContainerSource
2020-12-02 09:47:34 +03:00
Ilmir Usmanov
92f1681de0
Value classes: treat @JvmInline value classes as inline classes
...
Report error on value classes without @JvmInline annotation.
Do not check for @JvmInline annotation in value classes since
it breaks reflection.
2020-11-27 23:52:06 +01:00
Ilmir Usmanov
361ed117bb
Value classes: Add isValue property to class descriptors
...
Reuse isInline flag in proto and IR.
Check metadata version on deserialization.
2020-11-27 23:52:05 +01:00
Dmitry Petrov
ee1e05fedd
KT-42151 fix type arguments in local class constructor reference types
2020-11-26 18:40:49 +03:00
Zalim Bashorov
0d5a0b207e
[IR] KotlinLikeDumper: add a note about some conventions used for TODO comments
2020-11-26 00:15:25 +03:00
Zalim Bashorov
c004269547
[IR] KotlinLikeDumper: unify and add more comments for the cases when used a syntax which is invalid in Kotlin
2020-11-26 00:15:24 +03:00
Zalim Bashorov
5a755054f8
[IR] dumpKotlinLike: add a comment about some conventions which could be unclear
2020-11-26 00:15:22 +03:00
Zalim Bashorov
90fdfbde68
[IR] KotlinLikeDumper: unify printing custom/non-standard modifiers
2020-11-26 00:15:19 +03:00
Zalim Bashorov
73771a3513
[IR] KotlinLikeDumper: don't use "D" suffix on double constants
2020-11-26 00:15:17 +03:00
Zalim Bashorov
ef9a901635
[IR] KotlinLikeDumper: unify representation for error nodes
2020-11-26 00:15:15 +03:00
Zalim Bashorov
f8690d0395
[IR] KotlinLikeDumper: minor, collapse an if to helper function and add few more todos
2020-11-26 00:15:14 +03:00
Zalim Bashorov
d7bd4240e1
[IR] dumpKotlinLike: don't crash when type argument is null
2020-11-26 00:15:12 +03:00
Zalim Bashorov
2773e4baca
[IR] KotlinLikeDumper.kt -> dumpKotlinLike.kt
2020-11-26 00:15:09 +03:00
Zalim Bashorov
36591ba5f7
[IR] KotlinLikeDumper: replace all usages of commentBlockH with commentBlock
2020-11-26 00:15:07 +03:00
Zalim Bashorov
f9fe82e735
[IR] KotlinLikeDumper: process specially when IrElseBranch's condition is not true constant
2020-11-26 00:15:05 +03:00
Zalim Bashorov
0f10b5eb9e
[IR] KotlinLikeDumper: escape special symbols in Char and String constant values
2020-11-26 00:15:03 +03:00
Zalim Bashorov
92dda5cd92
[IR] KotlinLikeDumper.kt: cleanup
2020-11-26 00:15:02 +03:00
Zalim Bashorov
5b0efe2b64
[IR] KotlinLikeDumper: rearrange methods
2020-11-26 00:15:01 +03:00
Zalim Bashorov
d9dbc01c3e
[IR] KotlinLikeDumper: p.print("") -> p.printIndent()
2020-11-26 00:15:00 +03:00
Zalim Bashorov
c7d9b7adbe
[IR] KotlinLikeDumper: rearrange methods
2020-11-26 00:14:59 +03:00
Zalim Bashorov
76e959ef8c
[IR] KotlinLikeDumper: minor, update some comments
2020-11-26 00:14:58 +03:00
Zalim Bashorov
b6e37c1f89
[IR] KotlinLikeDumper: print class name for callable references without receivers
2020-11-26 00:14:56 +03:00
Zalim Bashorov
14dabed85a
[IR] KotlinLikeDumper.kt: move branch support to corresponding visit* methods
2020-11-26 00:14:54 +03:00