Michael Bogdanov
7fe71d21f3
Initialize class companion object fields on accessing its java class
2015-10-09 16:25:16 +03:00
Michael Bogdanov
60d1736b97
Instance field generation in objects
2015-10-09 16:25:16 +03:00
Michael Bogdanov
12afbffb09
Copy to interface just companion object public const properties
2015-10-09 16:25:15 +03:00
Denis Zharkov
e9cd9db2a7
Adjust testData after contains transformation
2015-10-09 14:40:34 +03:00
Denis Zharkov
35783f129b
Generate INSTANCEOF barrier in bridges for Collection.contains
2015-10-09 14:40:33 +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
Alexander Udalov
448b3f6195
Rename testData/codegen/boxWithStdlib/{jdkAnnotations -> jdk}
2015-10-09 11:51:58 +02:00
Alexander Udalov
13c54a2678
Drop external annotations support in build tools
...
External annotations will only be considered in the IDE for additional
inspections based on more precise types in Java libraries
2015-10-09 11:51:58 +02:00
Zalim Bashorov
c8f54b3ccb
Fix the accessing to static field from Parent through Child
2015-10-08 19:33:29 +03:00
Zalim Bashorov
ae2831338b
Load Java static members from parents
2015-10-08 19:33:29 +03:00
Yan Zhulanow
fd3c28c950
Forbid Foo<T>.Bar
2015-10-08 18:31:07 +03:00
Yan Zhulanow
2c848b8bb0
Add JvmSynthetic annotation
2015-10-08 18:31:06 +03:00
Yan Zhulanow
9eeb89a6aa
Rename sparam to setparam
2015-10-08 18:31:06 +03:00
Ilya Gorbunov
43a74e575e
Fix testData/codegen: replace deprecated sort usages.
2015-10-07 22:36:43 +03:00
Michael Bogdanov
882f6113dc
Initial internal member mangling
2015-10-07 18:10:54 +03:00
Yan Zhulanow
1b01e7a85a
Fix tests ('infix')
2015-10-07 15:50:23 +03:00
Mikhail Glukhikh
fff434d377
data + open / inner / abstract / sealed are now forbidden
2015-10-07 15:13:14 +03:00
Mikhail Glukhikh
cba6870f52
protected & internal are now forbidden in interfaces
2015-10-07 11:57:14 +03:00
Mikhail Glukhikh
846d7cac69
protected is deprecated inside objects and forbidden inside annotations and enum entries
2015-10-07 10:21:11 +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
252c82abe3
Generate bridges for FAKE_OVERRIDE properties
...
The same way it's done for function, just call generateBridges for accessors
#KT-9442 Fixed
2015-10-07 08:46:34 +03:00
Denis Zharkov
c21d827326
Adjust various testData to size transformation
2015-10-07 08:46:34 +03:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Pavel V. Talanov
508b401603
Codegen: fix callable reference to member imported from object
2015-10-06 16:31:22 +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
4a3f53b322
Revert fbf2424838:
...
postpone "transparent semantics for spread operator"
until Java-related design issues are resolved (java.utils.Arrays#asList).
2015-10-06 13:48:59 +03:00
Dmitry Petrov
fbf2424838
Spread should always copy arrays.
2015-10-06 10:07:12 +03:00
Dmitry Petrov
9e546bda27
Support is/as/as? with Function[K]<...> types.
2015-10-06 10:06:27 +03:00
Michael Nedzelsky
483110332c
fix KT-431 Prohibit safe calls on namespaces, super etc
...
#KT-431 Fixed
2015-10-05 13:14:42 +03:00
Michael Bogdanov
cd78514b76
Code clean, small refactorings and tests
...
#KT-8987 Fixed
2015-10-03 10:53:22 +03:00
Michael Bogdanov
3806ad65fc
Fixed error with wrong parameter size calculation
2015-10-03 10:53:21 +03:00
Michael Bogdanov
2a19b06874
new tests
2015-10-03 10:53:18 +03:00
Michael Bogdanov
c83a5b8bd5
Proper param propagation in inline
2015-10-03 10:53:17 +03:00
Michael Bogdanov
1f2b9ce72b
Addded DefaultCallMask class and extended interface for argument generation
2015-10-03 10:53:12 +03:00
Alexander Udalov
661f4efc68
Forbid callable references to members and extensions with empty LHS
...
This syntax is reserved to be likely used in the future as a shorthand for
"this::foo" where the resulting expression doesn't take the receiver as a
parameter but has "this" already bound to it
2015-10-03 04:37:04 +03:00
Alexander Udalov
041af28166
Deprecate and don't write KotlinClass$Kind, to be removed later
2015-10-03 00:59:30 +03:00
Dmitry Petrov
1f69ae254d
KT-9377 Support is-checks for read-only collections
...
Additional tests.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
06d9ff6a71
KT-9377 Support is-checks for read-only collections
...
Generate better code for 'as?' with mutable collection types:
use CHECKCAST, do not introduce special intrinsics for safe-as.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
e033d093d4
KT-9377 Support is-checks for read-only collections
...
Reorganize marker interfaces and is/as/as? intrinsics.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
6cb0e5151c
KT-9377 Support is-checks for read-only collections
...
Intrinsics for is/as/as? with mutable Kotlin collections and related types.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
35881198c3
KT-9377 Support is-checks for read-only collections
...
Marker interfaces for mutable Kotlin collections and related classes.
2015-10-02 15:17:00 +03:00
Michael Bogdanov
e91c556d06
Fix for wrong local variable table at inlining lambda with finallies
2015-10-02 13:41:41 +03:00
Denis Zharkov
ea8ada4664
Fix accessor naming test: count only method declarations
2015-09-30 08:19:52 +03:00
Denis Zharkov
fd0c92e307
Record inner class info for interface and DefaultImpls
2015-09-30 08:19:51 +03:00
Denis Zharkov
a101fffd9a
Change INTERFACE_IMPL_CLASS_NAME: $TImpl -> DefaultImpls
2015-09-30 08:19:51 +03:00
Valentin Kipyatkov
069ce12604
Accessor naming should be locale-independant
2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
420c6856be
Changed naming algorithm of accessor name generation: "isXXX" and "kClass" cases affected
2015-09-29 18:32:24 +03:00
Alexander Udalov
1036506b25
Introduce new string table optimized for JVM class files
...
This format of the string table allows to reduce the size of the Kotlin
metadata in JVM class files by reusing constants already present in the
constant pool. Currently the string table produced by JvmStringTable is not
fully optimized in serialization (in particular, the 'substring' operation
which will be used to extract type names out of generic signature, is not used
at all), but the format and its complete support in the deserialization
(JvmNameResolver) allows future improvement without changing the binary version
2015-09-29 16:26:28 +03:00
Michael Nedzelsky
c62b9dc416
remove test for KT-2257: cannot access private namespace var in multi-file namespace
2015-09-25 21:16:04 +03:00
Ilya Gorbunov
1622cf9506
Fix stdlib facade names in bytecode generation and decompilation tests.
2015-09-25 21:10:13 +03:00