Commit Graph

2125 Commits

Author SHA1 Message Date
Michael Bogdanov 60d1736b97 Instance field generation in objects 2015-10-09 16:25:16 +03:00
Michael Bogdanov 53ced57c42 Annotations.EMPTY replaced with Annotations.Companion.getEMPTY() in java classes 2015-10-09 16:25:15 +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
Zalim Bashorov e9b138557b Report error when try to access to static field which come from many sources 2015-10-09 15:00:59 +03:00
Denis Zharkov da00ddfc3e Filter out UnsafeVariance annotation when it sticks after substitution 2015-10-09 14:40:34 +03:00
Denis Zharkov 80da320c2c Customize JVM signature for Collection's members
- Do not write signature for `contains`
- Write signature for `containsAll` as it's declared like `containsAll(Collection<?>)`
2015-10-09 14:40:33 +03:00
Denis Zharkov 1f52dfccdb Setup specific loading contains/containsAll from java
If they override Kotlin collection members

contains(Object) -> contains(E)
containsAll(Collection<?>) -> containsAll(Collection<E>)
2015-10-09 14:40:33 +03:00
Denis Zharkov d27d3950fb Refine signature for Collection.contains/containsAll 2015-10-09 14:40:33 +03:00
Denis Zharkov 521e958f6d Serialize type annotations in builtins 2015-10-09 14:40:33 +03:00
Denis Zharkov e800be18c6 Introduce UnsafeVariance annotation 2015-10-09 14:40:33 +03:00
Svetlana Isakova f2efd30a5d Added 'NoInfer' and 'Exact' annotations 2015-10-09 11:05:52 +03:00
Zalim Bashorov ae2831338b Load Java static members from parents 2015-10-08 19:33:29 +03:00
Yan Zhulanow d90585624f Add 'DeprecationLevel' parameter to 'Deprecated' 2015-10-08 18:31:08 +03:00
Yan Zhulanow 937d1913b8 Automatically put 'operator' modifier on appropriate Java methods 2015-10-08 18:31:07 +03:00
Yan Zhulanow 9eeb89a6aa Rename sparam to setparam 2015-10-08 18:31:06 +03:00
Alexey Sedunov 730cc7b551 Code insight: "Generate..." actions for test framework support methods
#KT-9355 Fixed
2015-10-08 13:15:18 +03:00
Valentin Kipyatkov f27d24e640 Parameter info to use resolve candidates instead of ReferenceVariantsHelper
#KT-6164 Fixed
 #KT-8931 Fixed
2015-10-07 23:09:51 +03:00
Ilya Gorbunov 17fc1d9562 Do not sort twice 2015-10-07 22:36:50 +03:00
Ilya Gorbunov 90e5ee8a7e Replace KotlinPackage legacy facade with corresponding package parts. 2015-10-07 22:36:29 +03:00
Ilya Gorbunov ec416c5210 Replace identityEqulas with === 2015-10-07 22:36:20 +03:00
Ilya Gorbunov b50c106648 Replace reverse with reversed or asReversed. 2015-10-07 22:36:18 +03:00
Ilya Gorbunov 37a0347669 Replace sort with sorted. 2015-10-07 22:36:16 +03:00
Mikhail Glukhikh 0cc861f00b Exposed visibility checking, a set of exposed visibility tests, some test fixes
Effective visibility mechanism introduced.
Local is considered as public, java protected as Kotlin protected, java package private as Kotlin private.
2015-10-07 20:15:16 +03:00
Michael Bogdanov fa32aa2950 SYNTHETIC flag for internal members 2015-10-07 18:10:56 +03:00
Michael Bogdanov 264d7da450 PACKAGE_VISIBILITY normalization chaged to PROTECTED 2015-10-07 18:10:55 +03:00
Michael Bogdanov 882f6113dc Initial internal member mangling 2015-10-07 18:10:54 +03:00
Yan Zhulanow d28ecc2316 Mark builtins and stdlib functions with 'infix' 2015-10-07 15:49:29 +03:00
Svetlana Isakova efb23be367 Open / data forbidden: ConstraintPosition fix 2015-10-07 14:41:42 +03:00
Mikhail Glukhikh 67755d7dca Protected / final are deprecated in interfaces: scopes and call translator 2015-10-07 11:49:45 +03:00
Mikhail Glukhikh 5e6c9f1979 Internal is deprecated in interfaces: reflection fix 2015-10-07 10:17:38 +03:00
Denis Zharkov 6a1566a6dc Make JVM backend work with Collection.size as val
0. Such properties are called special because their accessor JVM name differs from usual one
1. When making call to such property, always choose special name
2. When generating Kotlin class inheriting such property generate `final bridge int size() { return this.getSize(); }`
3. If there is no `size` declaration in current class generate `bridge int getSize() { // super-call }`
2015-10-07 08:46:35 +03:00
Denis Zharkov e52e6cf869 Temporary make SmartSet less smart
SmartSet is compiled both with bootstrap and new compiler, so it can't
implement both old and new Set interfaces (with 'size' as function and as property).

This commit should be reverted after bootstraping
2015-10-07 08:46:33 +03:00
Denis Zharkov 547aa2cda6 Load special java methods as properites
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
Denis Zharkov a02b64f0e3 Setup overridability rules for properties built on Java fields
- They overrides each other
- They do not overrides Kotlin propeties and vice versa
2015-10-06 23:56:17 +03:00
Denis Zharkov dfe93406d9 Minor. Inline parameter 2015-10-06 23:56:17 +03:00
Denis Zharkov 27b231cd7d Minor. Do not record method within resolveMethodToFunctionDescriptor 2015-10-06 23:56:17 +03:00
Denis Zharkov 9d087ce5bd Convert size() functions in builtins to properties
Just like it will work itself out :)
2015-10-06 23:56:17 +03:00
Pavel V. Talanov 37d5c4b223 Allow to import members from object by name
Wrap object members so they do not require dispatch receiver
Hack jvm backend to make it work
2015-10-06 16:31:21 +03:00
Dmitry Petrov 9e546bda27 Support is/as/as? with Function[K]<...> types. 2015-10-06 10:06:27 +03:00
Valentin Kipyatkov e41732e572 No callable references to synthetic extensions (and ones for get/set) 2015-10-03 10:40:50 +03:00
Alexander Udalov cb6d16d224 Advance ABI version after changes to binary format 2015-10-03 00:59:52 +03:00
Alexander Udalov bdd69d9e46 Use internal names in multifile class metadata
To reuse the strings already existing in the constant pool of the class file
2015-10-03 00:59:34 +03:00
Alexander Udalov e1ccb92438 Write built-in extensions to new protobuf messages 2015-10-03 00:59:34 +03:00
Alexander Udalov 8c0a86617a Write JVM signatures to new protobuf messages 2015-10-03 00:59:33 +03:00
Alexander Udalov 4f21caecc4 Simplify AnnotationAndConstantLoader, use NameResolver from ProtoContainer 2015-10-03 00:59:32 +03:00
Alexander Udalov 3a7a48a079 Minor, add nameResolver to ProtoContainer 2015-10-03 00:59:32 +03:00
Alexander Udalov 14ec34e37c Refactor annotation and constant loader, simplify, drop some useless checks 2015-10-03 00:59:31 +03:00
Alexander Udalov ad735cd788 Split ProtoBuf.Callable to three messages: constructor, function, property
Serialize both at the moment, will drop the old one after bootstrap
2015-10-03 00:59:30 +03:00
Alexander Udalov 041af28166 Deprecate and don't write KotlinClass$Kind, to be removed later 2015-10-03 00:59:30 +03:00