Michael Bogdanov
18f3eb87e4
INSTANCE field deprecated in companion object
...
Fix for KT-9692: Deadlock between <clinit> of a class (KtSimpleNameExpressionImpl) and <clinit> of its companion object
#KT-9692 Fixed
2015-10-23 17:39:27 +03:00
Michael Bogdanov
a7b3c70d21
Fix for KT-7017: Reified type referenced in object literal crashes at runtime
...
#KT-7017 Fixed
2015-10-22 16:06:13 +03:00
Denis Zharkov
8db206e7ff
Take into account irrelevant implementation of special builtins
2015-10-21 17:51:43 +03:00
Denis Zharkov
d674aa1427
Refine signature mapping for special overrrides from Java
...
They have special JVM descriptor only when they are not inherited from
Kotlin super class
2015-10-21 17:51:43 +03:00
Denis Zharkov
e31f751830
Minor. Move hasRealKotlinSuperClassWithOverrideOf to descriptor.loader.java
2015-10-21 17:51:43 +03:00
Denis Zharkov
0b3118554b
Extract hasRealKotlinSuperClassWithOverrideOf and simplify needGenerateSpecialBridge
...
Temporary don't mind that some element `reachableDeclarations` is
final in Java because it's anyway follows that function descriptor itself is final.
2015-10-21 17:51:43 +03:00
Michael Bogdanov
55d2300860
Fix for KT-6722
...
#KT-6722 Fixed
2015-10-21 17:12:17 +03:00
Michael Bogdanov
f4d3ecf8e6
Generate public constructor for anonymous objects if it inside inline fun
...
#KT-9331 Fixed
2015-10-21 17:12:17 +03:00
Mikhail Glukhikh
d6988ad69e
Get rid of FIELD_IDENTIFIER at syntax level, two errors dropped, a set of tests fixed / deleted #KT-9539 Fixed
2015-10-21 16:36:55 +03:00
Michael Bogdanov
d977d29ec4
Support access to companion private members from nested classes
...
#KT-5363 Fixed
#KT-6804 Fixed
2015-10-20 19:19:41 +03:00
Dmitry Jemerov
d6a3870101
rename Kt to Kotlin in KtType, KtIcons
2015-10-20 16:23:31 +02:00
Michael Bogdanov
d054c6bf6a
Stable element order in redeclaration diagnostic
2015-10-20 13:25:27 +03:00
Dmitry Jemerov
49033e0002
rename Jet* classes to Kt*
2015-10-19 21:35:30 +02:00
Alexander Udalov
1c280c96b6
Set binary version to 1.0.0
2015-10-19 22:12:39 +03:00
Alexey Tsvetkov
3476bed18a
Drop @native from stdlib
2015-10-19 21:32:24 +03:00
Alexey Tsvetkov
e9e42b0251
Code cleanup
2015-10-19 20:45:03 +03:00
Alexey Tsvetkov
3cd85a25e4
Generate ACC_NATIVE for external
2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
c50aab6a75
Add modifier flags to descriptors
2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
f2c69e56d2
Remove @annotation from stdlib and compiler
2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
ec57d3f144
Remove @data from stdlib and compiler
2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
264bd5235b
Add isData() to ClassDescriptor
2015-10-19 20:45:00 +03:00
Michael Bogdanov
c8c3e88c82
Make top-level property backing field private in bytecode
2015-10-19 19:09:30 +03:00
Dmitry Petrov
dda508234f
Drop package facades:
...
- update tests
- cleanup JetTyMapper after rebase
2015-10-19 16:03:22 +03:00
Dmitry Petrov
621d26aeeb
Drop package facades: fix incremental compilation tests & proto comparison tests
...
(package facades are no longer generated)
2015-10-19 16:03:21 +03:00
Dmitry Petrov
70c91b2e75
Drop package facades:
...
- getting rid of package facades in InlineCodegen & related stuff.
Provide binary source element to top-level package members.
2015-10-19 16:03:20 +03:00
Dmitry Petrov
c55106a325
Drop package facades:
...
- incremental cache impl should not depend on package facades
- fix trivial incremental compilation tests
TODO: inlines DO NOT WORK with incremental compilation
2015-10-19 16:03:20 +03:00
Dmitry Petrov
31a85132c6
Dropping package facades:
...
- use KotlinCodegenFacade to build light classes
(PackageCodegen is not enough to obtain proper diagnostics)
2015-10-19 16:03:19 +03:00
Dmitry Petrov
dc399ac46b
Drop package facades: get rid of isPackageClassFqName
2015-10-19 16:03:18 +03:00
Dmitry Petrov
149e70aa07
Dropping package facades:
...
- light classes: do not generate light class for package facade
- drop package facades as multifile classes compilation mode support
- get rid of some additional package facade fqName usages
- update tests for light classes
2015-10-19 16:03:16 +03:00
Dmitry Petrov
3502c393fc
Drop package facades: JVM BE tests passed.
2015-10-19 16:03:16 +03:00
Michael Bogdanov
01864801f3
Stable accessors names
2015-10-18 17:53:29 +03:00
Michael Bogdanov
7851abd535
Generate access to private members through synthetic accessors in inline functions
2015-10-18 17:53:28 +03:00
Michael Bogdanov
8641dbf42a
Fix couldUseDirectAccessToProperty for private top-level properties
2015-10-18 17:53:27 +03:00
Michael Bogdanov
e2eddac27d
Workaround for KT-9603
2015-10-18 17:53:27 +03:00
Michael Bogdanov
7022d84ec1
Use package part context for class generation
2015-10-18 17:53:27 +03:00
Michael Bogdanov
3e64baad78
Support multifile facades in isCallInsideSameClassAsDeclared
2015-10-18 17:53:26 +03:00
Michael Bogdanov
c63d221da3
Skip private members in facades
2015-10-18 17:53:26 +03:00
Michael Bogdanov
5b3a7a473e
Private visibility for top-level private members
2015-10-18 15:53:48 +03:00
Denis Zharkov
fafca76ac5
Generate common bridges for final builtin declaration
...
#KT-9596 Fixed
2015-10-17 17:46:17 +03:00
Denis Zharkov
d8ede6d03e
Transform Enum.values to property
2015-10-17 17:46:16 +03:00
Mikhael Bogdanov
d985f56b8d
Fix local variable shift for inline functions
2015-10-17 17:02:56 +03:00
Natalia Ukhorskaya
9168572b8c
Write local variable for inline function and inline argument
2015-10-17 17:02:55 +03:00
Michael Bogdanov
3452fc8d02
Don't initialize const properties in constructor
...
#KT-9532 Fixed
2015-10-17 15:31:57 +03:00
Svetlana Isakova
25b40455ad
Serialize/deserialize annotations on type parameters
2015-10-16 21:58:47 +03:00
Yan Zhulanow
8a5c59e6b7
Inline static fields from Java
2015-10-16 21:36:33 +03:00
Denis Zharkov
155bbd40ae
Do not generate not-null assertion for argument of Collection.contains
...
Of course not only for contains but for other methods having INSTANCEOF bar.rier
Otherwise using platform null values becomes for such methods becomes
dangerous in cases like `platformString in setOf("", "")`
2015-10-16 18:16:02 +03:00
Denis Zharkov
495780f5ab
Generate INVOKEVIRTUAL 'contains(Object)' instead of 'contains(String)'
...
In cases when callee overrides Collection<String>.contains
2015-10-16 18:16:02 +03:00
Denis Zharkov
64da399b31
Do not generate builtin bridges with Kotlin signature as synthetic
...
They should be available in Java (at least for overridding)
2015-10-16 18:16:02 +03:00
Denis Zharkov
d335f71dfe
Generate special bridges for builtins with same name but different JVM descriptor
2015-10-16 18:16:02 +03:00
Denis Zharkov
b5296104e9
Ignore fake overrides when generating stub methods for MutableCollections
...
Because it's redundant as we go through all mutable collection hierarchy anyway
It wasn't a problem because for fake override just `generatedBridges` is being called
and there were no special bridges for such methods.
2015-10-16 18:16:02 +03:00