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
Denis Zharkov
978a4cfa3c
Minor. Refine naming for SpecialBuiltinMembers
2015-10-16 18:16:02 +03:00
Denis Zharkov
bd37a10677
Transform *Array.size to properties
2015-10-16 18:16:02 +03:00
Zalim Bashorov
79d38a6c8f
Report the error when a declaration in Kotlin accidentally overrides a static member from Java
2015-10-16 16:14:34 +03:00
Zalim Bashorov
9acf3e40de
Generic type with Nothing in arguments compiles to raw type
2015-10-16 15:30:41 +03:00
Dmitry Petrov
670b49ec5e
Dropping package facades: remove unused imports from package facades
...
(not cleaned up automatically)
2015-10-16 11:23:22 +03:00
Michael Nedzelsky
114d19e6d9
use MainFunctionDetector in order to check for main function
2015-10-15 19:24:45 +03:00
Alexander Udalov
fb5d8de84b
Use type table in DescriptorSerializer, add switch to enable/disable, test
2015-10-15 18:25:40 +03:00
Yan Zhulanow
f7ce0c2d20
Add new intrinsic methods: unaryPlus, unaryMinus
2015-10-15 18:23:58 +03:00
Michael Nedzelsky
890ae3e914
Make single-file classes tolerant to having many main()'s
2015-10-15 15:46:26 +03:00
Dmitry Petrov
8cd624a58a
Drop package facades: code cleanup in Kotlin project.
2015-10-15 10:33:47 +03:00
Dmitry Petrov
57869d85e8
Spread should always copy arrays.
...
Introduce a special (package private) utility class ArraysUtilJVM
to fix Array<T>.asList() issues.
2015-10-15 09:16:21 +03:00
Ilya Gorbunov
935024db4e
Fix with hack bridge codegen for indexOf and lastIndexOf methods. More sophisticated solution is required.
2015-10-14 22:49:40 +03:00
Alexander Udalov
3c74f48f91
Pass KProperty instances to property delegates
...
Inherit KProperty from PropertyMetadata, cache corresponding KProperty objects
instead of PropertyMetadataImpl objects, add support for properties with 2
receivers
2015-10-14 20:45:24 +03:00
Mikhail Glukhikh
37ecf5def5
Fix: bridges are now generated for non-final functions of Kotlin built-in classes
2015-10-14 20:40:23 +03:00
Denis Zharkov
6c0d55e4ed
Minor. Rename kotlin file and package part: builtinsPropertiesUtil -> specialBuiltinMembers
2015-10-14 20:39:27 +03:00
Denis Zharkov
0a6bf31a2c
Refactor util methods
...
Group semantically similar parts by objects
2015-10-14 20:39:24 +03:00
Alexey Tsvetkov
62c25c0370
Replace is Array<T> with .isArrayOf<T>()
2015-10-14 18:36:53 +03:00
Michael Bogdanov
d78b59eb73
Package private visibility for private top-level members
2015-10-14 16:03:54 +03:00
Michael Bogdanov
0209cd080e
Deprecated flag for static non-JvmField and non-const properties
2015-10-14 13:13:49 +03:00
Alexander Udalov
78829b9e8f
Minor, drop some obsolete usages of TRAIT in compiler
2015-10-13 20:29:39 +03:00
Alexander Udalov
baaa3ef50a
Remove KotlinSignature annotations from project code
2015-10-13 20:29:16 +03:00
Michael Bogdanov
27a1a17c09
Deprecate non-const properties copies in interface
2015-10-13 14:15:47 +03:00
Alexander Udalov
046722100c
Minor, drop unused method
2015-10-13 11:59:46 +03:00
Michael Bogdanov
f4b7913dd3
sanitizeAsJavaIdentifier function moved to JvmAbi
2015-10-13 11:14:32 +03:00
Michael Bogdanov
f7164c5bfd
Don't rename class property with JvmField annotation, report clashing
2015-10-13 11:14:31 +03:00
Michael Bogdanov
22142ee44d
Initial support of JvmField annotation
2015-10-13 10:50:09 +03:00