Alexander Udalov
e2a42446ed
Use getter names for $annotations methods in most codegen tests
...
This is needed to update master to 1.4, while still testing the latest
compiler by default. Also add one test on the old behavior.
2019-12-30 16:29:13 +01:00
Alexander Udalov
01ddac58e1
Add language feature for changed name of property annotations method
...
#KT-31352 Fixed
2019-08-12 16:48:26 +02:00
Alexander Udalov
ea0142da60
Use JVM name of getter in synthetic method for property annotations
...
#KT-31352 In Progress
2019-08-12 16:48:25 +02:00
Mikhael Bogdanov
d24ebf711b
Fix for KT-16441: NoSuchFieldError: $$delegatedProperties when delegating through provideDelegate in companion object
...
#KT-16441 Fixed
2017-02-21 13:01:40 +01:00
Alexander Udalov
0db60bf6cb
Do not always generate synthetic "$annotations" as private
...
Since annotations are a part of the declaration, they must have the same
visibility as the declaration in the bytecode. Otherwise obfuscators like
Proguard might strip the "$annotations" method and no annotations would be
found via Kotlin reflection
#KT-15993 Fixed
2017-02-03 19:35:15 +03:00
Michael Bogdanov
ca41f01468
Generate interface property annotations in interface class (not in DefaultImpls)
2016-10-03 13:50:12 +03:00
Alexander Udalov
b208995d73
Render different class kinds differently in bytecode listing test
2016-05-20 00:36:56 +03:00
Alexander Udalov
5de1cf3bb4
Do not write old metadata annotations to bytecode
2016-02-06 15:53:55 +05:30
Alexander Udalov
59dab0a558
Combine all metadata annotations into one kotlin/Metadata
2016-01-19 18:39:59 +03:00
Mikhail Glukhikh
b78d481bb1
delegate use-site targeted annotations: parser, front-end, codegen with some tests #KT-10502 Fixed
2016-01-19 11:38:41 +03:00
Yan Zhulanow
3475b4796f
Do not generate DefaultImpls if empty
2015-10-26 20:37:31 +03:00
Denis Zharkov
65551e1185
Print 'final' and 'abstract' in BytecodeListing tests and sort declarations
...
Latter is needed to make format stable
2015-10-16 18:16:02 +03:00
Alexander Udalov
a4732b442d
Don't create KClass and KPackage instances in <clinit>
...
This proved to be a fragile technique, which probably doesn't even improve
performance in most cases but has lots of unexpected problems: unconditional
initialization of reflection classes, increasing the size of the bytecode, bugs
with <clinit> in annotations on JVM 6, inability to support conversion of a
class from Kotlin to Java without recompiling clients which use it
reflectively, etc.
2015-10-11 17:10:35 +03:00
Yan Zhulanow
2c848b8bb0
Add JvmSynthetic annotation
2015-10-08 18:31:06 +03:00
Yan Zhulanow
01b2d02196
Remove @get: @set:, reorder remaining annotation targets
2015-09-11 22:32:23 +03:00
Yan Zhulanow
552211b2f4
Add bytecode listing test for use site targets and default targets (with priorities)
2015-08-31 15:33:12 +03:00