Commit Graph

14446 Commits

Author SHA1 Message Date
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
Mikhael Bogdanov 00764d0ae1 Don't generated redundant class files 2014-03-06 13:02:32 +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 1dd57b5f6e Merge declarationsByLabel in chained scopes 2014-03-05 14:37:26 +04:00
Andrey Breslav 19bc996d1b Minor. Unused field removed 2014-03-05 14:37:26 +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 bc79855cf5 Minor: additional logging when failing to read file in VirtualFileKotlinClass 2014-03-04 21:20:00 +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
Pavel V. Talanov 733da8caec Test checking that no PSI is built for synthetic classes produced by compiler 2014-03-04 21:19:54 +04:00
Pavel V. Talanov 47a0715c8b Minor: Add assertion in DecompiledTextFactory 2014-03-04 21:19:53 +04:00
Pavel V. Talanov b5c119200f Decompiler: remove project from decompilation API
Remove JetDecompiledData, DecompiledText is enough
Move JetDecompiled to upper level, rename to JetClsFile
Move caches into JetClsFile and JetClassFileViewProvider
Rewrite JetClassFileViewProvider and JetClsFile to Kotlin
DecompiledDataFactory -> DecompiledTextFactory
2014-03-04 21:19:52 +04:00
Pavel V. Talanov 5bd9955785 Decompiler: switch to using non-project based decompiled text builder
Move ProjectBasedResolverForDecompiler to test root (since only used for validating)
2014-03-04 21:19:51 +04:00
Pavel V. Talanov 32ecdfede0 Decompiler: Test that checks consistency between project-based and non-project-based decompilers 2014-03-04 21:19:50 +04:00
Pavel V. Talanov b2b7e6996b Decompiler: Introduce DeserializerForDecompiler
Component which can "resolve" descriptors without project
It builds dummy descriptors for dependencies which are enough to build decompiled text
2014-03-04 21:19:50 +04:00
Pavel V. Talanov 2499e95d38 Refactor DecompiledDataFactory 2014-03-04 21:19:49 +04:00
Pavel V. Talanov 65a479e3ef Rewrite DecompiledDataFactory to Kotlin 2014-03-04 21:19:48 +04:00
Pavel V. Talanov a1b59cee63 Add MissingDependencyErrorClass which is treated specially during rendering 2014-03-04 21:19:47 +04:00
Pavel V. Talanov 016fa4b817 Add test for decompiled text 2014-03-04 21:19:46 +04:00
Pavel V. Talanov 528148a083 Decompiler: introduce ResolverForDecompiler as dependency for DecompiledDataFactory
Extract JDR based implementation of ResolverForDecompiler from DecompiledDataFactory
2014-03-04 21:19:45 +04:00
Pavel V. Talanov b6b423935f Move test data for NavigateTo*Library tests to a more specific folder 2014-03-04 21:19:44 +04:00
Pavel V. Talanov bbcc2a33ed Minor code fix in NavigateToDecompiledLibraryTest 2014-03-04 21:19:43 +04:00
Pavel V. Talanov 796386049b Minor: remove explicit dependency on JavaDescriptorResolver from AnnotationDescriptorDeserializer 2014-03-04 21:19:42 +04:00
Pavel V. Talanov d647d2abbc Move caching of kotlin binaries classes to application level
Fix code in DecompiledUtils
2014-03-04 21:19:41 +04:00
Pavel V. Talanov b052cb8aa9 Switch to new decompiler API for IDEA
Patch from Roman Shevchenko adapted
2014-03-04 21:19:40 +04:00
Andrey Breslav d31c2884aa Compilation fixed 2014-03-04 21:09:47 +04:00
Tal Man 8cf965db7e 2 intentions for moving lambda functions;
moves lambda functions in function calls inside and outside of the
parenthesis: foo({ it }) <-> foo() { it }
2014-03-04 20:07:42 +04:00
Alexey Sedunov a18e2f7cfa Make utlity functions public 2014-03-04 19:45:37 +04:00
Alexey Sedunov 36633af275 Extract JSON utility functions 2014-03-04 19:45:36 +04:00
Alexey Sedunov 1edaa877dc Fix search scope of Kotlin light methods
#KT-4638 Fixed
2014-03-04 19:45:35 +04:00
Alexey Sedunov 3729966270 Forbid moving file to another file
#KT-4069 Fixed
2014-03-04 19:45:34 +04:00
Alexey Sedunov 12310b5bd9 Reuse getQualifiedElementSelector() function 2014-03-04 19:45:33 +04:00
Alexey Sedunov e48616e739 Do not insert parentheses into package directives
Add tests for "Move Package" refactoring
2014-03-04 19:45:32 +04:00
Alexey Sedunov d2f6b55cb5 Box qualified names of package directives into dot-qualified expressions 2014-03-04 19:45:30 +04:00
Alexey Sedunov 5e87fc35e0 Do not rely on write action lock during preparation phase of RefactoringHelper
#KT-4631 Fixed
2014-03-04 19:45:29 +04:00
Alexey Sedunov b34b3ccf38 Delete redundant annotation 2014-03-04 19:45:29 +04:00
Alexander Udalov f8d3f8480a Minor, use constants instead of hard-coded strings 2014-03-04 19:23:46 +04:00
Ladislav Thon 36bc7580aa fix main function detection to rely on actually resolved types 2014-03-04 19:18:14 +04:00
Valentin Kipyatkov a2f6b99862 Convert to block body intention action 2014-03-04 19:13:54 +04:00
Alexander Udalov af2a28c099 Minor, inline only once-used methods 2014-03-04 19:04:58 +04:00
Alexander Udalov d5e9cadccf Delete default "import jet.*" from JS analyzer 2014-03-04 18:19:43 +04:00
Alexander Udalov 3a0a688ebc Add test on KotlinSyntheticClass annotation for $$TImpl 2014-03-04 18:19:43 +04:00
Alexander Udalov 76cc5b301a Minor, revert unneeded "!!" 2014-03-04 18:19:43 +04:00