Dmitry Jemerov
e97e82d119
use terms "lambda expression" and "anonymous function" instead of "function literal" and "function expression"
2015-12-09 13:55:40 +01:00
Denis Zharkov
ecac0f177b
Fix order of type parameters loaded from PSI
...
#KT-10285 Fixed
2015-12-08 15:46:34 +03:00
Mikhail Glukhikh
57b3bc0496
Regression: getPredictableNullability for unnecessary safe call check #KT-10276 Fixed
2015-12-08 11:23:35 +03:00
Mikhail Glukhikh
5c9e55f3fb
DFA bug fix: assignment of unstable to stable uses predictable type set (see test)
2015-12-08 10:13:38 +03:00
Mikhail Glukhikh
2e73bcb3a6
DFA bug fix: assignment of unstable to stable uses predictable nullability (see test)
2015-12-08 10:13:34 +03:00
Alexander Udalov
2dce7ad1e2
Add test on "inconsistent type parameter bounds"
...
It seems that all tests on that diagnostic were replaced in previous commits by
"repeated bound" and "no other bounds except a type parameter bound"
diagnostics
2015-12-07 15:47:47 +03:00
Alexander Udalov
d3c17ec337
Report error when type parameter has a type parameter bound and any other bound
...
To prevent issues with erasure on JVM: it's unclear what such type parameter
should be erased to
2015-12-07 15:47:47 +03:00
Alexander Udalov
b1fa740341
Do not report "inconsistent bounds" when there are repeated bounds
...
Also slightly refactor DeclarationsChecker#checkSupertypesForConsistency
2015-12-07 15:47:47 +03:00
Alexander Udalov
5fbb9bfe3b
Report error on repeated upper bounds for type parameters
2015-12-07 15:47:47 +03:00
Alexander Udalov
21e64e02bd
Report error on more than one class bound for type parameters
...
Such code may behave unexpectedly when compiled to JVM
2015-12-07 15:47:47 +03:00
Mikhail Glukhikh
5729855e4f
Type parameter as result type: more precise expected type definition #KT-5385 Fixed
...
Tests for KT-5385 KT-10223 KT-7800 KT-7817 + something related
2015-12-04 19:00:24 +03:00
Mikhail Glukhikh
408dd9bc9d
Optimization: data flow info no more stores supertypes of the variable original type as possible types (dynamic is an exception)
2015-12-04 11:40:16 +03:00
Denis Zharkov
95cecdbc42
Support overrides of generic methods with erased version in Java
2015-12-03 18:19:36 +03:00
Denis Zharkov
4f06cece37
Refactor external overidability conditions
...
Before this change they could only negatively affect on result
Now they may force success result
Also refine overridavility condition for java fields:
two java fields having the same name are seen as overrides even
if they have different type
2015-12-03 18:19:36 +03:00
Denis Zharkov
8838e46578
Do not create KotlinTypeImpl with error scope while erasing
...
See assertion in KotlinTypeImpl init block
2015-12-03 18:19:36 +03:00
Denis Zharkov
e2b51f30ed
Extract 'doSubstitute' parameters into SubstitutionConfiguration
2015-12-03 18:19:36 +03:00
Mikhail Glukhikh
ea3a65d0b8
Additional tests for KT-10243
2015-12-02 18:14:59 +03:00
Mikhail Glukhikh
60e457167d
Creating deep copy of local function declaration instructions in CFA, regression test #KT-10243 Fixed
2015-12-01 23:40:50 +03:00
Dmitry Petrov
f34f7556bc
KT-10192 got fixed due to new if/when check
...
(which doesn't depend on the expected type for expression)
#KT-10192 Fixed
2015-12-01 10:36:40 +03:00
Dmitry Petrov
76931affc6
KT-10139:
...
Non-exhaustive 'when' without 'else' used in expression is an error
regardless of expected type: it can't be an expression, even of type Unit.
2015-12-01 10:36:40 +03:00
Dmitry Petrov
1a3a296827
KT-10139: any if without else used in expression is an error
...
regardless of expected type: it can't be an expression, even of type Unit.
#KT-10139 Fixed
2015-12-01 10:36:40 +03:00
Andrey Breslav
45db5db7e8
Forbid prefixes and suffixes for numeric literals
2015-11-30 19:36:33 +03:00
Andrey Breslav
8544a5ab5f
Remove "This" keyword
2015-11-30 19:36:33 +03:00
Alexander Udalov
877129340f
Revert "Rename Extension annotation to ExtensionFunctionType"
...
This reverts commit 460dad135c .
The old compiler will not see the new runtime correctly. Postponing this until
1.0
2015-11-30 19:24:58 +03:00
Mikhail Glukhikh
fe04cc513b
Original type is taken into account when intersecting possible types in resolve #KT-10232 Fixed
2015-11-30 19:09:44 +03:00
Pavel V. Talanov
337701670c
Refactor script registering in frontend and jvm backend
2015-11-30 18:21:02 +03:00
Mikhail Glukhikh
de37cb8f40
Generic types may not extend kotlin.Throwable #KT-9816 Fixed
2015-11-30 15:24:32 +03:00
Mikhail Glukhikh
c6be69a483
No more reified types for catch parameter #KT-9742 Fixed
2015-11-30 15:24:24 +03:00
Alexander Udalov
460dad135c
Rename Extension annotation to ExtensionFunctionType
2015-11-30 02:51:04 +03:00
Alexander Udalov
7b3b157707
Remove PropertyMetadata from project and bytecode, migrate code to KProperty
2015-11-27 23:34:34 +03:00
Alexander Udalov
d472154ea7
Remove KotlinSignature from tests, spec, delete tests with errors
2015-11-27 21:22:04 +03:00
Mikhail Glukhikh
8788d8e2d5
Call chains: receiver data flow info is dropped for extensions with nullable receiver #KT-10056 Fixed
2015-11-27 20:23:25 +03:00
Mikhail Glukhikh
ea4f167091
Calls to non-@JvmStatic protected members of companion objects from subclasses are now errors (unsupported yet)
2015-11-27 15:58:38 +03:00
Yan Zhulanow
9d1af5a17e
Fix tests: "infix modifier required" and "operator modifier required" errors
2015-11-27 15:51:11 +03:00
Yan Zhulanow
a3ff3ffc45
Fix tests: "Placing function type parameters after the function name" error
2015-11-27 15:51:11 +03:00
Michael Nedzelsky
9aae5e6457
fix KT-9553 Invalid const initializers must be compile-time errors
...
#KT-9553 Fixed
2015-11-27 14:29:44 +03:00
Michael Nedzelsky
2fa34ae170
KT-9883 prohibit using spread operator for nullable value
...
#KT-9883 Fixed
2015-11-26 19:42:34 +03:00
Stanislav Erokhin
63fa71606f
Create new Tower Resolve
2015-11-26 16:21:49 +03:00
Stanislav Erokhin
a502405779
Fixed scope creations for properties scopes.
2015-11-26 16:21:46 +03:00
Dmitry Petrov
9ccb1fd506
KT-9601, KT-10103:
...
Chose maximally specific function in callable reference
#KT-9601 Fixed
#KT-10103 Fixed
2015-11-26 12:52:12 +03:00
Stanislav Erokhin
f0cefd5583
Create hacks for magic annotations NoInfer, OnlyInputTypes and LowPriorityInOverloadResolution.
2015-11-25 20:53:39 +03:00
Mikhail Glukhikh
9a6d4c32c5
More accurate handling of "always null" for receivers
2015-11-25 18:26:15 +03:00
Mikhail Glukhikh
89e56093a2
Limit "always null" scope: only for !!, is and dot; senseless comparison rolled back; "smart constant" information for nulls #KT-10029 Fixed
2015-11-25 18:26:08 +03:00
Dmitry Petrov
db42941586
Allow annotation constructor calls
...
in default parameter value expressions of anonymous classes
(if it is not a compile-time constant, it will be reported separately).
#KT-10136 Fixed
2015-11-25 18:06:08 +03:00
Mikhail Glukhikh
46f4191185
Unnecessary safe call is now reported in CallExpressionResolver, removed code duplication for safe call receivers
...
See also KT-10175
2015-11-25 16:19:48 +03:00
Dmitry Petrov
da90c21284
Warn about comma-separated conditions in when without argument.
...
See KT-5143.
2015-11-25 15:39:23 +03:00
Mikhail Glukhikh
b9e9c47b28
Using of enum entries as types is now forbidden #KT-5401 Fixed
2015-11-25 13:33:16 +03:00
Mikhail Glukhikh
dc60c62781
Enum.values is now deprecated but Enum.values() is no more deprecated
2015-11-23 17:29:36 +03:00
Mikhail Glukhikh
1c609663a4
Private setters are now deprecated for open properties
2015-11-23 17:29:23 +03:00
Mikhail Glukhikh
74976911a2
Diagnostic for "private setter in abstract property" renamed
2015-11-23 17:29:20 +03:00