Commit Graph

1088 Commits

Author SHA1 Message Date
Andrey Breslav c9c16696f1 Do not fail when delegating to an (unsupported) dynamic type on the JVM 2014-12-01 20:43:46 +03:00
Andrey Breslav e10d29a10b JS-specific tests moved to a separate directory 2014-12-01 20:43:46 +03:00
Andrey Breslav 6187a0e9e0 Fix for UNSUPPORTED diagnostic for dynamic types in local classes 2014-12-01 20:43:46 +03:00
Andrey Breslav b7dd63465b Allow invoke-convention on dynamic expressions 2014-12-01 20:43:45 +03:00
Andrey Breslav 53bbf20b0d Allow augmented assignments on dynamic receivers 2014-12-01 20:43:45 +03:00
Andrey Breslav 300f484535 Support operator conventions for dynamic types
TODO:
- invoke
- += etc
2014-12-01 20:43:45 +03:00
Andrey Breslav 4adf74b46f Do not allow compareTo() to return Int? 2014-12-01 20:43:44 +03:00
Andrey Breslav 304d22553c Prohibit using dynamic as an argument for reified type parameters 2014-12-01 20:43:44 +03:00
Andrey Breslav d5fdfcb797 Resolve dynamic.extensionForDynamic() statically 2014-12-01 20:43:44 +03:00
Andrey Breslav 8ee00b70ee Tests for extensions properties on dynamic types 2014-12-01 20:43:43 +03:00
Andrey Breslav 1afe6fca5b Test for vararg parameter of dynamic type 2014-12-01 20:43:43 +03:00
Andrey Breslav 8cf6d24ffe Test for using dynamic types in conditions 2014-12-01 20:43:43 +03:00
Andrey Breslav ea36024893 Report an error on dynamic types used as supertypes or upper bounds 2014-12-01 20:43:43 +03:00
Andrey Breslav 65164e95b5 Test for overrides involving dynamic types 2014-12-01 20:43:42 +03:00
Andrey Breslav e09b624f05 dynamic is not a keyword on the left-hand side of callable references 2014-12-01 20:43:42 +03:00
Andrey Breslav 1f66c64ee0 dynamic receiver admits nullable values 2014-12-01 20:43:42 +03:00
Andrey Breslav 71b2e8bcf1 Test for substitutions with dynamic types 2014-12-01 20:43:41 +03:00
Andrey Breslav a1c1d25575 Test for using dynamic types with smart casts 2014-12-01 20:43:41 +03:00
Andrey Breslav 712f776545 Test for using dynamic types with smart casts 2014-12-01 20:43:41 +03:00
Andrey Breslav cdecb9d8c4 Test for using dynamic types in type inference 2014-12-01 20:43:41 +03:00
Andrey Breslav 52f1e037c1 Dynamic calls have priority over extensions 2014-12-01 20:43:40 +03:00
Andrey Breslav f58b30706e Parsing dynamic in extension receiver position 2014-12-01 20:43:40 +03:00
Andrey Breslav 4f3158abb3 Mark dynamic calls in tests 2014-12-01 20:43:40 +03:00
Andrey Breslav c8029307fa Forbid dynamic on the RHS of is and as 2014-12-01 20:43:40 +03:00
Andrey Breslav 645d931a9e Support for named arguments in dynamic calls 2014-12-01 20:43:39 +03:00
Andrey Breslav 0ebc478d50 Test for dynamic calls with lambdas 2014-12-01 20:43:39 +03:00
Andrey Breslav d2e6767c07 Delegation and nullability turned into capabilities
Otherwise they did not sustain substitutions
2014-12-01 20:43:39 +03:00
Andrey Breslav 845f30975d Basic support for dynamic calls 2014-12-01 20:43:39 +03:00
Andrey Breslav d5932e1a33 Nullability of dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav e0bd881c1e Rendering for dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav 65794183e7 Specificity supported for dynamic types 2014-12-01 20:43:38 +03:00
Andrey Breslav 20513abe04 Allow dynamic types only in some contexts 2014-12-01 20:43:38 +03:00
Nikolay Krasko 840e16baa0 Test for IllegalArgumentException bug from JVM backend (KT-6149)
JVM backend fails with IllegalArgumentException: Argument for @NotNull parameter 'descriptor' of org/jetbrains/jet/codegen/PropertyCodegen.gen must not be null

 #KT-6149 Fixed
2014-11-28 17:18:48 +03:00
Nikolay Krasko edf4ab8e64 Check no exception when static import in java is used and there's cyclic dependency between kotlin and java (KT-5848)
#KT-5848 Fixed
2014-11-28 17:18:48 +03:00
Nikolay Krasko 0f852efb54 LTDA: Don't store illegal 'inner' modifier in descriptors 2014-11-28 17:18:43 +03:00
Nikolay Krasko f2b6ea29c9 LTDA: Remove redeclaration errors under lazy resolve 2014-11-28 17:18:43 +03:00
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