asedunov
85dbd8cf49
Merge pull request #410 from kuity/unnecessaryParensInWhenToIf
...
Fix KT-4385 "Unnecessary parentheses in "replace when with if"
2014-03-17 13:00:10 +01:00
Alexander Udalov
307f52895a
Refactor KotlinJvmBinaryClass, VirtualFileKotlinClass, etc.
...
VirtualFileKotlinClass now reads its header and name on creation. This is not
lazy enough and may be slower in some circumstances, but has the following
advantage: if anything is wrong in the header, a VirtualFileKotlinClass
instance will not be created at all, making it nearly impossible for the client
code to operate on invalid data causing all kinds of exceptions
2014-03-14 16:00:20 +04:00
Lingzhang
877b9f2d99
KT4385 Bug Fix for Unnecessary Parentheses in WhenToIfIntention
2014-03-13 21:26:03 -04:00
Mikhael Bogdanov
f475f3ba31
Inline checkbox in BytecodeToolWindow
2014-03-13 14:06:57 +04:00
Natalia Ukhorskaya
000dd4478a
Rename
2014-03-13 10:07:13 +04:00
Natalia Ukhorskaya
a2879f229a
Add serializer for compile-time constant initializer
2014-03-13 10:07:05 +04:00
Natalia Ukhorskaya
073d345841
Extract BaseDeserializer from AnnotationDeserializer. Move storage to separate class
2014-03-13 10:07:04 +04:00
Nikolay Krasko
569f139d8a
Update to idea 135.406, support 135 and 136 branch
2014-03-12 18:39:32 +04:00
Zack Grannan
6156a56a4b
Generated tests
2014-03-12 16:02:57 +04:00
Zack Grannan
3862a3b5bc
Added ifThenToSafeAccessIntention
2014-03-12 16:02:56 +04:00
Zack Grannan
1f720c8559
Added safeAccessToIfThen intention
2014-03-12 16:02:55 +04:00
Zack Grannan
1ca4bb0e79
Added ifThenToElvisIntention
2014-03-12 16:02:55 +04:00
Zack Grannan
673369affe
Added elvisToIfThenIntention
2014-03-12 16:02:54 +04:00
Zack Grannan
6b5e46da50
Added IfThenUtils
2014-03-12 16:02:53 +04:00
Zack Grannan
fcbd7b357a
Modified doRefactoring to allow occurrences to be specified
2014-03-12 14:43:08 +04:00
Zalim Bashorov
33360c2528
Dropped some TODOs
...
#KT-2564 Obsolete. Looks like, it's fixed in dcddd04 .
2014-03-11 20:03:58 +04:00
Steven Allen
84a8911822
Add replacement intentions for operator functions
...
Add intentions for replacing attribute calls that correspond to
overloadable operators with their respective operators.
This commit includes call replacements for:
* Binary Infix Operators: plus, minus, times, rangeTo, mod, div
* Unary Prefix Operators: plus, minus, not
* Array Index Operator: get
* In Operator: contains
2014-03-10 11:15:11 -04:00
Steven Allen
162ed64706
Add ability to test for expected intention text
...
If a testData file contains `// INTENTION_TEXT: ...`, the tested
intention's description must match `...`.
2014-03-10 10:46:28 -04:00
Steven Allen
8b88dff205
Add ability to test for expected errors in intentions
...
If an intention test contains `// SHOULD_FAIL_WITH: my_string`, the test
is expected to throw `IntentionTestException("my_string")`. This is
useful for testing whether or not a function that should be called, is
called (a pop-up dialog is displayed, etc.).
2014-03-10 10:46:28 -04:00
Nikolay Krasko
bbe9be5150
Fix 'No type in binding context for: <some class> from light class generation' exception
...
#KT-4668 Fixed
2014-03-08 02:55:29 +04:00
Alexey Sedunov
8b0e8ed398
Keep original expression when attempting to bind reference to empty FqName
2014-03-07 19:24:37 +04:00
Alexey Sedunov
ca65e27214
Minor refactoring
2014-03-07 19:24:36 +04:00
Alexey Sedunov
09574d72b8
Translate JetSimpleNameReference to Kotlin
2014-03-07 19:24:35 +04:00
Alexey Sedunov
c9d10cfcd3
Do not postpone reference lengthening
...
Do not shorten references located in import/package directives
2014-03-07 19:24:34 +04:00
Alexey Sedunov
5327031300
Update references when moving Kotlin file
...
#KT-1696 Fixed
2014-03-07 19:24:33 +04:00
Alexey Sedunov
e4df997ad0
Fix warnings
2014-03-07 19:24:31 +04:00
Alexey Sedunov
99b8c47276
Extract reference resolver from ShortenReferences
2014-03-07 19:24:30 +04:00
Natalia Ukhorskaya
d9d045cbb2
Fix line separators for windows in tests
2014-03-07 18:05:12 +04:00
Alexander Udalov
4937812414
Rewrite KotlinClassHeader to Kotlin
2014-03-07 03:43:41 +04:00
Alexander Udalov
39cd3b1e13
Add tests that there's no PSI for all kinds of synthetic classes
2014-03-07 03:43:28 +04:00
Alexander Udalov
cbfb626d50
Write KotlinSyntheticClass to generated classes for functions
...
That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
2014-03-07 03:08:18 +04:00
Alexander Udalov
36936e0a6b
Minor fix in tests for sources appearing in libraries
2014-03-07 03:08:16 +04:00
gavinkeusch
2f613638c2
KT-4562 New Intention: Add and Remove braces from control statements that have single line bodies
2014-03-06 23:45:45 +04:00
Pavel V. Talanov
d05697d3ac
Optimize Imports tests: add test for qualified expression with nested enum
2014-03-06 18:45:37 +04:00
Pavel V. Talanov
6f9b3f1bae
Optimize Imports: simplify code
2014-03-06 16:01:07 +04:00
Pavel V. Talanov
809be9b069
Optimize Imports: do not keep imports of unimportable entities
2014-03-06 16:01:06 +04:00
Pavel V. Talanov
c87cc0dde1
Optimize Imports tests: Switch to generated approach
...
Move test and rename test data
Delete unused testdata
Rewrite OptimizeImportOnFlyTest
2014-03-06 16:01:05 +04:00
Pavel V. Talanov
3155a66319
Move, rewrite and rename JetImportOptimizer
...
Rewrite it to Kotlin and rename to KotlinImportOptimizer, move to imports package
Create ImportsUtils.kt
2014-03-06 16:01:04 +04:00
Pavel V. Talanov
f5c8557ff7
Rewrite optimize imports using JetReference#resolveToDescriptors
...
#KT-4451 Fixed
2014-03-06 16:01:03 +04:00
Pavel V. Talanov
6f2ed9a5a9
Add JetMultiDeclarationReference
...
A reference to component* functions
2014-03-06 16:01:02 +04:00
Nikolay Krasko
ea5788f86c
Assert with framework statements
...
Should work even if -ea is not enabled
2014-03-05 17:31:26 +04:00
Tuomas Tynkkynen
8ce0d43118
Add intention for converting an implicit 'it' parameter to an explicitly named parameter
...
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword. Add an intention action for
converting an implicit 'it' parameter to an explicitly named one.
For example, 'array(1, 2, 3).filter { it % 2 == 0 }'
-> 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
2014-03-05 17:31:25 +04:00
Tuomas Tynkkynen
c6d6a32314
Add intention for replacing explicit function literal parameter with 'it'
...
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword.
For example, 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
-> 'array(1, 2, 3).filter { it % 2 == 0 }'
Add an intention action for this transformation.
2014-03-05 17:31:21 +04:00
Andrey Breslav
f752527e48
Test data fixed after adding a new intention
2014-03-05 12:02:14 +04:00
Pavel V. Talanov
dab6716664
Minor: fix test data for PropertyMetadata completion test
2014-03-04 21:20:01 +04:00
Pavel V. Talanov
0cfac5f9c7
Decompiler: show java file with a comment when kotlin file has incompatible abi version
...
Introduce JetDecompilerForWrongAbiVersion
2014-03-04 21:19:59 +04:00
Pavel V. Talanov
825dacfd13
Migrate to newer API
2014-03-04 21:19:58 +04:00
Pavel V. Talanov
7db9d31a70
Decompiler: allow java decompiler to process trait impl classes
2014-03-04 21:19:57 +04:00
Pavel V. Talanov
50d59c789a
Decompiler: do not create decompiled files for inner classes and anonymous functions
...
Rewrite DecompiledUtils to Kotlin
2014-03-04 21:19:56 +04:00
Pavel V. Talanov
80bc7b286a
Test for reference to nested class in library
2014-03-04 21:19:55 +04:00