Commit Graph

1052 Commits

Author SHA1 Message Date
Alexander Udalov 8dae1b62dd Add CharSequence.subSequence
This is done primarily for JVM interoperability, otherwise it's impossible to
inherit from CharSequence there. On JS subSequence at the moment just invokes
substring.

 #KT-5956 Fixed
2014-11-27 20:38:19 +03:00
Alexander Udalov 4d95bcfc7e Rename CharSequence.get to charAt
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence

 #KT-1730 Fixed
 #KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Denis Zharkov 02be1063c1 Do not report a warning on an inline function with a reified parameter
#KT-6273 Fixed
2014-11-27 13:49:17 +04:00
Svetlana Isakova 724f2e6e7b KT-6081 Chained generic method calls: wrong type inference
#KT-6081 Fixed
2014-11-27 02:28:10 +03:00
Andrey Breslav 0eee83b6ec Lazy logs removed 2014-11-21 18:59:45 +03:00
Svetlana Isakova 2a83053355 Updated lazy log tests 2014-11-21 14:02:45 +03:00
Svetlana Isakova 0719297d8f Uncommented test when extensions are called for nested calls 2014-11-21 14:02:42 +03:00
Svetlana Isakova 5d0f004292 Fix for 'if' special construct type
If one branch has Nothing type (contains 'return', etc.),
return result type of corresponding resolved call (it may depend on smart casts)
 #KT-6242 Fixed
2014-11-21 14:02:42 +03:00
Svetlana Isakova 36fd8a1a08 Set the right call operation node for implicit invoke
Make a call for implicit invoke safe if an outer call is safe
2014-11-21 14:02:42 +03:00
Svetlana Isakova 7f62675665 Fixed error reporting for special constructions (if, elvis)
Track whether an error was reported for sub expressions (like 'if' branches) or it should be reported for the whole expression
 #KT-6189 Fixed
2014-11-21 14:02:42 +03:00
Svetlana Isakova 8109b1f997 DONT_CARE placeholder can be nullable after a substitution
Interpret it as DONT_CARE as well (not as an error type where an error was generated before)
 #KT-6175 Fixed
2014-11-21 14:02:41 +03:00
Svetlana Isakova 8ad017c071 Extracted 'deparenthesizeArgument', used it where necessary
#KT-6176 Fixed
2014-11-21 14:02:41 +03:00
Stanislav Erokhin 65c9ea2465 Fix variance problems. 2014-11-17 17:45:05 +03:00
Stanislav Erokhin c10c1ad7f6 Fix wrong containingDeclaration for property type parameter. 2014-11-17 17:45:05 +03:00
Stanislav Erokhin b7c473f59e Update lazy.log files 2014-11-17 17:45:01 +03:00
Alexander Udalov 93696ff9bd Make Array.indices extension property, move to stdlib
This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
2014-11-17 15:20:44 +03:00
Alexander Udalov 128c938965 Make Array.size() a function instead of a property
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Pavel V. Talanov d2cfcfa659 Fix test data after changes to renderer and descriptors 2014-11-14 17:09:05 +03:00
Denis Zharkov 8d47bdfebb Made <T> in arrayOfNulls() reified #KT-5651 Fixed 2014-11-13 20:56:10 +03:00
Denis Zharkov b3691b7358 Frontend changes for reified type parameters
Allowing reified only for inline functions and Intrinsics
2014-11-13 20:56:09 +03:00
Alexander Udalov 4f0d83a7fe Update lazy logs after field rename 2014-11-11 18:35:39 +03:00
Andrey Breslav 4892369cf4 Diagnostic tests are logging their lazy activity 2014-11-10 17:24:04 +02:00
Andrey Breslav 8436147cec KT-1056 Don't allow passing type arguments to T
#KT-1056 Fixed
2014-11-10 17:23:58 +02:00
Evgeny Gerashchenko 47e16390a9 Added test with conflicting function overloads in different files. 2014-11-07 14:52:00 +03:00
Valentin Kipyatkov 0806de6782 Highlighting ranges should never include comments before/after element 2014-10-31 21:08:52 +03:00
Valentin Kipyatkov f0b93f3de3 Fixed highlighting range for errors in class object 2014-10-31 21:08:52 +03:00
Valentin Kipyatkov cf04ba4943 Corrected test data 2014-10-31 21:07:51 +03:00
Valentin Kipyatkov c93b78c6dc Fixed diagnostics tests 2014-10-31 21:07:50 +03:00
Pavel V. Talanov c0416255c4 DescriptorRenderer: fix rendering of functional types in receivers 2014-10-31 15:04:45 +03:00
Natalia Ukhorskaya 7bb4e538a6 Use resolveAnnotations instead of getResolvedAnnotations for typeReference 2014-10-30 15:39:38 +03:00
Andrey Breslav a14eefcea3 KT-6077 Compiler does not issue error on unsafe access to ArrayList with nullable values
#KT-6077 Fixed
2014-10-22 00:41:20 +04:00
Andrey Breslav 7b89771953 KT-6059 Regression: irrelevant compiler error on trait inheritance (worked in M8)
#KT-6059 Fixed
2014-10-22 00:41:19 +04:00
Andrey Breslav 0e42de4e99 CHECK_TYPES injected through imports 2014-10-22 00:41:19 +04:00
Andrey Breslav f06e5581aa Support creating flexible types in tests
Flexible types can not be created in normal user code, but if there's a special classifier `kotlin.internal.flexible.ft` with two type parameters,
its occurrences are replaced by flexible types, e.g. `ft<Int, Int?>` becomes `Int!`
2014-10-22 00:41:18 +04:00
Alexander Udalov 3a8ad45dec Append newline to EOF for .txt test data files
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Alexander Udalov 102f0d3470 Regenerate .txt testData
Add newline to EOF, trim trailing spaces
2014-10-21 00:16:08 +04:00
Alexander Udalov 4d9ef1042d Prohibit 'override' on classes and all modality on objects
#KT-3464 Fixed
2014-10-21 00:16:07 +04:00
Alexander Udalov ae401cac0f Prohibit type parameters for enum classes
#KT-5696 Fixed
2014-10-21 00:16:07 +04:00
Alexander Udalov 63366042ed Fix incorrect "senseless null in when" on nullable type 2014-10-21 00:16:07 +04:00
Alexander Udalov fe59dc27b3 Make 'when' on nullable enums exhaustive if 'null' entry is present
#KT-2902 Fixed
2014-10-21 00:16:06 +04:00
Alexander Udalov c071ac854e Prohibit all modifiers for enum entries
#KT-2679 Fixed
2014-10-21 00:16:06 +04:00
Svetlana Isakova 4a1a95ea36 Rename: casted -> cast 2014-10-18 11:06:53 +04:00
Svetlana Isakova 595b3ffe23 KT-6026 Exception on instantiating a nested class in an anonymous object
#KT-6026 Fixed
2014-10-18 11:06:53 +04:00
Svetlana Isakova c0c9552f4c KT-5971 Missing error when fun argument is safe call
#KT-5971 Fixed
2014-10-18 11:06:53 +04:00
Svetlana Isakova a47729c626 KT-5455 Need warning about redundant type cast
#KT-5455 Fixed
2014-10-18 11:06:52 +04:00
Svetlana Isakova b20327770b KT-5854 Incorrect 'Nested class should be qualified'
#KT-5854 Fixed
2014-10-18 11:06:52 +04:00
Svetlana Isakova c0eb894bd9 Rename: NO_RECEIVER_ADMITTED -> NO_RECEIVER_ALLOWED 2014-10-18 11:06:51 +04:00
Alexander Udalov 6ddc063a76 Regenerate test data on enums
Now they have final equals, hashCode and compareTo
2014-10-17 21:27:24 +04:00
Alexander Udalov 624e507ec2 Make enum classes comparable
#KT-3727 Fixed
2014-10-17 21:27:23 +04:00