Commit Graph

2885 Commits

Author SHA1 Message Date
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