Commit Graph

3318 Commits

Author SHA1 Message Date
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 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 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
Andrey Breslav 28b466d069 Parsing dynamic types 2014-12-01 20:43:37 +03:00
Zalim Bashorov 31d4a8c226 JS frontend: added tests for nativeInvoke, nativeGetter, nativeSetter. 2014-12-01 15:27:38 +03:00
Zalim Bashorov 99745dfa90 Drop platform parameter in diagnostic tests(partial revert of 2a334fc). 2014-12-01 15:27:38 +03:00
Zalim Bashorov e6b69e48d9 Minor: fix JetCoreEnvironment#(createForProduction, createForTests) call sites for JVM. 2014-12-01 15:27:33 +03:00
Nikolay Krasko e49d13dfac Refactoring: drop method, rename method in TopDownAnalyzerFacadeForJVM.java 2014-11-28 17:19:29 +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 cc6d7e420c LTDA: Test problem - skip LazyEntity in search for closest interface 2014-11-28 17:18:42 +03:00
Nikolay Krasko df115099a6 LTDA: Rename method for creating shared trace 2014-11-28 17:18:41 +03:00
Nikolay Krasko a42edb9c8f LTDA: Assert context was created for light class generation 2014-11-28 17:18:40 +03:00
Nikolay Krasko 571f3c8524 LTDA: Initialize project components with resolve session after injector construction is finished 2014-11-28 17:18:39 +03:00
Nikolay Krasko b57e5fa971 LTDA: Compare constructed descriptors only with test files 2014-11-28 17:18:35 +03:00
Alexander Udalov d1425c14ba Test built-ins serializer, untie built-ins from class loader resources 2014-11-28 15:39:03 +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 3b2d0b88f3 Supported nested reified parameter declarations
Also switched to using type names as identifiers instead of their
indices
2014-11-27 15:15:04 +04:00
Denis Zharkov 080610c208 Wrap parentCodegen before generating from inline 2014-11-27 14:58:04 +04: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
Denis Zharkov f7d1bc5931 Diagnostics test: array creation of non-reified TP
#KT-1370 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
Alexander Udalov a6d759ff96 Minor, add test for obsolete issue
#KT-3587 Obsolete
2014-11-25 23:16:56 +03:00
Alexander Udalov 3a066dfd07 Rename "context" -> "c" in deserialization for brevity 2014-11-25 23:16:27 +03:00
Alexander Udalov 1f68c94ce6 Fix several bugs in serialization of inner generic classes
- Interner was working incorrectly with parents
- nested classes were serialized in codegen out of any context

 #KT-5660 Fixed
2014-11-25 23:16:26 +03:00
Alexander Udalov 07c3a07ecb Make DeserializedType a static nested class 2014-11-25 23:15:49 +03:00