Alexander Udalov
ced1edcf98
Prohibit callable references to object members
...
To be able to make them more useful in the future, i.e. bound to the object
instance
2015-10-14 20:45:56 +03:00
Alexander Udalov
63dfe13c43
Add some tests on KProperty usage from delegate methods
2015-10-14 20:45:55 +03:00
Alexander Udalov
51bf68ce27
Update compiler tests to use KProperty instead of PropertyMetadata
2015-10-14 20:45:54 +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
d4a1a469b7
Number rename: xxxValue() --> toXxx(), test
2015-10-14 20:40:21 +03:00
Mikhail Glukhikh
f8a356747e
Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated
2015-10-14 20:40:13 +03:00
Mikhail Glukhikh
78cfeb0d7d
Stdlib rename: List.indexOf(T), List.lastIndexOf(T), MutableCollection.removeAll(Collection<T>), MutableCollection.retainAll(Collection<T>)
2015-10-14 20:40:09 +03:00
Denis Zharkov
6322198a11
Revert 'isEmpty' transformation
2015-10-14 20:40:01 +03:00
Denis Zharkov
17c906658d
Transform Throwable members to properties
2015-10-14 20:39:59 +03:00
Denis Zharkov
5c2fd75389
Minor. Clarified comments in test
2015-10-14 20:39:46 +03:00
Denis Zharkov
d71b0144d5
Adjust testData to *Map transformation
2015-10-14 20:39:40 +03:00
Denis Zharkov
f0e3fd617d
Adjust testData to CharSequence.length transformation
2015-10-14 20:39:35 +03:00
Denis Zharkov
1305d9755a
Transform CharSequence.length to property
2015-10-14 20:39:29 +03:00
Alexey Tsvetkov
5449cea6b7
Make Array type parameter T non-reified
2015-10-14 18:36:53 +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
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
Michael Bogdanov
22142ee44d
Initial support of JvmField annotation
2015-10-13 10:50:09 +03:00
Pavel V. Talanov
6cf9bfdb70
publicField -> JvmField
...
Effectively drop publicField and introduce JvmField (which has the same effect for now)
Implement frontend checks for @JvmField
Replace publicField -> JvmField in test data
2015-10-13 10:50:08 +03:00
Michael Bogdanov
ee6dbac381
Remove synthetic flag from internal members
2015-10-13 10:48:37 +03:00
Dmitry Petrov
7e51fb8521
Check for exposed local classes (or objects) in type signatures
2015-10-12 15:24:54 +03:00
Dmitry Petrov
7e9e427d4c
Java 8 rules for method overrides:
...
- report errors on implementing methods of Any in interfaces
- update testData
~~~
Java 8 override restrictions: interface can't implement a method of 'Any'
- update compiler sources
2015-10-12 14:12:31 +03:00
Dmitry Petrov
5d9ee7efee
Java 8 rules for method overrides:
...
- base class method wins against a (default) interface method,
so an abstract base class method should always be implemented
in a derived class;
- interface methods clash regardless of abstract/default
with possibly undefined behavior at run-time,
so a class or interface should always define its own method
for methods inherited from multiple interfaces and not from base class;
- meaningful diagnostics for class inheriting conflicting JVM signatures.
Since no override will happen under Java 8 rules,
ACCIDENTAL_OVERRIDE is misleading for this case;
- update testData.
2015-10-12 14:12:31 +03:00
Mikhail Glukhikh
64543e3f52
Implicit Nothing return type is now deprecated
2015-10-12 13:30:16 +03:00
Dmitry Jemerov
ead19076d7
stop calling propertyDelegated() method
2015-10-12 11:16:12 +02:00
Dmitry Jemerov
1523d5bcbf
removing static type assertions work in progress
2015-10-12 11:11:23 +02:00
Denis Zharkov
a76a8fcc3f
Adjust various testData to remove/charAt transformation
2015-10-11 19:59:31 +03:00
Denis Zharkov
89ded4ab1d
Implement hack to support both remove() and removeAt() in MutableList<Int>
...
Also add couple of tests about CharSequence.get
2015-10-11 19:57:22 +03:00
Alexander Udalov
9d626ef1d9
Rename KotlinCallable annotation to KotlinFunction
2015-10-11 17:10:40 +03:00
Alexander Udalov
0218e0351b
Deprecate KPackage, to be removed later
2015-10-11 17:10:37 +03:00
Alexander Udalov
a4732b442d
Don't create KClass and KPackage instances in <clinit>
...
This proved to be a fragile technique, which probably doesn't even improve
performance in most cases but has lots of unexpected problems: unconditional
initialization of reflection classes, increasing the size of the bytecode, bugs
with <clinit> in annotations on JVM 6, inability to support conversion of a
class from Kotlin to Java without recompiling clients which use it
reflectively, etc.
2015-10-11 17:10:35 +03:00
Alexander Udalov
8c4d7fdf24
Drop deprecated nested classes from Kotlin metadata annotations
2015-10-11 17:10:33 +03:00
Denis Zharkov
97ed8c83a0
Adjust testData to isEmpty/key/value transformations
2015-10-10 12:29:15 +03:00
Denis Zharkov
ad68378836
Support loading methods from Java as common properties overrides
2015-10-10 12:29:14 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Mikhail Glukhikh
2fee9d362c
Local interfaces are forbidden now
2015-10-09 21:06:33 +03:00
Mikhail Glukhikh
d1ab5168ec
Error messages about "var with open / custom setter initialization" changed accordingly with the new backing field syntax
2015-10-09 21:06:29 +03:00
Mikhail Glukhikh
6914d09297
Old backing field with dollar is now forbidden
2015-10-09 21:06:26 +03:00
Michael Bogdanov
8198ac77cb
Generate private constructor for object
...
#KT-9510 Fixed
2015-10-09 16:25:20 +03:00
Michael Bogdanov
a4997e8b31
backend tests: INSTANCE$ -> INSTANCE
2015-10-09 16:25:18 +03:00
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