Mikhail Glukhikh
569a5888ff
do...while (true) is now considered infinite loop in CFA #KT-3896 Fixed
...
Also #KT-3883 Fixed
Also #KT-4986 Fixed
2016-03-14 16:13:14 +03:00
Mikhail Glukhikh
7232c5ccc1
Minor: FILE directives fixed in two tests
2016-03-14 15:49:50 +03:00
Pavel V. Talanov
597c571f25
Fix diagnostic range when some qualifier is unresolved in "@a.b.c.Anno"
...
#KT-7747 Fixed
2016-03-11 15:00:02 +03:00
Denis Zharkov
151e55b2fa
Use descriptors for building SAM constructors
...
It helps to get rid of semantics duplicating and fixes known bugs
- SOE in OnlyAbstractMethodFinder.find
- type enhancement for SAM constructors
#KT-11287 Fixed
#KT-11322 Fixed
EA-77989 Fixed
2016-03-10 16:49:00 +03:00
Denis Zharkov
b8b48c5f98
Extract common logic into AbstractTypeConstructor
...
Mostly it's about detecting loops in supertypes
Test data changes:
- Loops are being disconnected in Java classes too
- functions.kt: loops disconnection mechanism runs supertypes calculation,
so when we start check T it forces F' supertypes calculation, that ends
with CYCLIC_GENERIC_UPPER_BOUND reported on F
#KT-11287 In Progress
2016-03-10 16:49:00 +03:00
Pavel V. Talanov
c3a1643c6c
Add test for obsolete KT-6481 Mark deprecated constructor calls with strikethrough
2016-03-09 18:41:00 +03:00
Pavel V. Talanov
1affb05b7b
Fix typechecker in case of "for ((a, b) in) { }"
...
Fixes NDFDE
2016-03-04 16:52:34 +03:00
Dmitry Petrov
8660800af7
Constraint system builder shouldn't drop nullability when comparing signatures for specificity.
2016-03-03 19:23:43 +03:00
Dmitry Petrov
8a2b80fe3f
Generalize signature comparison: checking for conflicting overloads.
...
Also, vararg parameter no longer conflicts with Array<out T>
(CONFLICTING_JVM_DECLARATIONS is reported, can be avoided using @JvmName).
2016-03-03 18:26:10 +03:00
Dmitry Petrov
77b7128689
Check conflicting overloads for generic signatures.
2016-03-03 18:26:09 +03:00
Dmitry Petrov
3ca4097bcc
KT-11203: report errors on read-write operations for elements of collections with inconsistent get&set signatures
2016-03-02 14:28:06 +03:00
Mikhail Glukhikh
96a7febd09
Smart cast is performed now inside 'x as? Type ?: return' safe as / elvis combination #KT-10992 Fixed
2016-03-02 10:07:33 +03:00
Pavel V. Talanov
a4c005fefd
Update existing test data depending on diagnostic parameter rendering
2016-02-26 14:45:11 +03:00
Pavel V. Talanov
d0b27a5fe2
Update test data for diagnostics test
2016-02-26 14:45:07 +03:00
Denis Zharkov
4c88e2a0bc
Use original descriptor when mapping fake override
...
Otherwise wrong CONFLICTING_INHERITED_JVM_DECLARATIONS were reported
#KT-10691 Fixed
2016-02-25 11:10:48 +03:00
Stanislav Erokhin
acdd807e91
Support "given candidates" mode in new resolution algorithm.
2016-02-20 14:55:16 +03:00
Stanislav Erokhin
7de2013a3e
KT-3856 Wrong inner class inaccessible diagnostic for extension to outer class
...
#KT-3856 Fixed
2016-02-20 14:55:15 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +03:00
Dmitry Petrov
30c2abba3c
KT-9550: distinguish signature conflict on override from signature conflict of inherited members.
...
Add a common OverridingStrategy class for cases where we don't care (yet) about precise diagnostics.
2016-02-19 15:59:08 +03:00
Mikhail Glukhikh
883e2e4d2b
KT-9498 extension: now type can be inferred for getter with expression body
2016-02-19 14:49:25 +03:00
Michael Bogdanov
7c2920febe
Don't allow use standalone constants in complexExpressions, fix for KT-11043: Inconsisten result for class literal and string concatenation
...
#KT-11043 Fixed
2016-02-17 16:53:18 +03:00
Pavel V. Talanov
47ceb106c7
Fix "<" or ">" in member name leading to exception
2016-02-15 13:32:41 +03:00
Mikhail Glukhikh
0f7284f83a
More accurate safe call handling in GenericCandidateResolver / CallExpressionResolver
...
(real receiver nullability is taken into account)
2016-02-13 10:48:12 +03:00
Mikhail Glukhikh
17593e4ef6
Call completer: safe call with nullable receiver has nullable return type #KT-11007 Fixed
2016-02-13 10:48:07 +03:00
Dmitry Petrov
edf6a2142b
Check local function declarations for overload conflicts.
...
In PSI unifier tests, disable errors for tests on local functions (as irrelevant).
2016-02-12 09:54:21 +03:00
Pavel V. Talanov
7d98103c0c
overriddenDescriptors is empty for java static property and function declarations
...
Fake overrides are still created for java static with non-empty overriddenDescriptors
Add tests for inheriting visibility for java static members
Add test: check that java static declarations that shadow deprecated declarations should not be deprecated
Add test for corner case where "overriding" java static constant led to incorrect type in inheritor
Fix test data for existing tests
2016-02-11 14:08:14 +03:00
Dmitry Petrov
aed2f2b993
Property vs classifier conflict.
...
TODO get rid of duplicate diagnostics
(looks like OverloadResolver and DeclarationResolver are partially redundant; refactor them).
2016-02-11 10:32:46 +03:00
Mikhail Glukhikh
a08b8f43b2
Control flow graph for safe calls corrected #KT-10913 Fixed
...
Also #KT-10186 Fixed
Also #KT-5198 Fixed
2016-02-10 12:29:45 +03:00
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Dmitry Petrov
5968ce96df
KT-10939 CANNOT_COMPLETE_RESOLVE for inherited generic interface method
...
'original' for value parameters of fake override is not a value parameter of unsubstituted fake override.
Match value parameters by index.
2016-02-08 10:08:35 +03:00
Dmitry Petrov
e4583fd275
Do not report IMPLICIT_CAST_TO_ANY on last statement of lambda with Unit(?) in at least one branch.
2016-02-05 10:44:50 +03:00
Pavel V. Talanov
7c84225cc4
Fix typechecker when initializer of destructuring declaration is unresolved or missing
2016-02-04 15:08:39 +03:00
Mikhail Glukhikh
60d56b30bf
Safe call arguments are now handled as nullable in generic resolver #KT-9985 Fixed
2016-02-03 18:34:10 +03:00
Stanislav Erokhin
34d8dd9127
Add optimization for fake overrides creation.
2016-02-03 17:47:40 +03:00
Michael Bogdanov
394221fefb
Updated test data
2016-02-03 10:35:32 +03:00
Michael Bogdanov
4b203de608
INVISIBLE_MEMBER_FROM_INLINE renamed to NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
2016-02-03 10:35:29 +03:00
Michael Bogdanov
d1db404959
Error diagnostic for private classes in inline functions; Fix for KT-7545: IllegalAccessError when accessing private nested class through inlined function from different package
...
#KT-7545 Fixed
2016-02-03 10:32:41 +03:00
Mikhail Glukhikh
45298e0bad
Delegated properties now cannot be used before initialization #KT-10869 Fixed
2016-02-02 16:27:20 +03:00
Dmitry Petrov
65f754ffca
Fix KT-10764 IDEA doesn't show overload conflict between constructor and function...
...
When checking for overloads in package, consider functions and top-level class constructors as possibly conflicting between each other. NB OverloadUtil uses containing package scope from module descriptor.
Change diagnostic message for CONFLICTING_OVERLOAD: it's misleading in case of fun vs constructor conflict.
Add custom multifile test for diagnostics in IDE (probably not the best; should preprocess file content if it's required to check highlighting in multiple files, not only in the first file).
Add test for KT-10765 Incremental compilation misses overload conflict between constructor and function ...
2016-02-02 16:21:26 +03:00
Denis Zharkov
8df05c6c4c
Refine 'isMoreSpecific' calculation
...
Choose member with better visibility, it's needed for proper calculation
of types intersection member scope
#KT-10481 Fixed
2016-02-02 15:26:49 +03:00
Denis Zharkov
816c66063b
Report special diagnostic when fake-call receiver is nullable
...
#KT-3602 Fixed
2016-02-02 08:17:49 +03:00
Denis Zharkov
9b3f557337
Report MEMBER_PROJECTED_OUT on calls with smart cast receiver
...
#KT-10856 Fixed
2016-02-02 08:17:48 +03:00
Mikhail Glukhikh
d194af5c4e
Correct report of NO_VALUE_FOR_PARAMETER when function call contains no brackets and lambda at the end #KT-7813 Fixed
2016-02-01 17:11:54 +03:00
Denis Zharkov
e5f644a64a
Temporary disable warning about unchecked reified argument
...
#KT-10847 Fixed
#KT-6484 Reopened
2016-02-01 13:36:38 +03:00
Mikhail Glukhikh
dcc6262f47
Regression test #KT-7804 Obsolete
2016-01-29 17:23:40 +03:00
Denis Zharkov
505dc61611
Treat extension receiver as noinline parameter
...
#KT-9574 Fixed
2016-01-29 14:36:53 +03:00
Denis Zharkov
2cd88b8cbc
Make crossinline and noinline incompatible
2016-01-29 14:36:53 +03:00
Denis Zharkov
855a0b3493
Force type calculation for local function if it should be inferred
...
It helps to catch TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM errors
because they appear after return type calculation began
#KT-6271 Fixed
#KT-3272 Obsolete
2016-01-29 14:36:53 +03:00
Denis Zharkov
7d6310d88c
Add test for obsolete issue
...
#KT-9571 Obsolete
2016-01-29 14:36:53 +03:00