Commit Graph

9771 Commits

Author SHA1 Message Date
Svetlana Isakova a3e949674f Preserve nullability while substituting captured types 2014-12-12 23:08:28 +03:00
Svetlana Isakova 2440c48f1c Added description of 'FILE' directive for diagnostic tests 2014-12-12 23:08:28 +03:00
Svetlana Isakova 070dba69fa Don't add a constraint T <: DONT_CARE from upper bounds 2014-12-12 23:08:27 +03:00
Svetlana Isakova f9d4a68c6e KT-6320 AssertionError in ConstraintSystem(The constraint shouldn't contain different type variables on both sides: Y <: X)
#KT-6320 Fixed
2014-12-12 23:08:27 +03:00
Svetlana Isakova 1fb713342b Capture types only on the top level 2014-12-12 23:08:27 +03:00
Svetlana Isakova cd359a046c Added captured types and approximation
CapturedType captures type projection while solving the constraint system.
During the substitution type containing captured types is approximated
to get rid of captured types and (for simple cases) replace them with corresponding type projections.

Note that Array<Array< CapturedType(out Int) >> is (over)approximated by Array<out<Array<out Int>>

See 'Mixed-site variance' by Ross Tate for details.

 #KT-2570 Fixed
 #KT-2872 Fixed
 #KT-3213 Fixed
2014-12-12 23:08:27 +03:00
Svetlana Isakova e798b7c6d1 Rename: MyDeclarations -> ConstraintSystemTestData
Simplified code (used 'firstOrNull')
2014-12-12 23:08:27 +03:00
Svetlana Isakova a2fa38a7f9 Rewritten ConstraintPosition to Kotlin
Added ConstraintPositionKind
 (to be able to use enum constants from Java code)
2014-12-12 23:08:26 +03:00
Svetlana Isakova 578f6d4811 Converted ConstraintSystem to Kotlin 2014-12-12 23:08:26 +03:00
Michael Nedzelsky 1c9039d23b Rewrite to Kotlin: LibraryUtils 2014-12-12 03:04:24 +03:00
Michael Nedzelsky 5675da93f3 Rewrite to Kotlin: LibraryUtils. File rename 2014-12-12 03:04:22 +03:00
Michael Nedzelsky f8f7ea8998 JS backend: check libraries in cli compiler before translation 2014-12-12 03:04:17 +03:00
Michael Nedzelsky 44e7af7f65 K2JS: get rid of MetaInfServices 2014-12-12 03:03:37 +03:00
Michael Nedzelsky a026f6d25e add LibraryUtils.copyJsFilesFromLibraries 2014-12-12 03:03:32 +03:00
Michael Nedzelsky 729e7084fa new ant test for kotlin javascript library support 2014-12-12 03:03:29 +03:00
Michael Nedzelsky ecc0751221 K2JS: add cli compiler tests for libraries 2014-12-12 03:03:27 +03:00
Michael Nedzelsky 103307432e update kotlin javascript stdlib if needed 2014-12-12 03:03:24 +03:00
Michael Nedzelsky 85a38e17de reuse for KotlinJS library common Library dialogs
remove unnecessary code for kotlin js library support

JS backend: simplify check isConfigured for kotlin js module
2014-12-12 03:03:22 +03:00
Michael Nedzelsky 61e9cbec66 K2JS: get kotlin js module name from Kotlin-JS-Module-Name attribute in manifest 2014-12-12 03:03:13 +03:00
Michael Nedzelsky 83ec20508a JS backend: isJsRuntimeLibrary -> isKotlinJavascriptStdLibrary 2014-12-12 03:03:11 +03:00
Michael Nedzelsky 34411dcf01 JS backend: add Specification-Title to manifest and LibraryUtils.isKotlinJavascriptLibrary 2014-12-12 03:03:03 +03:00
Michael Nedzelsky 12ff5de013 K2JS: fix KT-5639 Exception in kotlin-js when directory is given instead of output file
#KT-5639 Fixed
2014-12-12 01:25:15 +03:00
Alexander Udalov d71220f8b1 Drop ArrayGenTest, move test case to generated 2014-12-11 16:04:04 +03:00
Denis Zharkov c6d6aebd2f Added tests for stdlib Array constructors 2014-12-11 16:04:04 +03:00
Denis Zharkov fe9599d588 Removed codegen of Array-constructor with lambda 2014-12-11 16:04:04 +03:00
Denis Zharkov d345ba05dd Added inline function "Array" into stdlib
It has the same signature and semantics as Array constructor had
Also made Array constructor private and accepting no arguments
2014-12-11 16:04:03 +03:00
Denis Zharkov 654411a0b0 Refactored tests using Array constructor:
Some moved to tests with stdlib
Some changed to use arrayOfNulls
2014-12-11 16:04:03 +03:00
Denis Zharkov abbcf61183 JVM Backend: always inline callable containing reified TP 2014-12-11 16:04:02 +03:00
Denis Zharkov b86e19782c Moved containsReifiedTypeParameters to DescriptorUtils 2014-12-11 16:04:02 +03:00
Zalim Bashorov bc3f53afff JS backend: added the support dynamic. 2014-12-10 22:48:02 +03:00
Zalim Bashorov 354af95d47 Frontend: add JetTokens.EQEQEQ and JetTokens.EXCLEQEQEQ to OperatorConventions.NOT_OVERLOADABLE 2014-12-10 22:48:01 +03:00
Zalim Bashorov bc3859181f Frontend: add default getter and setter to dynamic property descriptors. 2014-12-10 22:48:01 +03:00
Zalim Bashorov 65ef7525ce Allow to use dynamic types for JS projects in IDEA. 2014-12-10 22:48:00 +03:00
Andrey Breslav 2c45670cc5 NPE fixed 2014-12-10 17:34:17 +03:00
Andrey Breslav 638e768226 Minor. Class renamed 2014-12-10 16:18:38 +03:00
Andrey Breslav d17edacb65 Discriminate calls with implicit dynamic receivers 2014-12-10 16:18:38 +03:00
Evgeny Gerashchenko 4e702e34f0 Fixed incremental compilation, when removing all callables from file. 2014-12-10 14:28:21 +03:00
Denis Zharkov 9910f7cfbd Added test demonstrating usage of reified TP for dependency injection 2014-12-08 21:30:54 +03:00
Denis Zharkov 010af19fe9 Delegated Properties: allowing type parameters for get/set methods
#KT-6253 Fixed
2014-12-08 21:30:54 +03:00
Nikolay Krasko 3677881e18 Change parser error for when (KT-6420)
#KT-6420 Fixed
2014-12-08 20:42:48 +03:00
Stanislav Erokhin f9afdf7540 Use Visibilities.isVisible with ReceiverValue. 2014-12-08 18:24:30 +03:00
Stanislav Erokhin f640f82ed0 Add serialization for PRIVATE_TO_THIS 2014-12-08 18:24:30 +03:00
Stanislav Erokhin fc8cec9509 Create PRIVATE_TO_THIS visibility 2014-12-08 18:24:30 +03:00
Stanislav Erokhin d59031fdcc Skip check variance for irrelevant classes 2014-12-08 18:24:30 +03:00
Stanislav Erokhin fced4756bb Add variance test for nullable and function types. 2014-12-08 18:24:30 +03:00
Stanislav Erokhin 365c8a4787 Rename TaskPrioritizer.java -> .kt 2014-12-08 18:24:30 +03:00
Stanislav Erokhin 09250c89ed Convert TaskPrioritizer to kotlin. 2014-12-08 18:24:30 +03:00
Dmitry Jemerov f31ea8bd0e in order to avoid misleading suggestions to run 'ant dist', calculate the paths to SDK annotations relatively to the home directory 2014-12-08 17:30:49 +03:00
Evgeny Gerashchenko a3fdce8131 Highlighting "as Foo" for useless casts in gray.
#KT-6070 fixed
2014-12-08 17:30:47 +03:00
Evgeny Gerashchenko 20ee59c1e5 Simplified positioning strategy for unreachable code. 2014-12-08 17:30:47 +03:00