Commit Graph

4061 Commits

Author SHA1 Message Date
Sergey Mashkov e25d31618c Fix tests 2015-12-18 22:16:04 +03:00
Ilya Gorbunov 03816373b3 Primitive array constructor-like functions with init lambda.
#KT-8831

Update testData and resolve ambiguity in newArray test
2015-12-18 17:54:09 +03:00
Stanislav Erokhin 8b5a194dd6 Do not discriminate synthesized candidates.
#KT-9965 Fixed
2015-12-18 15:08:19 +03:00
Alexey Sedunov 784b250de8 Change Signature: Fix rendering of unresolved types in overriding members 2015-12-18 15:05:39 +03:00
Alexey Sedunov fd79145b73 Change Signature: Represent parameter/receiver types using KotlinTypeInfo 2015-12-18 15:05:36 +03:00
Alexey Sedunov cfe1c44260 Introduce Variable: Add type argument to initializer if they can't be inferred from the context
#KT-5466 Fixed
2015-12-18 15:05:27 +03:00
Alexey Sedunov 4e36edb5d6 Inline Variable: Remove invalid imports and perform reference lengthening/shortening when inlining non-local declaration
#KT-8884 Fixed
2015-12-18 15:05:23 +03:00
Stanislav Erokhin 7521b89b3e Resolve unaryPlus as plus with error. 2015-12-17 20:21:01 +03:00
Denis Zharkov 1a6f9b8d1c Do not build inner type for error classes
#KT-10409 Fixed
2015-12-17 19:56:38 +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
Mikhail Glukhikh f5989aa4f2 CallableMemberDescriptor.isOverridable / ClassDescriptor.isFinal refactoring
Extra JvmField and integer constants tests
2015-12-17 18:11:41 +03:00
Evgeny Gerashchenko 16f482f723 Merge pull request #797 from JetBrains/rr/kt8365
KT-8365 Bogus "Receiver never used" warning when receiver is used in invoke() convention call
2015-12-17 17:38:24 +04:00
Natalia Ukhorskaya d40e9ffc13 Do not convert anonymous object to lambda if its function is recursive
#KT-10348 Fixed
2015-12-17 13:39:36 +03:00
Evgeny Gerashchenko 9aa38d99fb KT-8365 Bogus "Receiver never used" warning when receiver is used in invoke() convention call
#KT-8365 fixed
2015-12-17 13:31:43 +03:00
Natalia Ukhorskaya 43476bd773 Do not drop negation if resulting type isn't boolean 2015-12-17 11:11:33 +03:00
Natalia Ukhorskaya f84b3414c8 Remove outdated test: generic property should have a receiver 2015-12-17 11:11:32 +03:00
Natalia Ukhorskaya 4b1edf7bb0 Intention tests: add directive to skip errors before 2015-12-17 11:11:31 +03:00
Natalia Ukhorskaya 7e6495618b ChangeVariableMutability: diagnostic can be reported on constructor parameter
#KT-10416 Fixed
2015-12-17 11:11:31 +03:00
Natalia Ukhorskaya fc7c45d4d0 NegatedExpressionWithDemorgansLaw may produce code with error 2015-12-17 11:11:30 +03:00
Natalia Ukhorskaya 7f0065c806 Fix OperatorToFunctionIntention: insert function literal expressions to arguments correctly 2015-12-17 11:11:29 +03:00
Natalia Ukhorskaya 6bfbec8c88 ConvertAssertToIf may produce code with error
// TODO: we could generate anonymous function instead of lambda expression when there is a return
2015-12-17 11:11:28 +03:00
Natalia Ukhorskaya ce3d53d2ee Intention tests: add operator modifier in some tests 2015-12-17 11:11:27 +03:00
Natalia Ukhorskaya 2c29f6f5ab ConvertIfWithThrowToAssertIntention: generate assert with lazy argument 2015-12-17 11:11:26 +03:00
Natalia Ukhorskaya 2dc1ba1d62 Intention 'remove explicit lambda parameter' may break code, do not check error in tests for it 2015-12-17 11:11:26 +03:00
Natalia Ukhorskaya 269676ee2e Intention tests: skip errors check for tests that fix some error 2015-12-17 11:11:25 +03:00
Natalia Ukhorskaya abd7ed5c70 Fix intention for when: insert '||' instead of ',' 2015-12-17 11:11:24 +03:00
Natalia Ukhorskaya 6a3ac66208 Intention tests: add runtime where necessary 2015-12-17 11:11:23 +03:00
Natalia Ukhorskaya 78d737f3f4 Check errors in Intentions tests by default 2015-12-17 11:11:22 +03:00
Natalia Ukhorskaya cc259c2d15 Intention convert object literal to lambda should add parameters if there are more than one 2015-12-17 11:11:22 +03:00
Natalia Ukhorskaya a520e93b5b J2K: don't automatically convert Java code when pasting to a string literal in Kotlin
#KT-7759 Fixed
2015-12-17 11:11:19 +03:00
Natalia Ukhorskaya 693e158759 Intention to convert anonymous function to lambda 2015-12-17 11:11:18 +03:00
Natalia Ukhorskaya a983e6cf60 J2K: Do not convert string literal with escaped symbols automaticaly during java to kotlin conversion
#KT-9942 Fixed
2015-12-17 11:11:16 +03:00
Pavel V. Talanov bd9221beaa Minor, fix test data for KotlinGoToTest 2015-12-15 20:22:13 +03:00
Pavel V. Talanov ca38a50e1a Test data: fix test data for LineMarkerTest 2015-12-15 20:22:12 +03:00
Pavel V. Talanov 4fdc77f86f Minor, mark component functions as operator in test data for ReferenceResolveWithLibTest 2015-12-15 20:22:11 +03:00
Pavel V. Talanov 6a780f01bd Replace calls to QuickFixUtil.canModify by calls to canRefactor
Fix ChangeFunctionSignatureFix#isAvailable
2015-12-15 20:22:10 +03:00
Pavel V. Talanov a667aa2f71 Tests: add runtime (and runtime sources) to some tests that rely on being able to resolve references to built ins 2015-12-15 20:22:09 +03:00
Pavel V. Talanov ddde372fad Upgrade BuiltInsReferenceResolverTest 2015-12-15 20:22:08 +03:00
Denis Zharkov b4bb92d136 Fix overload resolution ambiguity for types intersection
There are two different forms of types intestion:
1. Type parameters with multiple bounds
2. Smart casts

The problem was that when member scope of type intersection contained
effective duplicates and that lead to overload resolution ambiguity in
strange cases like `x.hashCode()`

For first type we do effectively the same thing as when building member
scope for class extending several interfaces: group all descriptors by
both-way-overridability relation and then choose most-specific in each
group.

For smart casts we do basically the same thing but with special
treatments:
1. From all descriptors that _equal_ to most specific we choose
   the one that works without smartcast if possible (i.e. we choose first from candidates list)
2. If smart-cast value seems to be unstable we use only member scope
   of receiver type + all descriptors from smart cast possible types
   that has incompatible signature. If we'd include all of them and
   choose one as more specific, and it would lead to false
   SMART_CAST_IMPOSIBLE (see test unstableSmartCast.kt)

 #KT-3996 Fixed
 #KT-10315 Fixed
2015-12-15 16:18:31 +03:00
Dmitry Jemerov c83b6ed3a5 Inspection for migrating Kotlin stdlib API usages in Java code 2015-12-15 12:45:40 +01:00
Alexey Sedunov ffb382e3bc PSI: Delete succeeding semicolon along with KtElement
#KT-5487 Fixed
2015-12-15 13:31:33 +03:00
Alexey Sedunov d0b9b6a3b4 Introduce Parameter: Support conversion of local variables
#KT-9170 Fixed
2015-12-15 13:31:32 +03:00
Alexey Sedunov 04c6ea78c7 Name Suggester: Allow any Kotlin identifier in suggested names
#KT-10332 Fixed
2015-12-15 13:31:28 +03:00
Dmitry Jemerov 8db3fb03f9 remove support for "package.foo.bar" syntax inside files 2015-12-14 13:22:54 +01:00
Ilya Gorbunov 58e93d5e1b Update testData for LoadBuiltinsTest and BuiltInDecompilerTest 2015-12-14 04:29:28 +03:00
Ilya Gorbunov 59a9e2549c Fix tests: codegen, completion, decompiler consistency, quickdoc, intentions, navigation, reference resolver, quick fixes 2015-12-14 04:29:25 +03:00
Ilya Gorbunov d296d91272 Fix fq-names of top-level extensions in intentions. 2015-12-14 04:29:21 +03:00
Ilya Gorbunov 4dde59368c Fix tests not to duplicate array constructor definitions as they are available now in builtins. 2015-12-14 04:29:18 +03:00
Alexander Udalov 65c5c99c68 Render decompiled annotations on enum entries 2015-12-13 17:49:44 +03:00
Mikhail Glukhikh fe78f944a6 Private setter for open property: is now an error, not a warning 2015-12-11 18:54:40 +03:00