Commit Graph

7731 Commits

Author SHA1 Message Date
Valentin Kipyatkov f6fbd0b623 Fast search of contains operator 2016-09-07 19:04:43 +03:00
Valentin Kipyatkov 322df5b348 More correct operator treatment 2016-09-07 19:04:42 +03:00
Michael Bogdanov 8d2ffb2dab Fix wrong "InlineProperties are unsupported at this language level" error on inline functions when inline properties are disabled 2016-09-07 17:39:09 +03:00
Mikhail Zarechenskiy 3ad451e33e Partly support generics and nullable types as parameters for script templates 2016-09-07 17:24:19 +03:00
Nikolay Krasko 4a0f14b64b Minor: toString() for NONE filter 2016-09-02 13:41:24 +03:00
Nikolay Krasko 52dd02fe08 Make changes in super call lambda not cause out-of-block modification (KT-13474)
#KT-13474 Fixed
2016-09-02 13:41:24 +03:00
Nikolay Krasko ec6780b49c Use AtomicLong for modification stamp 2016-09-02 13:41:24 +03:00
Nikolay Krasko 043502f836 Minor: remove warnings and refactoring 2016-09-02 13:41:24 +03:00
Dmitry Petrov 6428a7655d KT-13422 Type alias for Java exception class can be used as an object in 'throw' expression
Report NO_COMPANION_OBJECT for type aliases.
2016-09-02 10:18:22 +03:00
Stanislav Erokhin bebc75c8ef Set reference target and report custom error instead unresolved reference for cases: interface, generic parameter, object + invoke, class without companion.
#KT-2787 Fixed.
2016-09-01 18:01:55 +03:00
Stanislav Erokhin 0072d6004a Refactoring: rename TowerContext to CandidatesFactory, InvokeTowerContext to CandidateFactoryProviderForInvoke. 2016-09-01 18:00:22 +03:00
Stanislav Erokhin c910646eda Refactoring: remove name from ScopeTower. 2016-09-01 18:00:21 +03:00
Stanislav Erokhin aa5be2ec7b Refactoring remove scopeTower from TowerContext. 2016-09-01 18:00:21 +03:00
Stanislav Erokhin ddb75abe30 Rename ScopeTower to ImplicitScopeTower. 2016-09-01 18:00:20 +03:00
Stanislav Erokhin 0c60cda22a Refactoring: replace ReceiverValue to ReceiverValueWithSmartCastInfo, Receiver to DetailedReceiver 2016-09-01 18:00:20 +03:00
Stanislav Erokhin d4a2cad35c Refactoring move DataFlowValue back to frontend module. 2016-09-01 18:00:19 +03:00
Stanislav Erokhin 58fd24943d Refactor DataFlowDecorator. 2016-09-01 18:00:18 +03:00
Stanislav Erokhin ca6c6ae0f3 Refactoring. Move creation of functionProcessor into resolution module. 2016-09-01 18:00:17 +03:00
Alexey Sedunov 2f9a911624 Introduce Type Parameter
#KT-13155 Fixed
2016-09-01 13:43:44 +03:00
Mikhail Glukhikh cd717467f0 Nested classes are no more allowed inside any anonymous objects or local classes #KT-13510 Fixed
(cherry picked from commit 5c3ec6c)
2016-08-31 19:28:13 +03:00
Mikhail Glukhikh f8039249c6 CFA: additional jumps to catch / finally generated in the end of try / before exits from try #KT-5469 Fixed
Also #KT-13612 Fixed
(cherry picked from commit 7c188b3)
2016-08-31 19:28:09 +03:00
Mikhail Glukhikh 6a9d058db4 UNUSED_VALUE is now reported on expression only if this expression is unused in all (e.g. finally) branches #KT-9825 Fixed
(cherry picked from commit aac8e94)
2016-08-31 19:28:00 +03:00
Valentin Kipyatkov 1674beb64b Initial implementation of faster component function usage search 2016-08-31 19:12:19 +03:00
Alexey Sedunov 4e2c4d941d Rename: Support inplace rename on type parameters 2016-08-31 11:28:04 +03:00
Alexey Sedunov 3405051bcc Misc: Use default presentation for KtTypeAlias
#KT-13611 Fixed
2016-08-31 11:28:02 +03:00
Yan Zhulanow 84d62f37eb Kapt: Analyze sources again if the received analysis result is 'RetryWithAdditionalJavaRoots'. ->
Add additional Java roots to Java source roots and clear diagnostic messages before the next analysis round.
(cherry picked from commit 17ad807)
2016-08-29 16:31:16 +03:00
Alexey Sedunov 63092f6985 Create from Usage: Implement "Create type parameter" quickfix
#KT-11525 Fixed
2016-08-29 16:20:32 +03:00
Alexey Sedunov 6a2edabbd4 Create from Usage: Implement "Create type alias" quickfix
#KT-12904 Fixed
2016-08-29 14:13:56 +03:00
Mikhail Glukhikh 902232c8ad CFG refactoring: extractVariableDescriptorFrom
(cherry picked from commit 95add79)
2016-08-26 14:15:08 +03:00
Mikhail Glukhikh 25eefdb6ec Pseudocode label now cannot be bound to a non-owning pseudocode #KT-13555 Fixed
Also EA-77641 Fixed
(cherry picked from commit 07643ce)
2016-08-25 10:32:04 +03:00
Mikhail Glukhikh 08f8a2b75c PseudocodeLabel is extracted from PseudocodeImpl (now not an inner class), some its properties / functions are supported now by base Label
(cherry picked from commit 30dd52e)
2016-08-25 10:31:53 +03:00
Mikhail Glukhikh 41ff51ca8c Label.java converted to Kotlin
(cherry picked from commit 3891d76)
2016-08-25 10:30:49 +03:00
Mikhail Glukhikh ea041661fb CFG: break and continue are now handled in the same (safe) way EA-85060 Fixed
(cherry picked from commit eec4b1b)
2016-08-25 10:30:41 +03:00
Mikhail Glukhikh d33745b646 BreakableBlockInfo : converted to Kotlin
(cherry picked from commit 22c7ee5)
2016-08-25 10:30:32 +03:00
Mikhail Glukhikh d4c40d9db0 BreakableBlockInfo.java -> BreakableBlockInfo.kt
(cherry picked from commit d5f7c3f)
2016-08-25 10:30:24 +03:00
Mikhail Glukhikh 52571f0fa9 LoopInfo: converted to Kotlin
(cherry picked from commit f64d60e)
2016-08-25 10:30:15 +03:00
Mikhail Glukhikh 751f96b648 LoopInfo.java --> LoopInfo.kt
(cherry picked from commit d952dbd)
2016-08-25 10:30:07 +03:00
Mikhail Glukhikh c9f9ae7d2a EA-85060: BreakableBlockInfo is split into LoopInfo & SubroutineInfo to make code more clear
(cherry picked from commit 48faf4a)
2016-08-25 10:29:58 +03:00
Alexey Sedunov d9698dfa4d Search: Optimize usage scope of class members
#KT-9285 Fixed
2016-08-24 11:27:20 +03:00
Alexey Sedunov e908c6c1b2 Search: Restrict KtParameter usage scope to its containing declaration
#KT-13542 Fixed
 #KT-8672 Fixed
2016-08-24 11:27:19 +03:00
Stanislav Erokhin 0cf7490500 Moved OverloadingConflictResolver into resolution module. 2016-08-24 11:11:45 +03:00
Stanislav Erokhin f31493f80f Introduce SimpleConstraintSystem for OverloadChecker and OverloadingConflictResolver 2016-08-24 11:11:44 +03:00
Stanislav Erokhin 5ad0e4e9b8 Refactoring. Support in OverloadingConflictResolver any kind of ResolvedCalls. 2016-08-24 11:11:37 +03:00
Stanislav Erokhin b695f5edd9 Refactoring. Some simplifications in OverloadingConflictResolver. 2016-08-24 11:10:34 +03:00
Mikhail Glukhikh d08d8af407 USELESS_ELVIS_RIGHT_IS_NULL : build fix (add to different files in DiagnosticsTestGenerated), do not report if USELESS_ELVIS already exists
(cherry picked from commit c71b656)
2016-08-23 16:26:54 +03:00
shiraji a3f131d6c6 KT-13521 Warning right part of "expression ?: null" is useless
#KT-13521 Fixed
2016-08-23 01:10:10 +09:00
Dmitry Jemerov 7ee72f2ebc stop at file level when going up the tree in KtPsiUtil.areParenthesesNecessary() (EA-86495 - NPE: KtPsiUtil.areParenthesesNecessary) 2016-08-18 17:27:43 +02:00
Mikhail Glukhikh ac3dfd93bd More correct handling of compile time constant types #KT-13421 Fixed 2016-08-18 14:42:16 +03:00
Mikhail Glukhikh d9358d44e7 KT-13426 related : added assertion to prevent smart cast type rewriting for (expression, call) or (expression, implicit receiver) pair 2016-08-18 09:50:27 +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