Commit Graph

4237 Commits

Author SHA1 Message Date
Valentin Kipyatkov 04bf0059ec Code refactoring 2014-08-27 19:07:37 +04:00
Valentin Kipyatkov 6b8800f392 More correct code 2014-08-27 19:07:37 +04:00
Valentin Kipyatkov 1b99ffb6b1 Minor code refactorings 2014-08-27 19:07:37 +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 6bcfa08fde Code completion: more optimal fetching of top level functions 2014-08-27 19:07:36 +04:00
Valentin Kipyatkov ca59391e56 Converted JetShortNamesCache to Kotlin 2014-08-27 19:07:36 +04:00
Valentin Kipyatkov 9c5778e174 Code completion and auto-import popup not offer classes from inaccessible modules + some code refactoring JetShortNamesCache 2014-08-27 19:07:36 +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
Valentin Kipyatkov 4f4b84dbd2 Code completion: minor changes after review 2014-08-27 19:07:36 +04:00
Natalia Ukhorskaya ccc4e1c767 Fix exception getting source position for library file 2014-08-27 15:58:00 +04:00
Natalia Ukhorskaya 6b28ccbc9b JetPositionManager: add tests 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 aa9382fefa Debugger: report LOG.ERROR in kotlin.internal.mode for exceptions from extract function 2014-08-27 15:57:56 +04:00
Natalia Ukhorskaya a0460fe3e9 Evaluate Expression: don't evaluate expression in context of package directive
EA-57962 Fixed
2014-08-27 15:57:55 +04:00
Nikolay Krasko 679d641a94 Allow create Kotlin declarations during building indices process 2014-08-26 14:28:56 +04:00
Pavel V. Talanov 7a1d5d63dc Rename: AnalyzerFacadeForJvm(Js) -> TopDownAnalyzerFacadeForJvm(Js) 2014-08-22 23:16:55 +04:00
Pavel V. Talanov fbe894ea88 Debugger, minor: Insert type arguments after replacing expression 2014-08-22 22:59:01 +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
Pavel V. Talanov 07935c837a Drop JetAllPackagesIndex 2014-08-22 14:36:02 +04:00
Pavel V. Talanov 5acd23e880 Implement SubpackagesIndexService#hasSubPackages()
Use it in PackageIndexUtil#packageExists()
2014-08-22 14:36:01 +04:00
Pavel V. Talanov 0cf3cdb01d Introduce SubpackagesIndexService
In memory cache which provides faster response to getSubpackages() queries
2014-08-22 14:35:58 +04:00
Pavel V. Talanov 007ea9e10a Introduce JetExactPackagesIndex
Use it to implement PackageIndexUtil#findFilesWithExactPackage()
2014-08-22 14:35:55 +04:00
Evgeny Gerashchenko ff2e2d0203 Disabled inlining in bytecode tool window by default.
It produces exceptions when inlined function is defined in other file.
2014-08-20 13:46:25 +04:00
Alexey Kudravtsev c28b0dba62 moved to idea-analysis 2014-08-20 11:34:43 +04:00
Alexey Kudravtsev 1f48bbb7d3 a couple of inspections moved to idea-analysis module 2014-08-19 17:10:49 +04:00
Pavel V. Talanov 09d3ddfcae Introduce VirtualFileFinderFactory
Allow creation of VirtualFileFinder with restricted scope
2014-08-15 15:22:19 +04:00
Alexey Kudravtsev eb5f1a9953 checkers, annotators and dependencies moved to idea-analysis module 2014-08-13 13:27:12 +04:00
Alexander Udalov 97e57e3e3d CLI: change "-suppress warnings" option to "-nowarn"
Following the rule of the least surprise: this option is named "-nowarn" in
other JVM language compilers. Besides, having an option with an argument which
can take exactly one predefined value is sort of confusing
2014-08-13 11:10:40 +04:00
Alexander Udalov cf431ffab0 CLI: change argument naming convention
As in all other Unix/POSIX tools and JVM language compilers, multiple words
comprising the argument name should be lowercase, separated by dashes
2014-08-13 11:10:40 +04:00
Alexander Udalov 45a57011d8 Simplify and enable by default inline/optimize/assertions
Inline, optimize, call assertions, param assertions are turned on by default
now almost everywhere; invert their meaning
2014-08-13 11:10:37 +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
Nikolay Krasko 2dbc328693 Minor: do configuration in one place 2014-08-12 15:16:23 +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 8af173bd4b Extract Function: Refactoring: Introduce ExtractionGeneratorOptions and
ExtractionResult
2014-08-12 13:09:51 +04:00
Alexey Sedunov 6a42317fd1 Minor: Fixed warnings 2014-08-12 13:09:50 +04:00
Natalia Ukhorskaya e10c79617a Alt+Click: set correct context element for code fragments from Alt+Click and Watch Points
#KT-5598 Fixed
2014-08-11 12:55:24 +04:00
Pavel V. Talanov 50a59982aa Don't getOriginalElement() for default signature in KotlinSignatureAnnotationIntention 2014-08-08 19:51:02 +04:00
Pavel V. Talanov 8696944c86 Fix KotlinSignature line markers in decompiled classes 2014-08-08 19:51:01 +04:00
Pavel V. Talanov 84c9ef5ee6 Don't use BindingContext to get descriptor in KotlinSignatureInJavaMarkerProvider 2014-08-08 19:51:00 +04:00
Pavel V. Talanov a5a493d145 Minor: remove obsolete JAVA_ROOT 2014-08-08 19:50:58 +04:00
Andrey Breslav aacd9b243e Getting rid of BindingContext access in KotlinSignatureAnnotationIntention 2014-08-08 19:50:57 +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
Alexey Sedunov 8bd0dda459 Find Usages: Classify 'by-convention' usages 2014-08-08 18:59:46 +04:00
Alexey Sedunov 311166737f Associate synthetic component function descriptors with corresponding
constructor parameters
2014-08-08 18:59:45 +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