Commit Graph

26866 Commits

Author SHA1 Message Date
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 6a965c9a06 Update IDE tests to use KProperty instead of PropertyMetadata 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 a6846b3967 Insert KProperty<*> when creating property delegate methods in IDE 2015-10-14 20:45:26 +03:00
Alexander Udalov ec1b4776fe Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead 2015-10-14 20:45:25 +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 4614e74e3f isFromJavaOrBuiltins() is now public (compilation fix) 2015-10-14 20:40:34 +03:00
Mikhail Glukhikh 8b482a59d9 No inline for MutableMap extensions with JvmName (to prevent stub comparison breaking) 2015-10-14 20:40:31 +03:00
Mikhail Glukhikh 3461837c28 Temporary move std-lib deprecated back to MutableCollections (due to backward compatibility stuff) 2015-10-14 20:40:29 +03:00
Mikhail Glukhikh 4987e095e5 Move some methods to deprecated built-ins 2015-10-14 20:40:26 +03:00
Mikhail Glukhikh 37ecf5def5 Fix: bridges are now generated for non-final functions of Kotlin built-in classes 2015-10-14 20:40:23 +03:00
Mikhail Glukhikh d4a1a469b7 Number rename: xxxValue() --> toXxx(), test 2015-10-14 20:40:21 +03:00
Mikhail Glukhikh c6a1bd7df3 different enum property rename: name --> ... 2015-10-14 20:40:18 +03:00
Mikhail Glukhikh 7ee1e555bc DataFlowValue enum property rename: name --> str 2015-10-14 20:40:15 +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 ed5ba01e85 Temporary revert moving CharSequence.charAt because of markdown parser 2015-10-14 20:40:07 +03:00
Denis Zharkov 9e052372e6 Make SmartSet smarter 2015-10-14 20:40:04 +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 9088bf67c7 Extract and clean deprecated builtin extensions 2015-10-14 20:39:56 +03:00
Denis Zharkov 0b9c9a6047 Support builtin properties in ConstantExpressionEvaluator 2015-10-14 20:39:53 +03:00
Denis Zharkov e062e32f95 Do not load special builtin overrides from Java as synthesized
It has been done just to avoid clashes with real declarations that look
like our builtins: e.g. 'String removeAt(int index) {}' and 'String remove(int index) {}'in Java.

But synthesized members are even weaker than extensions.

Solution is just to ignore the latter declaration and treat first as effective override
of out builltin.
2015-10-14 20:39:51 +03:00
Denis Zharkov cd589b7e6a Add workaround for KT-9571 2015-10-14 20:39:48 +03:00
Denis Zharkov 5c2fd75389 Minor. Clarified comments in test 2015-10-14 20:39:46 +03:00
Denis Zharkov a6dfa53d77 Adjust JS stdlib maps to changes in builtins 2015-10-14 20:39:43 +03:00
Denis Zharkov d71b0144d5 Adjust testData to *Map transformation 2015-10-14 20:39:40 +03:00
Denis Zharkov 6fa8083a70 Transform builtin Map declaration and adjust stdlib 2015-10-14 20:39:38 +03:00
Denis Zharkov f0e3fd617d Adjust testData to CharSequence.length transformation 2015-10-14 20:39:35 +03:00
Denis Zharkov cb562e7ea5 Adjust JS backend to CharSequence.length transformation 2015-10-14 20:39:32 +03:00
Denis Zharkov 1305d9755a Transform CharSequence.length to property 2015-10-14 20:39:29 +03:00
Denis Zharkov 6c0d55e4ed Minor. Rename kotlin file and package part: builtinsPropertiesUtil -> specialBuiltinMembers 2015-10-14 20:39:27 +03:00
Denis Zharkov 0a6bf31a2c Refactor util methods
Group semantically similar parts by objects
2015-10-14 20:39:24 +03:00
Alexey Tsvetkov eae644c365 Remove isArrayOf reference from common JVM/JS test 2015-10-14 20:06:52 +03:00
Yan Zhulanow 528482f625 Deprecated conventions (get -> getValue, plus -> unaryPlus) quickfix 2015-10-14 19:10:36 +03:00
Yan Zhulanow f9e89596fd Add 'operator' modifier to stdlib property Delegate functions 2015-10-14 19:10:36 +03:00
Mikhail Glukhikh d2358c7fb4 Accidentally added code was rolled back 2015-10-14 18:55:26 +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 Nedzelsky 01cd277d63 fix maven build 2015-10-14 18:34:10 +03:00
Ilya Gorbunov cac7bfc80b Clarify some type in tests. 2015-10-14 18:26:46 +03:00
Ilya Gorbunov 93c73500d7 Do not allow to delegate readonly property to a map with incompatible value type.
Infer type of delegated readonly property from the map value type.
2015-10-14 18:22:30 +03:00
Ilya Gorbunov 96b33a8bfd Minor reindent optimizations 2015-10-14 18:19:57 +03:00
Ilya Gorbunov af0a59dd02 Deprecate StringBuilder { } function, and introduce buildString { } instead.
#KT-7295 Fixed
2015-10-14 18:19:57 +03:00
Ilya Gorbunov 6d7cc0671e Allow equals with ignoreCase parameter to take nullable Strings both as a receiver and a parameter.
#KT-9188
2015-10-14 18:19:56 +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 d1c7749103 Effective visibility: messages fix 2015-10-14 18:00:05 +03:00