Andrey Breslav
5187694b22
Test for overriding with a native function
2014-12-16 16:23:31 +03:00
Andrey Breslav
3a8ca2608d
Report error on native members of traits
2014-12-16 16:23:30 +03:00
Andrey Breslav
a94a1f8a6f
Report error on native declaration with a body
2014-12-16 16:23:30 +03:00
Andrey Breslav
d4cf789b53
Report error on native abstract declarations
2014-12-16 16:23:30 +03:00
Andrey Breslav
76e2ae2005
Do not complain about missing bodies on native functions
2014-12-16 16:23:29 +03:00
Andrey Breslav
27d403ee23
Make native class object members delegate to static methods in the outer class
2014-12-16 16:23:28 +03:00
Andrey Breslav
d20651b881
Support native on [platformStatic] functions
2014-12-16 15:17:33 +03:00
Andrey Breslav
cba6652c05
Simplistic support for native flag
2014-12-16 15:17:33 +03:00
Svetlana Isakova
bda5bab057
Captured type might be substituted in an opposite projection
...
out Captured (in Int) = out Int
in Captured (out Int) = in Int
2014-12-16 14:41:56 +03:00
Nikolay Krasko
da6e1890bd
Don't lookahead too far when looking for '.' between type and parameters and for comma in function literal parameters
2014-12-15 20:20:09 +03:00
Nikolay Krasko
421bb57f50
Fix parser performance: don't do the additional lookahead when looking for the comma in parameters
2014-12-15 20:20:08 +03:00
Alexey Tsvetkov
c3f67c54bd
JS backend: added jsCode test cases
2014-12-15 19:16:20 +03:00
Zalim Bashorov
a6597e8926
Frontend: allow omit types in lambda parameters of dynamic call when lambda declareted inside parentheses.
2014-12-15 18:22:15 +03:00
Zalim Bashorov
59c4f55988
Frontend: allow to use the spread operator in dynamic calls.
2014-12-15 18:18:38 +03:00
Zalim Bashorov
4ac3cbc384
Frontend: allow omit types in lambda parameters of dynamic calls.
2014-12-15 18:12:53 +03:00
Zalim Bashorov
4dff9cf5fc
Frontend: fixed explicit receiver kind for dynamic call with implicit dispatch receiver.
...
Additionally added tests for other cases.
2014-12-15 18:12:04 +03:00
Svetlana Isakova
1f6f607f40
Type variable with non-trivial upper bound cannot capture 'in' projection
2014-12-12 23:08:29 +03:00
Svetlana Isakova
c097e6ee3e
After approximation interpret Contr<*> as Contr<Nothing>
...
not Contr<out Any?>
2014-12-12 23:08:29 +03:00
Svetlana Isakova
0149e8048c
Capture notnullable type if type variable is nullable
2014-12-12 23:08:29 +03:00
Svetlana Isakova
da8fdbd23e
More tests for varargs updated
2014-12-12 23:08:28 +03:00
Svetlana Isakova
7a5124215a
Updated test data for Array<out T> vararg type
2014-12-12 23:08:28 +03:00
Svetlana Isakova
5b4f10e698
Made vararg parameters have Array<out T> type
...
instead of simply Array<T>
#KT-1638 Fixed
#KT-2163 Fixed
#KT-3213 Fixed
#KT-4172 Fixed
#KT-5534 Fixed
2014-12-12 23:08:28 +03:00
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
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
Michael Nedzelsky
f8f7ea8998
JS backend: check libraries in cli compiler before translation
2014-12-12 03:04:17 +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
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
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
Andrey Breslav
d17edacb65
Discriminate calls with implicit dynamic receivers
2014-12-10 16:18:38 +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
Evgeny Gerashchenko
a3fdce8131
Highlighting "as Foo" for useless casts in gray.
...
#KT-6070 fixed
2014-12-08 17:30:47 +03:00
Alexander Udalov
63bfa004fd
Introduce binary representation for annotations
...
Will be used where annotations can't be stored elsewhere: for example,
built-ins, JS, type annotations on JDK<8
2014-12-03 16:10:19 +03:00
Michael Bogdanov
328dedc415
Fix for KT-6383: Can't access a private static member of class object
...
#KT-6383 Fixed
2014-12-03 15:49:20 +03:00
Nikolay Krasko
75c887048e
Drop AbstractLazyResolveRecursiveComparingTest test
...
Test data from compiler/testData/lazyResolve/ was moved to diagnostics tests
2014-12-03 14:08:23 +03:00