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