Mikhail Glukhikh
ae856e834a
Store map (Call to KotlinType) for SMARTCAST slice #KT-13426 Fixed
...
Also EA-86848 Fixed
2016-08-17 16:09:45 +03:00
Mikhail Glukhikh
cbcef67d82
KT-13426: store map from ImplicitReceiver into KotlinType for implicit receiver smart casts
2016-08-17 16:09:34 +03:00
Ilya Gorbunov
2a0076d9bd
Test data: replace Exception with Throwable (in those tests where particular exception type is not crucial in order not to rename tests to have runtime dependency added with exception typealiases).
2016-08-17 12:40:50 +03:00
Nikolay Krasko
300e0acd27
Report RETURN_NOT_ALLOWED and RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY only on the return with label (KT-13340)
...
#KT-13340 Fixed
2016-08-05 13:16:05 +03:00
Pavel V. Talanov
e51957a431
PsiChecker test for classes with dollars in name
2016-07-28 18:00:57 +03:00
Denis Zharkov
b5bdb070a0
Fix test data after 4725dd3
2016-07-16 09:10:35 +03:00
Denis Zharkov
2cc09f928e
Allow suspend extensions for specially annotated controllers
2016-07-06 15:25:19 +03:00
Nikolay Krasko
eee45e91ce
Add more tests for PropertyAccessorDescriptor.isDeafult() usages
2016-06-29 16:16:31 +03:00
Denis Zharkov
72eb87f5d0
Support inline suspend functions
...
A lot of additional work was required to support them:
- Suspension points are being identified by two markers
instead of one pointing to suspend function call
- Approach with replacing return type of suspend function does not work anymore.
So we decode suspension return type as an argument for begin marker
- It became necessary to perform variables liveness analysis
(see comment in org.jetbrains.kotlin.codegen.coroutines.CoroutineTransformerMethodVisitor.spillVariables)
2016-06-19 12:50:54 +03:00
Denis Zharkov
b8d4d39f4d
Add custom applicability checks for suspend/coroutine modifiers
2016-06-08 18:53:16 +03:00
Dmitry Jemerov
b37ac4f783
fix PsiCheckerTestGenerated according to removed "property with backing field" highlighting
2016-05-25 20:10:01 +02:00
Mikhail Glukhikh
93defed324
KT-12302: ABSTRACT_MODIFIER_IN_INTERFACE warning is removed as obsolete
2016-05-24 14:25:18 +03:00
Mikhail Glukhikh
1b2deb8a8a
Message corrected for warning "some modifier is redundant because another is present"
2016-04-11 16:32:50 +03:00
Pavel V. Talanov
8fe14b7ba5
KT-11765 Analyze code in anonymous initializer of inteface
...
#KT-11765 Fixed
2016-04-05 15:04:07 +03:00
Pavel V. Talanov
3f62b6c495
Typecheck call arguments if callee is resolved to variable
...
#KT-11579 Fixed
2016-04-04 21:13:22 +03:00
Pavel V. Talanov
7de171efda
Improve message clarity for WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostics
...
#KT-9887 Fixed
2016-03-31 16:06:48 +03:00
Alexander Udalov
8316953259
Fix double quotes in diagnostic messages
...
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.
For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Valentin Kipyatkov
93e170325e
KT-11612 Highlight named arguments in the editor somehow
...
#KT-11612 Fixed
2016-03-30 15:58:04 +03:00
Valentin Kipyatkov
f0ef04a6a8
Changed highlighting range for unresolved annotation name to not include '@'
...
#KT-11529 Fixed
2016-03-24 16:44:58 +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
Pavel V. Talanov
1affb05b7b
Fix typechecker in case of "for ((a, b) in) { }"
...
Fixes NDFDE
2016-03-04 16:52:34 +03:00
Pavel V. Talanov
363d545bd5
Parameters of function types are always considered local
2016-03-04 16:52:33 +03:00
Alexander Udalov
8e77e16bbd
Remove leftovers of platformName and platformStatic in test data
...
Drop unnecessary imports, rename some tests
2016-03-02 16:47:04 +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
b399bbffd7
Improve JvmConflictingDeclarations diagnostics rendering
2016-02-26 14:45:08 +03:00
Denis Zharkov
fe7393dc1a
Fix testData
2016-02-25 11:15:18 +03:00
Mikhail Glukhikh
1bbc46729c
Effective visibility: concise diagnostic messages #KT-10761 Fixed
...
Also #KT-9760 Fixed
2016-02-16 15:58:50 +03:00
Mikhail Glukhikh
3049961b9a
Revert "Implicit exhaustive when annotation / highlighting"
...
This reverts commit 0cc09872b6 .
2016-02-16 15:57:38 +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
Nikolay Krasko
938a435346
Allow to process return statements without parent KtDeclaration (EA-70883)
2016-02-06 17:50:17 +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
Mikhail Glukhikh
ed8ccdc15a
Take into account data flow info changes for special call (if/when/elvis/!!) arguments #KT-10824 Fixed
...
Smart casts on complex expressions look as no more possible
2016-01-28 19:30:20 +03:00
Yan Zhulanow
3fa506fd45
"Inapplicable operator modifier" and "Inapplicable infix modifier" are now errors
2016-01-26 17:21:44 +03:00
Dmitry Petrov
f371e67ce8
PatternMatchingTypingVisitor:
...
rewrite type inference for 'when' using special constructs.
This fixes several type inference issues for 'when':
KT-9929, KT-9972, KT-10439, KT-10463
along with some other diagnostics-related issues.
2016-01-22 10:41:55 +03:00
Ilya Gorbunov
f4822cd757
Fix testData in compiler: add collections and ranges package to fq-names.
2016-01-22 05:54:38 +03:00
Pavel V. Talanov
d72bc78550
Resolve annotations on parameters of function type
2016-01-20 18:06:23 +03:00
Pavel V. Talanov
ce42d47383
Resolve lambda argument types when failing to resolve call
2016-01-19 14:14:33 +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
0f80df7b2e
initialDataFlowInfoForArguments introduced in CallExpressionResolver methods #KT-10175 Fixed
2016-01-15 17:22:42 +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
Mikhail Glukhikh
0bcae4e0c0
Build fix: nullable exhaustiveness checker is now only a part of other exhaustiveness checkers
2016-01-12 15:44:55 +03:00
Mikhail Glukhikh
936fee0afa
KT-10295: long enum (sealed) special case
2016-01-12 14:18:36 +03:00
Mikhail Glukhikh
c085eb650f
Better diagnostics for non-exhaustive whens, relevant test #KT-10295 Fixed
2016-01-12 14:18:23 +03:00
Michael Bogdanov
1d70b58d17
Fixed test data
2015-12-30 14:42:12 +03:00
Pavel V. Talanov
004c266433
Minor: fix missed error marker in test data
2015-12-29 18:13:10 +03:00
Pavel V. Talanov
b38fc7b3c1
Parse local interfaces in expression position
2015-12-29 15:57:00 +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
Mikhail Glukhikh
0cc09872b6
Implicit exhaustive when annotation / highlighting
2015-12-26 10:46:44 +03:00
Pavel V. Talanov
6a1ca7b9c9
Fix an exception caused by objects literals in supertype list not considered local
2015-12-23 14:56:27 +03:00
Denis Zharkov
0d7c8635b3
Refine INSTANCE_ACCESS_BEFORE_SUPER_CALL check
...
- Detect usages of unitialized `this` as extension receiver argument
- Make it work within object literal created before super call
#KT-9120 Fixed
#KT-8289 Fixed
2015-12-17 19:56:38 +03:00