Commit Graph

2174 Commits

Author SHA1 Message Date
Alexander Udalov 70561cc539 Fix resolution of Kotlin enums' values() and valueOf() from Java
Use the code from PsiClassImpl / ClsClassImpl, which for some reason is absent
in AbstractLightClass

 #KT-5591 Fixed
2014-09-11 10:37:45 +04:00
Zalim Bashorov 48de3b706d Frontend: added the support file annotations to LazyTopDownAnalyzer. 2014-09-10 22:39:12 +04:00
Alexey Sedunov 9b7bccce22 Move: Move refactoring should correct constructor call when moving inner class
#KT-4676 Fixed
2014-09-10 16:44:51 +04:00
Alexey Sedunov feb393e4c8 Extract Function: Merge initialized declarations on call site when possible 2014-09-10 16:44:50 +04:00
Alexey Sedunov dd78ed6d4a Extract Function: Generate variables when boxing multiline expressions 2014-09-10 16:44:49 +04:00
Alexey Sedunov b59da7686c Pseudocode: Fix type predicate inference for values used inside of lambda 2014-09-10 16:44:47 +04:00
Alexey Sedunov 76433571f8 Extract Function: Support multiple output values 2014-09-10 16:44:46 +04:00
Alexander Udalov 25bb220223 Fix navigation on values()/valueOf() of enum classes 2014-09-09 20:42:39 +04:00
Alexander Udalov 5b1993f62a Resolve "values" and "valueOf" in enum class object
Import enum class's static scope into its class object's member scope
2014-09-09 20:42:38 +04:00
Alexander Udalov b52f337f7f Drop enum class object hack
Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Svetlana Isakova 3a9b7bbade Improved error message for 'nested class should be qualified' 2014-09-07 01:04:00 +04:00
Svetlana Isakova 4590452b27 Added tests for KT-4870 "Change to constructor invocation" quick fix doesn't work
for local classes, objects and object expressions

 #KT-4870 Obsolete
2014-09-07 01:03:59 +04:00
Svetlana Isakova 91b0ad2023 Removed 'implicit this' from scope for member lookup 2014-09-07 01:03:59 +04:00
Alexey Sedunov ebcac73874 Find Usages: Skip overriden descriptors which have no corresponding declaration (EA-58371) 2014-09-05 17:39:56 +04:00
Alexey Sedunov e03bae44d9 Extract Function: Support multi-declaration initializers
#KT-5613 Fixed
2014-09-05 17:39:53 +04:00
Valentin Kipyatkov 855cc2443f KT-4976 Completion ignores smart casts
#KT-4976 Fixed
 #KT-5718 Fixed
2014-09-03 15:43:25 +04:00
Valentin Kipyatkov c79204a41d Completion: more tests for keyword escaping 2014-09-03 13:59:31 +04:00
Valentin Kipyatkov ed5c5426e6 Completion: corrected for class nested into class object 2014-09-03 13:59:31 +04:00
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