Commit Graph

2006 Commits

Author SHA1 Message Date
Valentin Kipyatkov 89aaa018fe Completion: escaping of named arguments 2014-09-03 13:59:31 +04:00
Valentin Kipyatkov d64f930ff1 Completion: no qualified this for anonymous object + no keyword escaping for qualified this 2014-09-03 13:59:31 +04:00
Svetlana Isakova bbeb44e6ee Fixed NPE in ArgumentMatchImpl.getStatus
Check value arguments if there is wrong number of type arguments
2014-09-01 12:32:52 +04:00
Svetlana Isakova 05637226e1 Render name of class object as 'class object of MyClass' 2014-09-01 12:32:52 +04:00
Svetlana Isakova 9d366cb896 Prohibit local objects and enum classes
#KT-5402 Fixed
  #KT-4838 Fixed

Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
    var foo = object {
        val bar = object {
            val baz = "ok"
        }
    }
    return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova f811b9541c Position error on 'class A' or 'object A' instead of name identifier only 2014-09-01 12:32:51 +04:00
Svetlana Isakova 6f4c152f53 Record reference to class object directly
not to containing class descriptor
2014-09-01 12:32:50 +04:00
Svetlana Isakova 7f33ad90a6 Report 'nested class accessed via instance reference' error 2014-09-01 12:32:50 +04:00
Svetlana Isakova 8289f13016 Introduced QualifierReceiver instead of PackageType 2014-09-01 12:32:49 +04:00
Natalia Ukhorskaya e7a72b70a6 Add some more test on filters for debugger 2014-08-29 15:17:13 +04:00
Natalia Ukhorskaya 5c0c22d087 Stepping: do not step into kotlin standard library
#KT-2076 Fixed
2014-08-29 15:17:13 +04:00
Natalia Ukhorskaya 741f55d89c Debugger: Add filter for Kotlin specific classes
#KT-2076 Fixed
2014-08-29 15:17:12 +04:00
Natalia Ukhorskaya f26ea299dc Debugger: add tests (filter classloaders and constructors) 2014-08-29 15:17:11 +04:00
Nikolay Krasko 97a95d6a6a Fix "Cannot resolve method" error in Java for methods from trait 2014-08-28 13:47:36 +04:00
Valentin Kipyatkov 9859b10854 Fixed test 2014-08-27 19:07:39 +04:00
Valentin Kipyatkov 5fb9aae68c Escaping of keyword names in completion (more tests to be added) 2014-08-27 19:07:39 +04:00
Valentin Kipyatkov ae9eb19f39 Auto-import popup to import global properties
#KT-4541 Fixed
 #KT-3097 Fixed
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov f8e2841c2b Checked that auto-import works for extension properties 2014-08-27 19:07:38 +04:00
Valentin Kipyatkov bb343c2853 Fixed KT-5046 No autocompletion for not imported extension properties
#KT-5046 Fixed
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov 9c138d8637 Fixed KT-1476 Code completion for not imported properties
#KT-1476 Fixed
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov 3e2ad55c9e Code completion: changed dummy identifier for basic completion to ignore context ahead + no invisible symbols on first completion even if nothing matches 2014-08-27 19:07:36 +04:00
Natalia Ukhorskaya 6b28ccbc9b JetPositionManager: add tests 2014-08-27 15:57:59 +04:00
Natalia Ukhorskaya e7ebf6fda2 Minor: change debugger tests structure 2014-08-27 15:57:59 +04:00
Natalia Ukhorskaya 453592edf4 Debugger: breakpoints in library source files 2014-08-27 15:57:58 +04:00
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