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
Stanislav Erokhin
1890b8cbd3
Removed InvokeOnExtensionFunctionWithExplicitReceiverFix
2015-12-11 17:01:03 +03:00
Alexander Udalov
239502368a
Update test data for tower resolution algorithm
...
- locals win
- unary calls to plus/minus are not supported in favor of unaryPlus/unaryMinus
- unqualified nested classes are temporarily reported as unresolved
- function without receiver win against extension function
- explicit import win against star import
2015-12-11 17:01:02 +03:00
Natalia Ukhorskaya
f699adda33
Stepping: skip methods deleting to static method call of DefaultImpl.
...
Support smart step into interface methods with implementation
#KT-4803 Fixed
2015-12-11 16:21:05 +03:00
Natalia Ukhorskaya
ea8de883ac
Implement 'Skip simple getters' for debugger
2015-12-11 16:21:04 +03:00
Mikhail Glukhikh
d024045638
Data flow values for Elvis / parenthesized expressions, smart casts on them
2015-12-11 15:17:29 +03:00
Mikhail Glukhikh
745a3aeeac
Accurate representation of smart casts on complex expressions
2015-12-11 15:17:25 +03:00
Dmitry Petrov
0fe74a8b43
COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT is an ERROR now.
...
Migrated code.
Updated test data in IDE tests.
Dropped whenWithRangeTestsAndMultiConditions.kt:
"Introduce subject" is not applicable to 'when' with ||-ed conditions.
2015-12-11 10:43:16 +03:00
Alexey Sedunov
f87d2d1fcc
Introduce Refactorings: Implement trimming renderer for expression
...
chooser. Do not suggest parenthesized expressions
#KT-9028 Fixed
2015-12-10 20:07:26 +03:00
Alexey Sedunov
ae2fc19fe5
Introduce Parameter/Lambda Parameter: Parenthesize binary expressions if operation reference starts with a new line
2015-12-10 20:07:24 +03:00
Alexey Sedunov
354e1dc337
Extract Function: Parenthesize binary expressions if operation reference starts with a new line
2015-12-10 20:07:23 +03:00
Alexey Sedunov
1824f10f07
Introduce Variable: Parenthesize binary expressions if operation references starts with a new line
...
#KT-3933 Fixed
2015-12-10 20:07:22 +03:00
Alexey Sedunov
ffc8b6fd89
Safe Delete: Move test classes and test data to refactoring directory
2015-12-10 20:06:34 +03:00
Alexey Sedunov
a76f43b66c
Safe Delete: Skip internal usages of class constructors when deleting class itself
...
#KT-8857 Fixed
2015-12-10 20:06:31 +03:00
Alexey Sedunov
f50059a11a
Create from Usage: Implement "Create function" on callable references
...
#KT-10283 Fixed
2015-12-10 20:06:30 +03:00
Alexey Sedunov
87aebd2cdf
Create from Usage: Forbid "Create local variable/parameter/property" on callable references
...
#KT-10283 In Progress
2015-12-10 20:06:27 +03:00
Alexey Sedunov
44743aade5
Create from Usage: Allow type parameters in the receiver position
...
#KT-7497 Fixed
2015-12-10 20:06:26 +03:00
Alexey Sedunov
76cf284b77
Introduce Variable: Do not suggest type-based names for multi-declaration entries if component function corresponds to value parameter
...
#KT-10287 Fixed
2015-12-10 20:06:24 +03:00
Dmitry Jemerov
009e3f9cd7
rename PSI classes according to current terminology:
...
KtMultiDeclaration(Entry) -> KtDestructuringDeclaration(Entry)
KtFunctionLiteralExpression -> KtLambdaExpression
KtFunctionLiteralArgument -> KtLambdaArgument
KtDelegationSpecifierList -> KtSuperTypeList
KtDelegationSpecifier -> KtSuperTypeListEntry
KtDelegatorToSuperClass -> KtSuperTypeEntry
KtDelegatorToSuperCall -> KtSuperTypeCallEntry
KtDelegationByExpressionSpecifier ->KtDelegatedSuperTypeEntry
2015-12-10 16:15:13 +01:00