Commit Graph

10380 Commits

Author SHA1 Message Date
Dmitry Jemerov 49db4e93c0 Merge branch 'KT-5115' of https://github.com/mcgee/kotlin into mcgee-KT-5115 2015-11-17 15:14:00 +01:00
Mikhail Glukhikh 657052e1d2 Rename: ClassReceiver ---> ImplicitClassReceiver, CastClassReceiver ---> CastImplicitClassReceiver 2015-11-17 13:02:22 +03:00
Mikhail Glukhikh 59e54d1db1 Rename: ThisReceiver ---> ImplicitReceiver 2015-11-17 13:02:16 +03:00
Mikhail Glukhikh 7ba297db81 ThisReceiver converted to Kotlin 2015-11-17 13:02:12 +03:00
Mikhail Glukhikh f1034dbf19 Receiver refactoring in DataFlowValueFactory 2015-11-17 13:02:06 +03:00
Mikhail Glukhikh 96c303be60 Smart cast of value / implicit receiver: two different colors 2015-11-17 10:26:46 +03:00
Mikhail Glukhikh 811ba8110f Implicit receiver smart casts implementation and highlighting 2015-11-17 10:26:42 +03:00
Mikhail Glukhikh 03287d5d66 Diagnostics corrected for smart cast impossible 2015-11-17 10:26:26 +03:00
Stanislav Erokhin c7f7ba72b8 Moved logic for PRIVATE_TO_THIS visibility from ExpressionTypingUtils.normalizeReceiverValueForVisibility to ExpressionReceiver.create 2015-11-17 01:25:18 +03:00
Stanislav Erokhin 5a7e879c0c Convert ExpressionReceiver to kotlin. 2015-11-17 01:25:17 +03:00
Stanislav Erokhin 1c9136a8cd Minor. introduce method ExpressionReceiver.create and replace almost all usages of constructor ExpressionReceiver. 2015-11-17 01:25:15 +03:00
Valentin Kipyatkov 927df1c4cd KT-5072 Values of extension function type are not seen in completion
#KT-5072 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 2e2dfcb4a0 "invoke" from function types do not have any meaningful parameter names 2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 5b668cb6a6 KT-9970 Regression: completion doesn't see private extension functions with parametrized receiver
#KT-9970 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 6a26e2fd82 Sorting overloads in completion 2015-11-16 18:24:37 +03:00
Alexey Sedunov ac8532ffce Quick Fixes: Implement 'Initialize with constructor parameter' quick-fix
#KT-6604 Fixed
2015-11-16 11:30:03 +03:00
Alexey Sedunov 138370ce5b Quick Fixes: Implement 'Move to constructor parameters' quick-fix
#KT-6604 In Progress
2015-11-16 11:30:02 +03:00
Alexey Sedunov f66af7bdd4 Quick Fixes: Implement 'Initialize property' quick-fix 2015-11-16 11:30:00 +03:00
Alexey Sedunov aeee8bafe6 Name Suggester: Suggest parameter name for the corresponding argument expression
#KT-8111 Fixed
2015-11-16 11:29:59 +03:00
Mikhail Glukhikh f21603daf2 Source code fix according to KT-4475 2015-11-16 10:55:15 +03:00
Denis Zharkov 6ae653e5a1 Implement stub building for inner types 2015-11-13 14:59:04 +03:00
Denis Zharkov 7500447e72 Implement serialization of inner types 2015-11-13 14:59:03 +03:00
Denis Zharkov 188bcf0a03 Introduce TypeConstructorSubstitution.create
After latest changes type constructors of inner classes contains
additional type parameters that are copies of ones from outer class.

Their indices are correct, but they used only for subtyping check,
all entries within inner classes are still refers to original
descriptors having different indices.

Example:
class Outer<E> {
   inner class Inner<F> { // Inner's type constructor looks like Inner<F, E>
      fun foo(): E // refers to E in outer having index 0
   }
}

Indexed substitution does not work here because of intersecting indices,
so we replace it with common map substituion in such cases.
2015-11-13 14:47:29 +03:00
Denis Zharkov deea0643ad Refine type arguments resolution and rendering
In case of type constructors captured parameters from outer classes

 #KT-5510 Fixed
 #KT-3112 Fixed
 #KT-6325 Fixed
 #KT-408  Fixed
 #KT-6337 Fixed
2015-11-13 14:47:28 +03:00
Denis Zharkov d614adcd2a Obtain type parameters of constructor from containing class
Effectively this commit is just inlining of 'typeParameters' parameter
2015-11-13 14:47:28 +03:00
Denis Zharkov c9aa75259b Introduce ClassDescriptor.declaredTypeParameters
Should be a subset of type constructor's parameters
2015-11-13 14:47:28 +03:00
Valentin Kipyatkov e66f1c2d70 KT-9981 Code cleanup replace usages of !in incorrectly
#KT-9981 Fixed
2015-11-13 14:32:33 +03:00
Mikhail Glukhikh 2f4dbd2084 Code cleanup: get rid of unnecessary !! / ?. / as 2015-11-13 13:13:55 +03:00
Nikolay Krasko bd4ffb9ced Announce we are going to invalidate file to collect invalidatation trace
See DebugUtil.currentInvalidationTrace()
2015-11-12 19:19:43 +03:00
Dmitry Jemerov c734cad429 fix typo: 'a' before uuid 2015-11-12 14:22:58 +01:00
Dmitry Jemerov 45ef9b02c4 remove some leftovers of old package facades in IDE code 2015-11-11 19:25:11 +01:00
Ilya Gorbunov a793a63b73 Simplify message expression from lambda argument when converting assert to if. 2015-11-11 19:00:08 +03:00
Ilya Gorbunov f06d521bfe Refactor intention test files enumerating, do not use deprecated filter method, which would get another behavior after dropping deprecated one. 2015-11-11 18:59:54 +03:00
Dmitry Jemerov 6f2fb3f9aa don't analyze class repeatedly if we already found an annotated member there
#KT-8557 Fixed
2015-11-11 15:09:18 +01:00
Valentin Kipyatkov de11d571ef KT-9928 Replacement not offered for a usage of symbol deprecated with DeprecationLevel.ERROR
#KT-9928 Fixed
2015-11-11 16:49:52 +03:00
Ilya Gorbunov f105329fb4 Fix test dependent on exact documentation wording in stdlib. 2015-11-11 04:05:07 +03:00
Ilya Gorbunov 55d4d17dc3 Fix dropped DoubleRange and FloatRange usages in tests 2015-11-11 03:53:49 +03:00
Ilya Gorbunov ead333531c Update resolve test, since IntRange inherits iterator() from IntProgression and doesn't reimplement it itself. 2015-11-11 03:53:43 +03:00
Ilya Gorbunov 5f675c55ed Fix deprecated ranges and range member usages in tests. 2015-11-11 03:53:42 +03:00
Ilya Gorbunov cea27dd716 Disable check for "Access to tree elements not allowed in tests" in completion tests. 2015-11-11 03:53:23 +03:00
Ilya Gorbunov 84492fd311 Apply hack to restore mapping between PsiFiles and VirtualFiles, otherwise built-ins psi elements will become invalid in next test. 2015-11-11 03:53:21 +03:00
Ilya Gorbunov 2a7a6688d0 Remove obsolete condition from isKotlinJvmCompiledFile() 2015-11-11 03:53:18 +03:00
Valentin Kipyatkov d829f585f7 Changes on code review 2015-11-11 01:26:20 +03:00
Valentin Kipyatkov 4f9866f62f Created quickfix for KT-9805 2015-11-11 01:26:20 +03:00
Valentin Kipyatkov 8664d778ad Merged 2 files 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov f391d194de Presentation for extension property to include receiver type 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov 6a52cc76d0 Code simplifications 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov 6006969ab9 Converted to Kotlin 2015-11-10 22:24:46 +03:00
Natalia Ukhorskaya e1134b278c Minor: minimize number of parameters 2015-11-10 18:38:21 +03:00
Natalia Ukhorskaya ea50d8af02 Debugger: initial support for member extension functions in evaluate expression 2015-11-10 18:38:19 +03:00