Alexey Tsvetkov
62c25c0370
Replace is Array<T> with .isArrayOf<T>()
2015-10-14 18:36:53 +03:00
Mikhail Glukhikh
c0faf82f77
Initializer is now required for mutable properties with backing fields and open or custom setter #KT-9449 Fixed
...
Setters without body are not taken into account accordingly to KT-9449.
Old INITIALIZATION_USING_BACKING_FIELD_SETTER are both dropped.
2015-10-14 18:00:13 +03:00
Mikhail Glukhikh
9c9ab671b3
Effective visibility: local is now considered private, TYPE_DEPENDS_ON_LOCAL_CLASS diagnostics removed as repeated #KT-9542 Fixed #KT-9526 Fixed
2015-10-14 18:00:10 +03:00
Mikhail Glukhikh
3a902d6002
Effective visibility: fix for internal & protected vs protected comparison #KT-9582 Fixed
2015-10-14 18:00:07 +03:00
Mikhail Glukhikh
c210ca5b4d
Additional correctness check for noinline & crossinline #KT-9567 Fixed
2015-10-14 18:00:02 +03:00
Michael Nedzelsky
d05a7224c7
add check for escaped identifiers
2015-10-14 16:57:06 +03:00
Michael Nedzelsky
1818e9f1bd
fix parse ``
2015-10-14 16:57:03 +03:00
Pavel V. Talanov
be15399313
Report errors for type parameters of properties that are not used in receiver types
2015-10-14 13:40:10 +03:00
Ilya Chernikov
029e823b06
Placing temp files to appropriate location in DaemonExecutionViaIntermediateProcess test
2015-10-14 12:20:01 +02:00
Yan Zhulanow
275f3f8954
'operator' checks
2015-10-14 01:29:10 +03:00
Svetlana Isakova
075a8eaf39
Moved 'Exact' and 'NoInfer' annotations to stdlib
2015-10-13 21:42:54 +03:00
Valentin Kipyatkov
d728417f7f
Fixed KT-9496 FQ-class name inserted in type argument on copy/paste
...
#KT-9496 Fixed
2015-10-13 19:13:22 +03:00
Mikhail Glukhikh
5a16e43579
Synchronized is no more allowed on abstract functions
2015-10-13 16:37:34 +03:00
Mikhail Glukhikh
ccf0c363fa
Volatile is no more allowed on values #KT-7670 Fixed
2015-10-13 16:37:24 +03:00
Mikhail Glukhikh
4dbd7e7f69
Effective visibility: lower bounds introduced for all protected and for protected and internal #KT-9540 Fixed
2015-10-13 16:26:05 +03:00
Alexey Tsvetkov
0e606a3210
Prohibit named parameters in function types in supertype position
2015-10-13 16:07:55 +03:00
Alexey Tsvetkov
90849a67ae
Prohibit annotations, modifiers and default values for parameters in function type
...
#KT-7619 fixed
2015-10-13 16:07:55 +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
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
Andrey Breslav
95240fc29f
DEPRECATED_ERROR supported
2015-10-13 01:44:46 +03:00
Mikhail Glukhikh
92f031cc46
Warning "value of type parameter is predetermined" is no more generated for sealed bound #KT-9244 Fixed
2015-10-12 18:28:47 +03:00
Mikhail Glukhikh
e121ba549e
Accessor visibilities are now forbidden for abstract properties
2015-10-12 18:12:39 +03:00
Svetlana Isakova
b49a3f8e00
Added test for annotations on nullable types
2015-10-12 16:28:48 +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
Mikhail Glukhikh
65f0f312ff
Private setter is now forbidden for non-private late init variables
2015-10-12 13:30:13 +03:00
Dmitry Jemerov
2cab34bb3f
drop hexadecimal double literals
2015-10-12 11:32:34 +02:00
Dmitry Jemerov
ead19076d7
stop calling propertyDelegated() method
2015-10-12 11:16:12 +02:00
Dmitry Jemerov
02a242f15a
parser tweaks to compensate for removal of static type assertions
2015-10-12 11:11:30 +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
Denis Zharkov
742a538aed
Support loading builtin methods from Java with different names
2015-10-11 19:57:22 +03:00
Alexander Udalov
d4320b43fa
Delete useless class, simplify reading class visitor
2015-10-11 17:10:38 +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
934ffed944
Don't write field signatures when not necessary
2015-10-11 17:10:30 +03:00
Alexander Udalov
864926ee2e
Don't always write JVM method signatures to metadata
...
When the trivial type mapping (implemented in JvmProtoBufUtil) from
ProtoBuf.Type instances works fine, don't write the signature since it can be
loaded by exactly the same trivial type mapping
2015-10-11 17:10:30 +03:00
Alexander Udalov
3506a9615e
Don't write default values of flags, provide sensible defaults
2015-10-11 17:10:28 +03:00
Alexander Udalov
e4efa27b76
Drop Callable and primary/secondary constructor proto messages
2015-10-11 17:10:26 +03:00
Alexander Udalov
9bf0502a31
Load new proto messages for functions and properties
2015-10-11 17:10:24 +03:00
Denis Zharkov
ad68378836
Support loading methods from Java as common properties overrides
2015-10-10 12:29:14 +03:00
Yan Zhulanow
ed5c059cea
Rename unary plus() and minus() to unaryPlus() and unaryMinus()
2015-10-09 22:49:17 +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