Commit Graph

544 Commits

Author SHA1 Message Date
Pavel V. Talanov bdf76f23c4 Jvm Codegen: do not throw on malformed delegation to a type parameter
Fix exception on light class building

See KT-15931
2017-06-06 17:11:19 +03:00
Dmitry Petrov c83b764c73 Update testData after changes in diagnostics 2017-05-26 13:58:46 +03:00
Dmitry Petrov a86fe89aae Include file name for package-level members in diagnostics 2017-05-26 13:58:46 +03:00
Dmitry Petrov 17eab2865d Include containing declaration name in message for JVM signature clashes
#KT-9359 Fixed
2017-05-26 13:58:46 +03:00
Alexander Udalov f8e82f148a Drop TypeLazinessToken and LazyResolveToken 2017-05-22 18:15:19 +03:00
Dmitry Neverov cd24adac32 Detect redundant 'is' check
#KT-14187 Fixed
2017-05-15 11:24:35 +03:00
Mikhail Zarechenskiy 438f318d3e Minor, update test data 2017-04-10 16:35:00 +03:00
Mikhail Zarechenskiy 7f287a4230 Support warning about useless cast on safe cast
#KT-13348 Fixed
2017-04-10 12:48:09 +03:00
Mikhail Zarechenskiy f518e8ebb8 Prefer stable types to diagnose useless cast
#KT-11622 Fixed
2017-04-05 21:35:05 +03:00
mglukhikh 9fa16364e1 Find enclosing element for object literal in delegate #KT-8187 Fixed 2017-04-05 16:38:04 +03:00
Mikhail Glukhikh 7a53b2f4c8 Introduce UNUSED_ANONYMOUS_PARAMETER for anonymous functions
It is not reported for 1.0 language version because
renaming to _ is not possible. It has weak warning severity

So #KT-8813 Fixed
So #KT-16875 Fixed
2017-04-04 14:23:30 +03:00
Mikhail Glukhikh 1780f7c9a2 Put not-null original type as last possible smart cast target
This fixes muted tests testSmartCast (IDE highlighting) and
testNestedSealed (Diagnostics).
Together with commit 555b3f12 this makes #KT-15901 Fixed
2017-03-23 17:17:37 +03:00
mglukhikh b53ebd115b Pattern matching: work-around for smart cast target type instability #KT-14705 Fixed 2017-01-24 13:51:14 +03:00
Dmitry Petrov b9f9894310 KT-15677 KT-15775
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.

AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Dmitry Petrov 954204da82 KT-1560
Report warning on extensions shadowed by members.
2017-01-16 17:25:13 +03:00
Nikolay Krasko 6ca5ba3615 Don't call getClassDescriptor for local declarations (KT-15259)
#KT-15259 Open
2016-12-21 13:13:10 +03:00
Dmitry Petrov 0fa2c54ae8 Identity comparison for primitives is deprecated (warning).
Identity comparison for primitive vs non-primitive is a warning (due to implicit boxing).
2016-12-20 11:00:58 +03:00
Denis Zharkov 85db356611 Minor. Drop test on coroutine applicability 2016-12-15 23:58:03 +03:00
Denis Zharkov a34c9c2580 Support new suspend convention in frontend
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Alexander Udalov eacf64e4db Report initializer block-related diagnostic on 'init' keyword 2016-11-22 18:19:01 +03:00
Ilya Gorbunov 8f3e6f38ed Select runtime with directive in test data file instead of test name in PsiChecker tests 2016-11-16 18:47:42 +03:00
Denis Zharkov 4c69416f2b Report warning on unused entities that can be renamed to _
Currently it's all about lambda parameters/destructuring entries

 #KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Mikhail Glukhikh 8d48b0d2a0 UNUSED_VARIABLE is now reported only for last entry of destructuring declaration (if applicable) #KT-14221 Fixed 2016-10-10 14:42:09 +03:00
Mikhail Glukhikh e7d290f726 Refactor PSI for destructuring declarations in for: they are now children of KtParameter and not instead of it 2016-10-06 21:03:19 +03:00
Denis Zharkov d4418d5686 Prohibit not-Unit suspend functions
#KT-13560 Fixed
2016-09-30 12:25:59 +03:00
Denis Zharkov 96186c6217 Prohibit star-projections in last parameter of suspend functions 2016-09-30 12:25:59 +03:00
Nikolay Krasko 795fef20d7 Don't highlight declaration with WRAPPED_INTO_REF
Leave highlighting only for usage. This may allow to make highlighting more local and lazy.
Java follows the same rules for "Implicit anonymous class parameter".
2016-09-02 13:41:24 +03:00
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