Alexey Tsvetkov
1e2256207c
Update test data
2015-10-19 20:45:02 +03:00
Dmitry Petrov
8ab55813fe
Dropping package facades:
...
- clashing JVM signature diagnostics should be reported in stable order
- drop tests for clashes vs package facades
- introduce box test for class named as old package facade
- fix some testData
2015-10-19 16:03:19 +03:00
Mikhail Glukhikh
8d88109c00
Underscore names are now forbidden
2015-10-19 15:24:45 +03:00
Mikhail Glukhikh
a4af6a3076
data deprecations (empty constructors, non val/var arguments, vararg, superclasses) are now errors, relevant tests fixed
2015-10-19 15:24:28 +03:00
Yan Zhulanow
e14c9645dc
Error on 'if' without an 'else' branch when used as an expression
2015-10-19 03:56:15 +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
1c02231cda
Regenerate rendered descriptors after transforming Enum.values to property
2015-10-17 17:46:16 +03:00
Michael Bogdanov
3452fc8d02
Don't initialize const properties in constructor
...
#KT-9532 Fixed
2015-10-17 15:31:57 +03:00
Stanislav Erokhin
7d7d37719b
Forbidden old invokeExtension convention.
2015-10-17 14:45:53 +03:00
Denis Zharkov
bd37a10677
Transform *Array.size to properties
2015-10-16 18:16:02 +03:00
Yan Zhulanow
d52f245cf7
Rename unary plus/minus in builtins and stdlib
2015-10-15 18:23:58 +03:00
Alexander Udalov
5017e54022
Fix test broken during merge
2015-10-14 22:02:11 +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
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
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
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
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
97ed8c83a0
Adjust testData to isEmpty/key/value transformations
2015-10-10 12:29:15 +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
7fe71d21f3
Initialize class companion object fields on accessing its java class
2015-10-09 16:25:16 +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
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
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
Michael Nedzelsky
483110332c
fix KT-431 Prohibit safe calls on namespaces, super etc
...
#KT-431 Fixed
2015-10-05 13:14:42 +03:00