Zalim Bashorov
619854a7a3
JS frontend: additional check for nativeSetter -- check that the return type is either Unit or a supertype of the second parameter's type.
2014-12-30 19:10:38 +03:00
Zalim Bashorov
9869ae10e5
JS frontend: allow to omit body for native functions and initializer for native properties. Additionally suppress UNUSED_PARAM for new nativeX annotations too.
2014-12-29 21:37:18 +03:00
Alexander Udalov
3bde619ca3
Add test for obsolete issue
...
#KT-4434 Obsolete
2014-12-29 18:00:17 +03:00
Alexander Udalov
91754c0c4b
Move test files to test data root
2014-12-29 18:00:16 +03:00
Andrey Breslav
42113b5e58
Filtering error types and accounting for platform types when computing intersections
...
KT-6508 Build impossible because of NoSuchElementException
#KT-6508 Fixed
2014-12-29 14:13:14 +03:00
Svetlana Isakova
74a08c9747
Added tests for simple approximation (of Captured(out/in Int))
2014-12-27 00:55:26 +03:00
Svetlana Isakova
9d09a4d1b4
Fixed message for TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH error
2014-12-27 00:55:26 +03:00
Svetlana Isakova
7b09e85717
Added check for incompatible variance modifiers and repeated modifiers
2014-12-27 00:55:25 +03:00
Svetlana Isakova
d2becce1ac
Make vararg argument of java annotation have 'out' type
2014-12-27 00:55:23 +03:00
Svetlana Isakova
179c9ef2d6
Refactoring. Moved error checks (for abstract, super)
...
to CandidateResolver
Added error SUPER_CANT_BE_EXTENSION_RECEIVER (it was SUPER_IS_NOT_AN_EXPRESSION)
2014-12-27 00:55:22 +03:00
Svetlana Isakova
62c8a6f79a
Fixed resolve for callable references
...
functions and properties have the same priority
2014-12-27 00:55:22 +03:00
Valentin Kipyatkov
18a536c846
Added test for correct package names resolve inside local classes
2014-12-26 16:23:19 +03:00
Valentin Kipyatkov
a383a82ddd
No subpackages of current package resolved by short name
2014-12-26 16:23:19 +03:00
Valentin Kipyatkov
1f17d7adcd
Changed language sematics: imports with '*' do not import packages anymore
2014-12-26 15:45:01 +03:00
Andrey Breslav
89e1588e13
LIGHT_CLASSES mode for scripts
...
- Do not generate constructor bodies
- Do not generate script class when package contents are requested
- NOT DONE: generate script class when its name is requested
2014-12-25 22:02:23 +03:00
Andrey Breslav
292cb9baa9
Resolve dangling annotations in files and class bodies
2014-12-25 19:42:38 +03:00
Andrey Breslav
6728a384e4
KT-4881 Annotation resolved to package should be compile-time error
...
#KT-4881 Fixed
2014-12-23 15:18:47 +03:00
Svetlana Isakova
6489ff2cb6
Ignore constraint from implicit 'in Nothing'
...
From Array<T> <: Array<out Int> we may generate T >: Nothing (implicit) and T <: Int (explicit).
Without ignoring we'll infer 'Nothing' for T too often
2014-12-22 12:04:42 +03:00
Andrey Breslav
633a4aa8f2
Self-types marked as unsupported
2014-12-19 20:36:16 +03:00
Zalim Bashorov
92984a37ea
Js frontend: prohibit default values for functions annotated as nativeIndexer.
2014-12-16 18:30:05 +03:00
Zalim Bashorov
4c3073d03e
JS frontend tests: add test cases with declare member extension functions.
2014-12-16 18:30:04 +03:00
Zalim Bashorov
2484954e2f
Frontend tests: serialize dynamic call descriptors and check them in diagnostic tests.
2014-12-16 17:48:26 +03:00
Andrey Breslav
229c7ad537
Report an error on native declarations marked ilnine
2014-12-16 16:23:31 +03:00
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
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
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
Svetlana Isakova
1f6f607f40
Type variable with non-trivial upper bound cannot capture 'in' projection
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
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
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
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
010af19fe9
Delegated Properties: allowing type parameters for get/set methods
...
#KT-6253 Fixed
2014-12-08 21:30:54 +03:00
Stanislav Erokhin
f9afdf7540
Use Visibilities.isVisible with ReceiverValue.
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
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