Dmitry Petrov
cafaa3e13c
Mangle inline class members
...
<IMPL_SUFFIX> for method is a method signature hash,
if method value parameter types contain inline class types,
otherwise 'impl'.
Constructor methods are named as 'constructor-<IMPL_SUFFIX>'.
Synthesized 'box' and 'unbox' methods are named as
'<METHOD_NAME>-<IMPL_SUFFIX>'.
Erased implementations of overriding and non-overriding methods
are named as '<METHOD_NAME>-<IMPL_SUFFIX>'.
Fully specialized implementation of 'equals' will have a special suffix.
2018-09-07 10:25:53 +03:00
Dmitry Petrov
d8a6db8774
Mark synthesized box/unbox methods in inline classes as ACC_SYNTHETIC
2018-09-07 09:31:26 +03:00
Dmitry Petrov
0bd1c4d1b7
Make inline class wrapper constructor private
2018-09-07 09:31:26 +03:00
Dmitry Petrov
c094b3a5a2
Drop erased class for inline class
2018-09-07 09:31:26 +03:00
Mikhail Zarechenskiy
690762d46c
Inline classes ABI: rename equals--impl to equals-impl0
2018-09-06 17:01:01 +03:00
Mikhail Zarechenskiy
83975bd6ac
Generate stub for specialized equals inside inline class
2018-09-06 10:39:33 +03:00
Dmitry Petrov
203fd6a5d6
Make inline class wrapper constructor synthetic
2018-09-05 12:20:57 +03:00
Dmitry Petrov
65881dda97
Fix tests after rebase
2018-09-05 12:20:57 +03:00
Dmitry Petrov
3080b65f7d
Inline (wrapper) class IC extends erased inline class IC$Erased
2018-09-05 12:20:57 +03:00
Dmitry Savvinov
4dfb99596b
Fix testdata after introduction of inline-classes mangling
2018-08-30 16:24:29 +03:00
Mikhail Zarechenskiy
6d4d244c28
Generate function from Any for inline classes same as for data classes
...
#KT-24873 Fixed
#KT-25293 Fixed
#KT-25299 Fixed
2018-08-06 10:56:01 +03:00
Mikhail Zarechenskiy
043ce1cb27
Support secondary constructors for inline classes
...
#KT-25614 Fixed
#KT-25246 Fixed
KT-25599 Will be fixed after recompilation of unsigned classes
2018-08-06 10:55:57 +03:00
Mikhail Zarechenskiy
e1d3b21201
Skip bridge methods generation for inline classes
2018-02-09 04:56:43 +03:00