Commit Graph

1982 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 40c4022c98 Debugger tests: add custom library 2014-08-27 15:57:57 +04:00
Nikolay Krasko 186a9a13a8 Report unmet trait requirements in IDE
#KT-3006 Fixed
2014-08-26 14:42:29 +04:00
Pavel V. Talanov d6bd4535fa Introduce MultiModuleHighlightingTest
Checks that analysis produces expected diagnostics when configured by real IDEA module
2014-08-22 22:59:03 +04:00
Pavel V. Talanov db5303c019 Implement modules in IDE
IDE:
Rewrite AnalyzerFacade and implementations for JS and JVM to support creating separate analyzers for each module
Introduce ModuleInfo which is an intermediate entity between configuration (tests or idea modules) and ModuleDescriptor
Implement IdeaModuleInfos which represent IDEA modules, sdks and libraries
Add (somewhat thin) test checking their behaviour
Implement getModuleInfo() - utility to obtain IdeaModuleInfo for PsiElement
Drop Project.getLazyResolveSession() - not possible to obtain resolve session for the whole project any more
Adjust JavaResolveExtension accordingly
KotlinSignature Intention/Marker - make sure that analyzed element is cls element (he's not in resolve scope otherwise)

LightClasses:
Create separate package light classes for each module
Java code can only reference light class from the first module among it's dependencies
Duplicate jvm signature is only reported on package declarations inside one module

Injectors:
Receive GlobalSearchScope as paramer for VirtualFileFinder and JavaClassFinder
which allows to narrow analyzer scope

JDR:
Introduce ModuleClassResolver resolves java classes in correct java descriptor resolver (corresponding ModuleDescriptor)
Add test checking that java classes belong to correct module

Debugger:
Provide context to analyze files created by debugger in

Converter:
Postprocessor now needs a context to analyze resulting code in

JetPsiFactory:
Add verification that files created by psi factory are not analyzed without context (that is almost never a good idea)

Other:
Use new API in various tests, utilities, run configuration producers and builtin serializers
Various "TODO: (module refactoring)" which mark the unfinished parts
2014-08-22 22:58:54 +04:00
Evgeny Gerashchenko 184ddbc9e1 Removed passing incremental cache base dir via module script. 2014-08-20 13:46:29 +04:00
Nikolay Krasko 51aa70eba8 'Configure as Kotlin (java) modules' doesn't work properly if several modules depends on KotlinJavaRuntime
#KT-5595 Fixed
2014-08-12 15:16:24 +04:00
Alexey Sedunov 96dae07276 Extract Function: Allow to choose between function and property extraction 2014-08-12 13:09:53 +04:00
Alexey Sedunov 87de6cff23 Extract Function: Check for INVISIBLE_* errors during validation phase
#KT-4995 Fixed
2014-08-12 13:09:53 +04:00
Alexey Sedunov cb3328c052 Extract Function: Choose default visibility at analysis phase 2014-08-12 13:09:52 +04:00
Alexey Sedunov 67606c55e7 Rename: Initial support of naming conventions 2014-08-08 18:59:49 +04:00
Alexey Sedunov d226a11c8e Find Usages: Add support of naming conventions
#KT-1356 Fixed
2014-08-08 18:59:47 +04:00
Valentin Kipyatkov 386e39f4a2 Fixed KT-1797 No completion for nested class name in extension function definition
#KT-1797 Fixed
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov 83b33bd58b Only named parameters in completion when nothing else can be 2014-08-07 21:55:15 +04:00
Valentin Kipyatkov b5058fa7fd Do not shown inaccessible symbols on auto-popup 2014-08-07 21:55:15 +04:00
Valentin Kipyatkov 6221de9849 KT-5157 Code completion named parameter items should have lowest priority
KT-4157 Auto-popup code completion pre-selects wrong item

 #KT-5157 Fixed
 #KT-4157 Fixed
2014-08-07 21:55:12 +04:00
Natalia Ukhorskaya de7b6cb3a1 Evaluate expression: support EE on method with expression body, on properties
#KT-5485 Fixed
2014-08-07 15:43:47 +04:00
Natalia Ukhorskaya 3a7f66b7eb Evaluate expression: fix exception when default package is used
#KT-5555 Fixed
2014-08-07 15:43:46 +04:00
Natalia Ukhorskaya 6fa4d8fc83 Evaluate expression: Don't evaluate something when it is not an expression
#KT-5561 Fixed
2014-08-07 15:43:45 +04:00
Alexey Sedunov 9fee8600cb Pseudocode: Do not generate implicit return instruction inside of
Unit-typed lambdas
 #KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Alexey Sedunov 17dd5b9d05 Move: Do not update Kotlin usages of extension members, add imports instead
#KT-5378 Fixed
2014-08-05 18:14:39 +04:00
Evgeny Gerashchenko 670f135c75 KT-5522 Rename refactoring on implicit lambda parameter 'it' should be allowed
#KT-5522 fixed
2014-08-04 13:38:35 +04:00
Svetlana Isakova 2ae87cae4a Function literal expression outside the parentheses wrapped into JetFunctionLiteralArgument
Extracted JetFunctionLiteralArgument.moveInsideParenthesesAndReplaceWith util function
2014-07-30 17:14:00 +04:00
Valentin Kipyatkov 2b67716e95 KT-5153 Smart completion should include objects from type
#KT-5153 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov be0e78b11a Fixed one more case of no-auto-insertion after "as" 2014-07-28 18:52:58 +04:00
Valentin Kipyatkov 7546a17539 KT-4914 Smart completion should work after 'as' and 'as?'
#KT-4914 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov 32dbed602a KT-4913 Smart completion should work after '!'
#KT-4913 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov 19999e6879 Smart completion for implicitly typed function body 2014-07-28 18:52:58 +04:00
Valentin Kipyatkov 91c983706a Fixed KT-5020 Smart completion should work at the initializer of a val with no explicit type
#KT-5020 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov 67df7de7b1 Fixed KT-5110 Smart completion: do not generate comma if next argument has default value
Fixed KT-5109 Smart completion: do not insert comma if next argument is vararg

 #KT-5110 Fixed
 #KT-5109 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov bddb01888a Fixed KT-5158 Smart completion for when selector: do not include subject variable
#KT-5158 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov 595ef9f1d4 Fixed KT-5168 Smart completion includes null when comparing non-nullable value
#KT-5168 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov 81393c999b Fixed KT-5231 Smart completion does not insert comma in super constructor argument list
KT-5231 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov c8c8b477ef Added test for KT-5272 which is not reproduced 2014-07-28 18:52:57 +04:00
Valentin Kipyatkov d6b12187c2 Fixed KT-5341 Code completion of class declared locally inserts its "qualified name"
#KT-5341 Fixed
2014-07-28 18:52:57 +04:00
Alexey Sedunov 9cbcabffa4 Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis 2014-07-28 13:07:37 +04:00
Alexander Udalov de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov cdbdfaf182 Make Pair and Triple data classes 2014-07-25 21:19:38 +04:00
Alexander Udalov a79398fa00 Don't load Object as a supertype for Java classes
#KT-4890 In Progress
 #KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov 1168cf62bf Don't list symbols from test data in "Go to symbol"
#KT-4094 Fixed
2014-07-25 21:15:03 +04:00
Zalim Bashorov c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Zalim Bashorov c85ec97589 Minor: revert dc68d78 (Minor: revert changes in StackValue and fix tes data. another fixes) 2014-07-25 17:16:40 +04:00
Nikolay Krasko b20b406d8e Fix problem in configuration with copy runtime jar
Jar with runtime wasn't copied to library with configured classpath if runtime jar was present in default directory.

Mute configure dialog for tests
2014-07-22 15:27:17 +04:00
Pavel V. Talanov 740fe70b22 Fix ConvertAssertToIfWithThrowIntention to avoid shortening more references than intended 2014-07-21 18:52:31 +04:00
Pavel V. Talanov f44ba60d51 Fix SimplifyBooleanWithConstantsIntention intention to avoid analyzing files created by JetPsiFactory 2014-07-21 18:52:30 +04:00
Pavel V. Talanov 1bc0a9dfd9 Fix InsertExplicitTypeArguments intention to insert imports for shortened types
#KT-5489 Fixed
2014-07-21 18:52:29 +04:00
Pavel V. Talanov 0462a018c5 Add test documenting a minor issue introduced in previous commit 2014-07-21 18:52:28 +04:00
Pavel V. Talanov 966da0b03f Fix ConvertAssertToIfWithThrowIntention
to not invoke ShortenReferences on file created by JetPsiFactory

 #KT-5476 Fixed
2014-07-21 18:52:27 +04:00
Pavel V. Talanov 1a5ba566cc Add test for the same pitfall for parameter types in MakeTypesExplicitInLambda 2014-07-21 18:52:26 +04:00
Pavel V. Talanov e390385bf9 Fix shortening references for return type in MakeTypeExplicitInLambdaIntention
#KT-5475 Fixed
2014-07-21 18:52:25 +04:00