Commit Graph

7687 Commits

Author SHA1 Message Date
Dmitry Petrov 2cd6b1d586 KT-14282 No error on unused type alias with -language-version 1.0
Always resolve descriptors for type aliases.
2016-10-11 16:33:21 +03:00
Denis Zharkov 543cf7b265 Minor. Move isJvmStatic* functions to backend 2016-10-11 12:22:03 +03:00
Ilya Gorbunov 5042158df5 Determine automatically which types from java.lang is aliased in default imported kotlin packages and exclude them from imported java.lang.* scope. 2016-10-10 20:14:32 +03:00
Valentin Kipyatkov 326db55835 Used KtReference.resolvesByNames instead of own code 2016-10-10 14:48:16 +03:00
Valentin Kipyatkov 5734f2ba9b KT-9950 IntelliJ IDEA does not suggest importing extension methods which have the same name as an instance method
#KT-9950 Fixed
2016-10-10 14:48:15 +03:00
Valentin Kipyatkov c06e2d994e KT-13884 Exception "Invalid root block PSI element" on replacing trivial when-expression to if
#KT-13884 Fixed
2016-10-10 14:48:15 +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 126304c197 Destructure intention applied (compiler) 2016-10-10 14:42:04 +03:00
Alexey Andreev 6f7e7d8504 KT-2752: fixes after code review 2016-10-08 19:25:49 +03:00
Alexey Sedunov d3c14ce7d6 Extract Function: Support implicit abnormal exits via Nothing-typed expressions 2016-10-07 20:20:39 +03:00
Alexey Sedunov fe711da594 Rename: Rename do-while loop variables in the loop condition
#KT-14157 Fixed
2016-10-07 20:20:33 +03:00
Alexander Udalov 9004367f3c Minor refactoring in DeprecatedCallChecker 2016-10-07 20:14:54 +03:00
Alexander Udalov 8949ffbef1 Do not report deprecation on members of deprecated companion
This deprecation is reported on the companion itself anyway
2016-10-07 20:14:53 +03:00
Alexander Udalov b08ed14f66 Rename PlatformTypesMappedToKotlinChecker -> PlatformClassesMappedToKotlinChecker
To prevent confusion with the term "platform type" which has gained a new
meaning since this class was introduced
2016-10-07 20:14:05 +03:00
Alexander Udalov 6ec868d84e Pass LanguageVersionSettings to ClassifierUsageChecker
To be used in future classifier usage checkers
2016-10-07 20:13:24 +03:00
Mikhail Glukhikh 375a2cc6ab Build fix (AdditionalResolveDescriptorRendererTestGenerated) 2016-10-07 17:04:29 +03:00
Yan Zhulanow 16a9941549 Kapt: Allow to make CompilerConfiguration mutable again
(cherry picked from commit 0780de8)

(cherry picked from commit 95dde72)
2016-10-07 16:28:18 +03:00
Denis Zharkov e05e0ec921 Optimize method count for collection stubs
Do not generate stubs if they're already present in superclasses

 #KT-13698 In Progress
2016-10-07 11:59:15 +03:00
Mikhail Glukhikh 70949d10da Refactoring + minor fixes: destructure intention 2016-10-06 21:16:46 +03:00
Mikhail Glukhikh de865c6d46 getUseScope() fixed for destructuring declarations #KT-14181 Fixed 2016-10-06 21:03:24 +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
Mikhail Glukhikh df0cf3da84 "Simplify using destructuring declaration" is now applicable for function literals #KT-13941 Fixed 2016-10-06 21:03:08 +03:00
Alexander Udalov 1e51ba7d00 Run classifier usage checkers for ambiguous references when possible
See comment in getReferencedClassifier and importJavaSamInterface.kt for
explanation
2016-10-06 14:40:21 +03:00
Alexander Udalov ec53efd869 Run classifier usage checkers after all imports are resolved
Otherwise the diagnostic was not reported on an unused import of a deprecated
class in diagnostic tests, see the test case
2016-10-06 14:40:20 +03:00
Alexander Udalov f7b4d7d35b Move ClassifierUsageChecker and DeclarationChecker to checkers/ 2016-10-06 14:40:20 +03:00
Alexander Udalov 0905b361d0 Drop LazyTopDownAnalyzerForTopLevel
Replace it everywhere with LazyTopDownAnalyzer
2016-10-06 14:40:20 +03:00
Alexander Udalov 9c70094ceb Move resolveImportsInAllFiles to LazyTDA#analyzeDeclarations
This does not change the behavior: in the other usage of analyzeDeclarations,
a local class is being resolved and therefore TopDownAnalysisContext there does
not contain any files where imports would be resolved
2016-10-06 14:40:20 +03:00
Alexander Udalov 7070b88ea4 Move PlatformToKotlinClassMap out from ModuleParameters
Configure it in the same way as other platform-specific components instead,
simplify some code
2016-10-06 14:40:20 +03:00
Alexander Udalov b77388bd48 Pass PlatformToKotlinClassMap instance to PlatformTypesMappedToKotlinChecker
The purpose of this change is to allow PlatformToKotlinClassMap to be removed
from ModuleDescriptor
2016-10-06 14:40:19 +03:00
Denis Zharkov 7353b08f09 Change parsing of statements starting with annotations
If a block statement starts with annotations treat them as they
belong to node of the statement rather than to the closest prefix expression

 #KT-10210 Fixed
2016-10-05 10:29:29 +03:00
Denis Zharkov 001a058529 Remove effectively dead code in parser
`parseLabeledExpression` can only be called from `parsePrefixExpression`,
but the latter in the beginning tries to parse annotated expression,
thus advances any number of AT symbols
2016-10-05 10:29:29 +03:00
Dmitry Jemerov d8b0c7aaec Binding trace filtering: do not calculate diagnostics if no one is going to query them 2016-10-04 18:50:30 +02:00
Dmitry Jemerov b365e547c4 DelegatingBindingTrace: remove unnecessary secondary constructor 2016-10-04 18:50:30 +02:00
Dmitry Jemerov bcde67dc91 DelegatingBindingTrace: J2K 2016-10-04 18:50:30 +02:00
Dmitry Jemerov 9e6f03cd94 DelegatingBindingTrace: rename to .kt 2016-10-04 18:50:30 +02:00
Valentin Kipyatkov af0b027952 All operator usages are searched with new searcher 2016-10-04 19:34:58 +03:00
Alexander Udalov df680305ba Improve diagnostic message for UNSUPPORTED_FEATURE
Render lowercase words separated by spaces instead of CamelCase in the
diagnostic message
2016-10-04 10:24:43 +03:00
Alexander Udalov 73652f309f Do not create synthesized equals/hashCode/toString in data classes in compatibility mode
To simplify migration from 1.0 to 1.1, do not allow data classes to
automatically implement abstract equals/hashCode/toString declared in
super-interfaces (KT-11306) if "-language-version 1.0" is specified
2016-10-04 10:24:41 +03:00
Dmitry Petrov 06101dba52 KT-13961 REDECLARATION not reported on private-in-file 'foo' vs public 'foo' in different file
Private-in-file declarations conflict with public overload-equivalent declarations
in other files in the same package.

Move functions for grouping possible redeclarations to OverloadResolver
(since they are used only there).

Refactor redeclarations / conflicting overloads reporting.
2016-10-03 11:50:29 +03:00
Alexander Udalov 214abea4d6 Minor, introduce DeclarationProviderFactory.EMPTY 2016-10-02 21:03:35 +03:00
Alexander Udalov 0ed9897b03 Minor refactorings related to PackagePartProvider and implementations
- Document what exactly should findPackageParts return
- Make EMPTY a named object instead of a val in the companion
- Do not use JvmPackagePartProvider in tests where Empty works fine
- Add a couple default values to arguments of setupResolverForProject
2016-10-02 21:03:34 +03:00
Alexander Udalov 610c549225 Filter out equivalent calls before reporting "none applicable"
If a module is configured in such a way that the same function appears multiple
times via different dependencies, it's not helpful to report "none of the
following functions can be called", listing the same function multiple times
2016-10-02 21:03:30 +03:00
Alexander Udalov 9fb9c12f5e Inline LazyTopDownAnalyzerForTopLevel#analyzeFiles
To make module initialization more explicit and configurable (especially in
TopDownAnalyzerFacadeForJVM)
2016-10-02 21:03:27 +03:00
Alexander Udalov 87fe6c41df Drop ExternalDeclarationsProvider
It was added for Android extensions, but now another mechanism is used there
(PackageFragmentProviderExtension), and there were no other implementations of
ExternalDeclarationsProvider in the project
2016-10-02 21:03:19 +03:00
Alexander Udalov 1d6abc32bc Minor, delete ModuleContext#builtIns 2016-10-02 21:03:18 +03:00
Valentin Kipyatkov a55273646a Fixed check for convention operator 2016-09-30 21:37:48 +03:00
Valentin Kipyatkov 17adee68cd Fixed optimize imports for operators 2016-09-30 21:37:47 +03:00
Mikhail Glukhikh 725df49c8c KT-9839: intention introduced: convert secondary constructor to primary one #KT-9839 Fixed
(cherry picked from commit f3fa779)
2016-09-30 16:39:24 +03:00
Mikhail Glukhikh 7f50e6e70e KT-9839: intention introduced: convert primary constructor to secondary one
(cherry picked from commit 93aaa48)
2016-09-30 16:39:01 +03:00
Denis Zharkov d4418d5686 Prohibit not-Unit suspend functions
#KT-13560 Fixed
2016-09-30 12:25:59 +03:00