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
Michael Bogdanov
27a1a17c09
Deprecate non-const properties copies in interface
2015-10-13 14:15:47 +03:00
Andrey Breslav
8e7f6f3c8c
Migrated from @HiddenDeclaration to @Deprecated(..., level = DeprecationLevel.HIDDEN)
2015-10-13 13:50:16 +03:00
Michael Bogdanov
ee6dbac381
Remove synthetic flag from internal members
2015-10-13 10:48:37 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Michael Bogdanov
afa281357a
Changed visibility for trait static fields
2015-10-09 16:25:20 +03:00
Michael Bogdanov
8198ac77cb
Generate private constructor for object
...
#KT-9510 Fixed
2015-10-09 16:25:20 +03:00
Michael Bogdanov
12afbffb09
Copy to interface just companion object public const properties
2015-10-09 16:25:15 +03:00
Michael Bogdanov
a9aa2bc147
Interface companion object backing fields become static
2015-10-09 16:25:14 +03:00
Mikhail Glukhikh
a1e3471d92
"field": deprecated warnings introduced, compiler tests migrated to the new syntax
2015-09-21 15:48:00 +03:00
Denis Zharkov
bae3320d52
Get rid of deprecated annotations in testData
2015-09-18 10:14:32 +03:00
Valentin Kipyatkov
08e7a9d826
Made methods generated from declarations marked with @HiddenDeclaration synthetic in JVM
2015-09-14 17:42:40 +03:00
Dmitry Petrov
cd6ff31129
Update tests depending on part class naming
2015-09-07 16:28:43 +03:00
Denis Zharkov
31244edec9
Deprecate deprecated in favor of Deprecated
2015-09-04 18:19:31 +03:00
Yan Zhulanow
2ce9903356
Fix tests
2015-08-31 15:33:13 +03:00
Alexander Udalov
f8815d9450
Test visibility of anonymous classes for callable references
2015-07-10 20:10:13 +03:00
Denis Zharkov
c9f79c2d05
Adjust testData: get rid of obsolete annotations
2015-06-12 09:23:31 +03:00
Dmitry Jemerov
4bdf598bfe
compiler testdata: s/trait/interface
2015-05-12 19:43:17 +02:00
Stanislav Erokhin
b152211096
Added init keyword to testdata
2015-04-07 13:08:51 +03:00
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Pavel V. Talanov
59f192ef90
Replace 'class object' with 'default object' in renderers and test data
...
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Dmitry Jemerov
b4eb3e0f43
add test for visibility of setter for delegated property (KT-5957)
2015-03-05 19:04:18 +03:00
Pavel V. Talanov
35b88fb1a5
Update test data for write flags test
2015-02-16 15:38:34 +03:00
Alexander Udalov
c57441b51b
Use '$' instead of '-' in package part class names
...
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.
Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov
d78d4bc44c
Disallow extension properties with backing fields
...
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov
b68e47f705
Move JVM-specific annotations out of built-ins
...
Move 'volatile' and 'synchronized' to package 'kotlin' in stdlib. Also delete
'atomic', since its support was never implemented
2014-03-02 19:54:55 +04:00
Alexander Udalov
18c59d5495
Treat anonymous objects as classes (ClassKind.CLASS)
...
They're not objects per se, i.e. they're not singletons
2013-12-02 19:55:19 +04:00
Alexander Udalov
8a5336aca2
Don't use $ in package fragment class names
...
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Mikhael Bogdanov
76d4dcef7f
Tests for renamed fields
2013-06-17 15:20:42 +04:00
Mikhael Bogdanov
4feb395dcc
Test for static
2013-06-17 15:20:41 +04:00
Mikhael Bogdanov
47fe81471a
Synthetic accessors for class object private members
...
#KT-3338 Fixed
2013-06-17 15:20:34 +04:00