Steven Schäfer
f49d5da929
JVM IR: Fix enum constructor visibility
2019-09-24 13:28:08 +03:00
Kristoffer Andersen
52dc469657
JVM IR: Generate synthetic methods for type aliases with annotations
2019-09-24 12:21:42 +02:00
Steven Schäfer
e7410348a7
JVM IR: Fix visibility for @InlineOnly functions
2019-09-06 12:12:58 +02:00
Steven Schäfer
ee45933e33
JVM IR: Create local classes in PropertyReferenceLowering
...
In particular, we should not cache classes or instances for property
references, since they may be used inside of inline funtions. This also
allows us to mark the $$delegatedProperties array as package private.
2019-09-06 12:12:58 +02:00
Steven Schäfer
626f4c94f6
Handle special case visibility rules in LocalDeclarationsLowering
2019-09-06 12:12:58 +02:00
Steven Schäfer
fd2ad89799
JVM IR: Write ACC_DEPRECATED flags
2019-08-28 19:41:12 +02:00
Steven Schäfer
a90ac2438d
Set correct field visibility in psi2ir
2019-08-28 19:41:11 +02: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
Steven Schäfer
0c3c0989b4
JVM IR: Don't move inaccessible const fields out of interface companions
2019-08-09 15:22:30 +02:00
Mikhael Bogdanov
1eda42cb88
JVM_IR. Generate SMAP information for anonymous classes
...
#KT-28092 Fixed
2019-08-08 12:02:50 +02:00
Steven Schäfer
f34a08cbbf
JVM IR: Convert interface companion fields to static fields.
2019-08-08 12:01:52 +02:00
Steven Schäfer
efb938a7c8
(Un)mute tests
2019-07-31 11:18:44 +02:00
Alexander Udalov
29fa1793d3
JVM IR: add InventNamesForLocalClasses pass
2019-07-17 13:55:36 +02:00
Ting-Yuan Huang
a447c748bc
JVM_IR: support @JvmDefaults in compatibility mode.
2019-06-06 14:10:28 +02:00
Alexander Udalov
f9d61f2dc7
Make inline+reified functions synthetic instead of private in bytecode
...
#KT-18563 Fixed
2019-05-28 16:17:49 +02:00
pyos
40696f65c3
JVM_IR: generate WhenMappings for enum ordinal subjects
2019-05-13 19:09:07 +03:00
Alexander Udalov
e22594acde
JVM IR: slightly change field renaming convention implementation
...
Prefer to rename fields from the class, not from the companion, to be
more in line with the old backend's behavior. This has no effect on the
behavior of current tests but removes differences in metadata (since
metadata has information about every property->field mapping) in some of
them
2019-04-30 13:15:29 +02:00
Mikhael Bogdanov
b70ff30dc3
Don't generate bridge flag for defaults in JVM IR backend
2019-04-17 14:53:30 +02:00
pyos
fb0261bfc1
Remove JvmDescriptorWithExtraFlags and fix syntheticness
...
(of fields and classes, it is already correct for methods).
2019-04-09 08:18:14 +02:00
pyos
3fdcf8376f
Add IR equivalent of the WriteFlags test
2019-04-09 08:11:29 +02:00
Alexander Udalov
e3c381a298
Remove API_VERSION 1.3 from tests on JvmDefault
...
So that these tests will now check behavior on the latest API version
2018-12-20 12:53:23 +01:00
Alexander Udalov
c1ef89df2c
Make anonymous classes for callable references synthetic
...
#KT-28453 Fixed
2018-12-18 17:48:19 +01:00
Mikhael Bogdanov
4284c19a16
Move 'writeFlags' java 8 tests to common
2018-10-23 16:27:50 +02:00
Mikhael Bogdanov
38652372ce
Generate private constructors for Enums
...
#KT-2680 Fixed
#KT-16867 Fixed
2018-09-19 12:14:08 +02:00
Mikhael Bogdanov
b7afb4a58e
Generate enum entries classes with package private visibility
...
#KT-6574 Fixed
2018-09-14 16:23:57 +02:00
Mikhael Bogdanov
03f092fd39
Revert "Generate private constructors for Enums" cause of bootstrap problem
...
This reverts commit 81435c9
2018-09-13 17:07:56 +02:00
Mikhael Bogdanov
81435c98fa
Generate private constructors for Enums
...
#KT-2680 Fixed
#KT-16867 Fixed
2018-09-13 10:09:58 +02:00
Mikhael Bogdanov
f3f93ed6cc
Get rid of 'BRIDGE' flag on $default functions
...
#KT-24415 Fixed
2018-09-06 13:34:00 +02:00
Mikhael Bogdanov
5efc9f2257
Revert "Get rid of 'BRIDGE' flag on $default functions"
...
Removed bridge flag triggers problem with Spring Boot: KT-23973
This reverts commit cdcb651
#KT-23973 Fixed
2018-04-26 15:36:42 +02:00
Mikaël Peltier
d0ed0c4049
KT-14258 Optimize accesses to properties defined into companion
...
- Use direct access to property defined into companion object when
it is possible rather than always use an accessor to access the
property.
- Use direct access will speedup runtime performance.
- Avoid to generate useless accessors for companion properties.
Fix of https://youtrack.jetbrains.com/issue/KT-14258
2018-03-14 15:30:40 +01:00
Mikhael Bogdanov
cdcb651c8e
Get rid of 'BRIDGE' flag on $default functions
2018-03-14 13:57:49 +01:00
Dmitry Petrov
76acd23bd7
Revert "Fix synthetic accessor generation for properties"
...
This reverts commit 2427b2c
2017-09-01 16:09:29 +03:00
Dmitry Petrov
2427b2cc6c
Fix synthetic accessor generation for properties
...
Generate synthetic accessors for property accessors only if the
corresponding methods are accessible in the current context.
#KT-19306 Fixed Target versions 1.1.5
2017-09-01 09:48:26 +03:00
Mikhael Bogdanov
ff676c050f
Properly generate inner classes when compiling source for inline
...
KT-19175: Compiler generates different bytecode when classes are compiled separately or together
#KT-19175 Fixed
2017-07-26 20:31:14 +02: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
Mikhael Bogdanov
004ff86bec
Fix for KT-14774: Incorrect inner class modifier generated for sealed inner classes
...
#KT-14774 Fixed
2016-12-16 11:22:40 +01:00
Michael Bogdanov
0910f166a5
Make default methods for inlineOnly and reified functions package private
2016-10-27 11:03:35 +03:00
Alexander Udalov
36de3008e3
Fix visibility flags for lambda classes in InnerClasses attribute
2016-02-19 12:52:40 +03:00
Michael Bogdanov
71c2a6e792
Generate package private visibility in bytecode for private classes
2016-02-03 10:32:41 +03:00
Michael Bogdanov
0274ce4619
Always generate ACC_SUPER flag for all classes; Fix for KT-10260: java.lang.VerifyError in Android 4.x when Instant Run is used
...
#KT-10260 Fixed
2016-01-11 09:55:56 +03:00
Michael Bogdanov
e116cc3206
Private visibility for non-const, non-jvmField class companion property backing field
2015-12-29 16:45:22 +03:00
Michael Bogdanov
85ae0cb78e
Restrict companion properties copying to interface by const
2015-12-29 16:45:22 +03:00
Mikhail Glukhikh
f56dc722d9
Lateinit property backing field now inherits visibility from the property setter
2015-12-23 18:02:20 +03:00
Yan Zhulanow
9d1af5a17e
Fix tests: "infix modifier required" and "operator modifier required" errors
2015-11-27 15:51:11 +03:00
Michael Nedzelsky
981d471ebe
fix KT-9843 Bug in incremental compilation: module is not recompiled when optional parameter added
...
and KT-8434 Removing parameter with default value from function in different module breaks incremental compilation
#KT-9843 Fixed
#KT-8434 Fixed
2015-11-06 07:45:46 +03:00
Michael Bogdanov
c8c3e88c82
Make top-level property backing field private in bytecode
2015-10-19 19:09:30 +03:00
Dmitry Petrov
3502c393fc
Drop package facades: JVM BE tests passed.
2015-10-19 16:03:16 +03:00
Alexander Udalov
51bf68ce27
Update compiler tests to use KProperty instead of PropertyMetadata
2015-10-14 20:45:54 +03:00
Michael Bogdanov
0209cd080e
Deprecated flag for static non-JvmField and non-const properties
2015-10-14 13:13:49 +03:00