Mikhail Glukhikh
b78d481bb1
delegate use-site targeted annotations: parser, front-end, codegen with some tests #KT-10502 Fixed
2016-01-19 11:38:41 +03:00
Mikhail Glukhikh
474076a550
Annotation use-site refactoring: field, property, getter
2016-01-19 11:38:36 +03:00
Denis Zharkov
e9693e987f
Humanize type mismatch diagnostic caused by type projections
...
#KT-10581 Fixed
2016-01-19 11:05:41 +03:00
Dmitry Petrov
0c52960d7a
KT-10706: do not report IMPLICIT_CAST_TO_ANY on expressions of type Nothing
2016-01-19 10:50:09 +03:00
Dmitry Petrov
a073f29006
KT-10460: use unsubstituted descriptors
...
while comparing overloaded generic functions for specificity.
2016-01-18 12:25:04 +03:00
Alexander Udalov
078a53e6a0
Minor, add regression test for KT-10444
...
#KT-10444 Obsolete
2016-01-17 16:28:22 +03:00
Stanislav Erokhin
b185316a6e
Create new HidesMembers annotation
2016-01-15 23:32:34 +03:00
Pavel V. Talanov
db07d783a2
Member is considered deprecated if it overrides only deprecated members
...
Property accessor is considered deprecated when the property is
Provide IDE inspection to strikeout members overriding deprecated members (like in java)
2016-01-15 17:53:23 +03:00
Michael Bogdanov
9b3d97470f
Prohibit super calls with default parameters
2016-01-15 17:50:48 +03:00
Mikhail Glukhikh
6157ebe3b8
Separate UNSAFE_IMPLICIT_INVOKE_CALL diagnostics introduced (see KT-8252)
2016-01-15 17:22:54 +03:00
Mikhail Glukhikh
1049d4c53a
Nullable function-like property call is prohibited now #KT-8252 Fixed
2016-01-15 17:22:46 +03:00
Mikhail Glukhikh
0f80df7b2e
initialDataFlowInfoForArguments introduced in CallExpressionResolver methods #KT-10175 Fixed
2016-01-15 17:22:42 +03:00
Stanislav Erokhin
3a9ecf0bce
Change resolution priority about implicit receivers and synthesized member-like descriptors.
...
Change resolution to consider extensions to implicit receiver before members of another implicit receiver.
Make synthesized member-like extensions resolve right after the members.
#KT-10510 Fixed
#KT-10219 Fixed
2016-01-15 13:11:38 +03:00
Valentin Kipyatkov
5a079defc7
"Rename on import" hides importing of the same symbol by other imports with the original name
2016-01-14 17:05:28 +03:00
Valentin Kipyatkov
47041885ca
Do not use incorrect import
2016-01-14 17:05:13 +03:00
Dmitry Petrov
609ffc10a9
KT-10322, KT-10646, KT-10647:
...
- update diagnostic to (supposedly) more useful
- also report IMPLICIT_CAST_TO_ANY if expected type is DONT_CARE
(effectively "no expected type" for lambda expression).
2016-01-14 10:08:20 +03:00
Dmitry Petrov
f54de08073
KT-10646, KT-10647:
...
Move IMPLICIT_CAST_TO_UNIT_OR_ANY to ControlFlowInformationProvider
(where checks for 'if' and 'when' used as expressions are performed).
2016-01-14 10:08:20 +03:00
Pavel V. Talanov
9bfa90dc0e
Analyze local variable declarations in expression position
...
Fixes exception on invalid code "val c = 1 < val Int.f: Int = 3"
2016-01-12 19:31:16 +03:00
Dmitry Petrov
74c13906ed
Drop "substitute with upper bounds" mode for calls with mapped arguments
...
(we don't need it since we build constraint system for generic types).
Cleanup tests.
2015-12-30 10:44:01 +03:00
Dmitry Petrov
4b3290dd8c
Check specificity relation for generant types of the constraint system.
...
Otherwise we can't properly chose between 'dynamic' and generic type.
2015-12-30 10:44:00 +03:00
Dmitry Petrov
02daeac41b
Use constraint system for comparing for specificity against a generic signature.
...
Drop "discrimiate generics" mode where it's unneeded.
2015-12-30 10:44:00 +03:00
Michael Bogdanov
91f27ba176
Report error on 'JvmStatic' annotation on const or @JvmField property
...
#KT-10415 Fixed
2015-12-29 17:20:07 +03:00
Michael Bogdanov
ae4ca3b5bb
Report JvmStatic diagnostic on primary constructor properties
2015-12-29 16:45:24 +03:00
Pavel V. Talanov
1c4d4f3e36
Create class descriptors for local classes in illegal positions
...
Typecheck code in illegal selector position
Fixes exceptions on "val p = A.class" erroneous code
2015-12-29 15:56:44 +03:00
Denis Zharkov
722a152a74
Fix supertypes calculation for types with projections
...
Use captured types as replacement for non top-level entries
#KT-7296 Fixed
2015-12-28 11:13:39 +03:00
Denis Zharkov
397d2ca312
Fix captured approximation for case of flexible types
...
#KT-9294 Fixed
2015-12-28 11:13:38 +03:00
Denis Zharkov
9773e98d8a
Refine type from property setter parameter on assignment
...
In most cases these types are equals, the only known exception is
var-property contained in projected type member scope (see test data)
2015-12-28 11:13:37 +03:00
Denis Zharkov
e2c02f825f
Refine member scope for types with projections
...
Instead of erasing descriptors with conflicting substitution,
use invariant CapturedType(<projection>) as replacement for type parameter
within default member scope.
After substitution leave such types 'as is' everywhere except return types,
use common approximation for them.
#KT-9294 In Progress
#KT-5411 Fixed
#KT-8647 Fixed
#KT-9462 Fixed
#KT-9893 Fixed
#KT-7581 Fixed
#KT-7296 In Progress
2015-12-28 11:13:37 +03:00
Denis Zharkov
365ff593f3
Extract and normalize member scope calculation
...
Basically it's wrong to use original types' member scope
as a worker for SubstitutionScope.
Member scope should always be determined by type constructor's default one
and substitution/arguments
#KT-10448 Fixed
2015-12-28 07:44:56 +03:00
Denis Zharkov
3fd35636ad
Fix type parameter list for local classes
...
Add captured parameters from enclosing functions
#KT-9584 Fixed
2015-12-28 07:44:53 +03:00
Mikhail Glukhikh
011a9f23b9
Implicit exhaustive when check for definite variable initialization (KT-8700)
2015-12-26 10:46:35 +03:00
Mikhail Glukhikh
b93894953d
Exhaustive whens without else and 'Nothing' as the result are considered 'implicit exhaustive'
2015-12-26 10:46:11 +03:00
Mikhail Glukhikh
b805ce06c2
CFG exhaustive when else instruction for KT-8700
2015-12-26 10:46:01 +03:00
Alexander Udalov
75f046fa81
Drop Throwable#printStackTrace, make it a JVM-specific extension
2015-12-25 20:16:18 +03:00
Stanislav Erokhin
3d44471659
KT-10483 Missing smart cast on variable in variable as function call
...
#KT-10483 Fixed
2015-12-25 20:13:08 +03:00
Mikhail Glukhikh
99a32b93fb
Implemented missed checks for local functions #KT-10449 Fixed
...
Relevant code/test fixes
2015-12-23 18:22:32 +03:00
Mikhail Glukhikh
15746cbf56
Implicit callable type check refactoring, additional check for property with explicit Nothing type
2015-12-23 18:04:25 +03:00
Mikhail Glukhikh
6b8b39a7bd
Intersection types are no more allowed in signatures #KT-10244 Fixed
2015-12-23 18:04:21 +03:00
Mikhail Glukhikh
60521e20ff
SETTER_VISIBILITY_DIFFERS_FROM_LATEINIT_VISIBILITY diagnostic removed
2015-12-23 17:48:28 +03:00
Dmitry Petrov
00db7d150b
Fix KT-10472: compare all overloads including varargs in a single pass.
2015-12-23 10:05:40 +03:00
Dmitry Petrov
142e85be04
Prohibit functions (and constructors) with multiple vararg parameters.
2015-12-22 10:40:41 +03:00
Alexander Udalov
7449ad2763
Rename Extension annotation to ExtensionFunctionType
...
The old one is kept temporarily and will be removed later
2015-12-21 20:33:32 +03:00
Andrey Breslav
a7e7d53e2b
Reserve "async* {}", extend the quick-fix
2015-12-21 07:15:37 +03:00
Andrey Breslav
45074841a4
Minor. Additional test for "async {}"
2015-12-21 07:15:37 +03:00
Stanislav Erokhin
1574dc78df
Synthetic extensions wins against top-level extension.
2015-12-18 22:49:25 +03:00
Andrey Breslav
6155d836a5
'async' reserved in front of function literals
2015-12-18 21:20:54 +03:00
Andrey Breslav
75ab0dd509
'sealed' reserved in front of when
2015-12-18 21:20:54 +03:00
Dmitry Petrov
09f53ea0bb
Select most specific overloaded function/property by explicitly used arguments only.
...
Major rewrite of OverloadingConflictResolver.
2015-12-18 18:30:16 +03:00
Stanislav Erokhin
8b5a194dd6
Do not discriminate synthesized candidates.
...
#KT-9965 Fixed
2015-12-18 15:08:19 +03:00
Stanislav Erokhin
1b6f96ac2b
Minor. update diagnostics/ReadMe.md
2015-12-18 15:08:18 +03:00