Commit Graph

5345 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 40c4022c98 Debugger tests: add custom library 2014-08-27 15:57:57 +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
Pavel V. Talanov 8c041f56cc Do not analyze kotlin source files in jars for java projects 2014-08-26 21:12:09 +04:00
Alexander Udalov 7dd0613f96 Fix NoErrorsInStdlibTest
stdlib was analyzed with an older version of itself in the classpath. But
without that older version stdlib still depends on a built-in part
(builtins, runtime.jvm, reflection), so we compile those as a separate library
beforehand
2014-08-26 21:12:09 +04:00
Nikolay Krasko 50903050ff Configure exception with absolute file path to enable easy patching 2014-08-26 14:55:12 +04:00
Nikolay Krasko 186a9a13a8 Report unmet trait requirements in IDE
#KT-3006 Fixed
2014-08-26 14:42:29 +04:00
Nikolay Krasko 679d641a94 Allow create Kotlin declarations during building indices process 2014-08-26 14:28:56 +04:00
Alexander Udalov 087eec4521 Regenerate tests after recent generator improvements 2014-08-25 19:00:09 +04:00
Alexander Udalov d5d4cff701 Minor, remove dependency of everything on "descriptor.loader.java"
Everything already depends on "frontend.java" which exports
"descriptor.loader.java"
2014-08-25 17:53:18 +04:00
Pavel V. Talanov 7a1d5d63dc Rename: AnalyzerFacadeForJvm(Js) -> TopDownAnalyzerFacadeForJvm(Js) 2014-08-22 23:16:55 +04:00
Pavel V. Talanov e56a124c0b ResolveSessionForBodies is not ModificationTracker 2014-08-22 22:59:05 +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 fbe894ea88 Debugger, minor: Insert type arguments after replacing expression 2014-08-22 22:59:01 +04:00
Pavel V. Talanov 4982e22ec7 Drop IDEAConfig 2014-08-22 22:58:59 +04:00
Pavel V. Talanov e3e83fdee5 Rework JetSourceFilterScope
JetSourceFilterScope doesn't have to check file type
Avoid redundant wrapping in JetSourceFilterScope (this may improve performance in case of frequent queries to indices)

We can safely use kotlinSourcesAndLibraries scope in declaration provider given we have correct scope in the first place
This allows for resolving kotlin js libraries (which are kotlin files in classes root) whithout additional hacks (i.e. IDEAConfig)
2014-08-22 22:58:57 +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 faf303693e Extract containsAny utility 2014-08-22 14:36:00 +04:00
Pavel V. Talanov 8cfcf4d930 Use JetExactPackagesIndex in getAllPossiblePackageClasses 2014-08-22 14:35:59 +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
Pavel V. Talanov 3b78e3eb99 Introduce PackageIndexUtil#packageExists()
Use it in IDELightClassGenerationSupport and PluginDeclarationProviderFactory
2014-08-22 14:35:52 +04:00
Pavel V. Talanov 77416aba5f Add dependency on intellij-core explicitly
util module doesn't export intellij-core dependency
2014-08-22 13:09:08 +04:00
Pavel V. Talanov 1af64aece5 Add missing public in project code 2014-08-21 20:08:46 +04:00
Nikolay Krasko 4b4257adf9 Change executor Id to default one. It prevents NullPointerException because of missed runner. 2014-08-21 17:57:19 +04:00
Nikolay Krasko 7d36fc7449 Update to 138.1696 EAP 2014-08-21 17:57:18 +04:00
Andrey Breslav 1933e30905 Test data split between compiledJava tests and compiledKotlin tests
Basically, this commit splits test data from the from java-txt-kt to two pairs java-txt and kt-txt.
This commit leads to some duplication in test data.
This is temporary: in the platform types branch the test data for LoadJava tests will be changed dramatically, so duplication will go away
2014-08-21 12:22:22 +04:00
Evgeny Gerashchenko 184ddbc9e1 Removed passing incremental cache base dir via module script. 2014-08-20 13:46:29 +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
Alexander Udalov 3efabc5423 Add external annotations to library "intellij-core-analysis" 2014-08-18 15:01:31 +04:00
Pavel V. Talanov 09d3ddfcae Introduce VirtualFileFinderFactory
Allow creation of VirtualFileFinder with restricted scope
2014-08-15 15:22:19 +04:00
Pavel V. Talanov 5652b7f521 Fix usages of javaClass property 2014-08-14 19:59:23 +04:00
Alexander Udalov 4ff6a627d0 Get rid of isConstructorOfStaticNestedClass()
This value can always be computed in ConstructorDescriptorImpl#initialize
2014-08-13 15:13:23 +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
Pavel V. Talanov 6588310736 Add missing public modifiers in project code 2014-08-12 21:13:46 +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
Nikolay Krasko 04c4c2af69 Minor: extract several assert methods 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