Commit Graph

666 Commits

Author SHA1 Message Date
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 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
Alexander Udalov 3ada0ce0a9 Fix kotlinc scripts on Cygwin 2014-08-20 15:25:45 +04:00
Evgeny Gerashchenko 487f381287 Minor. Renamed and cleaned CompilerServices -> Services. 2014-08-20 13:46:31 +04:00
Evgeny Gerashchenko f3b7ae379f Passing services via type-safe container instead of map. 2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko 184ddbc9e1 Removed passing incremental cache base dir via module script. 2014-08-20 13:46:29 +04:00
Evgeny Gerashchenko 6dd56a08bd Removed storing module ids in incremental caches. 2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko e419c1a604 Moved incremental cache API to separate package. 2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko 5fade9a5a6 Made incremental cache per-module.
Reused IDEA framework which manages per-module storage.
2014-08-20 13:46:26 +04:00
Alexey Kudravtsev 44084de3be removed code already contained in JavaCoreApplicationEnvironment 2014-08-20 11:38:05 +04:00
Alexey Kudravtsev 945209567e moved some components registration from registerProjectServices() to registerProjectServicesForCLI() since they don't work in Upsource 2014-08-19 17:12:07 +04:00
Pavel V. Talanov 09d3ddfcae Introduce VirtualFileFinderFactory
Allow creation of VirtualFileFinder with restricted scope
2014-08-15 15:22:19 +04:00
Alexander Udalov 844845c6e3 REPL: sanitize stack traces
Don't include our compiler's and preloader's internal code, reflection, native
methods etc. Also delete "substring" matching logic from tests
2014-08-13 15:42:10 +04:00
Alexander Udalov 5beefac5bc REPL: display the original cause of InvocationTargetException 2014-08-13 15:13:25 +04:00
Alexander Udalov 6eb5567895 REPL: fix open parenthesis not triggering "incomplete"
Check if all of the syntax errors are at EOF, not that there's a single one.
In case of open parenthesis two syntax errors are reported for some reason
2014-08-13 15:13:25 +04:00
Alexander Udalov 4213ce318e REPL: don't fail on a callable reference
There should probably be a special kind of property, but at least it won't
throw an exception for now
2014-08-13 15:13:24 +04:00
Alexander Udalov 8d2ab0fd52 REPL: disable event expansion
Fixes problems with exclamation marks inside string literals. No tests added
because it's tedious to test REPL as it is (via ConsoleReader)

 #KT-3940 Fixed
2014-08-13 15:13:24 +04:00
Alexander Udalov d54871746e REPL: minor refactoring & reformat, fix warnings 2014-08-13 15:13:23 +04:00
Alexander Udalov a83d9a7dce CLI: introduce alias "-cp" for "-classpath" 2014-08-13 11:10:42 +04:00
Alexander Udalov b54d2ac0c5 CLI: don't fail on a wrong "-script" usage 2014-08-13 11:10:42 +04:00
Alexander Udalov d3f201dd45 CLI: drop "-pp" flag for preloader profiling
It was never documented and was never supposed to be used. In the rare case
when someone must profile preloader, he can temporarily change "notime" to
"time" in the kotlinc-jvm bash/batch script
2014-08-13 11:10:41 +04:00
Alexander Udalov 5a792ca11f CLI: output relative paths in diagnostic messages 2014-08-13 11:10:41 +04:00
Alexander Udalov 75db407208 Minor, reuse existing constant 2014-08-13 11:10:41 +04:00
Alexander Udalov 850fc25ee0 CLI: drop "-tags" argument
It was only used for the compiler inside the IDE, and there we already invoke a
special method which outputs HTML only
2014-08-13 11:10:41 +04:00
Alexander Udalov 4a7dc25406 CLI: add an extra MessageRenderer parameter to compiler exec
Is supposed to be used instead of the "-tags" CLI argument
2014-08-13 11:10:41 +04:00
Alexander Udalov 1d2dbca27a Minor, move utility method out of an interface 2014-08-13 11:10:40 +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 6da95e2cea Maven plugin: support additional arguments, drop inline/optimize 2014-08-13 11:10:39 +04:00
Alexander Udalov 9442724821 Ant task: support additional arguments, drop inline/optimize
Only "-X" options are now supported as additional command line arguments
2014-08-13 11:10:38 +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
Alexander Udalov 160cde09d6 CLI: Support "-X" advanced options, simplify some boolean options 2014-08-13 11:10:37 +04:00
Alexey Kudravtsev 55470737bd update idea to 138.1510, introduce module "analysis" 2014-08-11 16:45:23 +04:00
Pavel V. Talanov 8496c535aa Replace ModuleDescriptorImpl implementation
Change the way modules are configured:
Add dependencies on other modules instead of adding additional package fragment providers
Refactor related code
Drop DependencyKind
Hide common new module creation in CliLightClassGenerationSupport
2014-07-31 21:25:49 +04:00
Nikolay Krasko bc07f6db06 Temp workaround for dependency in FileManagerImpl to Registry properties
Should be reverted after new EAP
2014-07-29 16:32:38 +04:00
Alexander Udalov 99025de748 Drop "-jar" and "-output" kotlinc-jvm CLI arguments
In favor of a brand new "-d" option
2014-07-26 00:32:28 +04:00
Alexander Udalov de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Zalim Bashorov a811de9bbd Minor: Unit.VALUE -> Unit in Java code. 2014-07-25 21:03:10 +04:00
Alexander Udalov 19b80f57cf Support "-d" option in kotlinc-jvm
The intent is to unify "-output" and "-jar" options into the one "-d"
(destination)
2014-07-23 21:24:40 +04:00
Alexander Udalov de0fd3818c Drop "-src" in kotlinc-jvm
Free arguments should be used instead
2014-07-23 21:24:39 +04:00
Alexander Udalov 917938e57b Update copyrights 2014-07-23 21:24:39 +04:00
Alexander Udalov 87439b8e0b Drop "-sourceFiles" in kotlinc-js
Use free arguments instead, as is done in kotlinc-jvm and all sensible
compilers everywhere

Also fix some cases of AntTaskTest to be able to run them locally
2014-07-23 21:24:38 +04:00
Alexander Udalov 125c5e2942 Drop "-printArgs" 2014-07-23 16:01:12 +04:00
Alexander Udalov cb80f95cab Don't output "exec() finished with..." error message
It's useless because the result of the compiler is always evident (it outputs
either diagnostics or an exception stack trace)
2014-07-23 16:01:11 +04:00
Alexander Udalov 5003a2f570 Send compiler output to stderr instead of stdout
Test only stderr in kotlinc test now and move the '-script' test to integration
tests where both stdout and stderr is tested
2014-07-23 16:01:11 +04:00
Evgeny Gerashchenko 7e6b05554e Always closing IncrementalCache after using. Fixed KannotatorJpsTest. 2014-07-22 21:18:16 +04:00
Denis Zharkov 0e683b0b99 Added "optimize" flag to settings everywhere 2014-07-15 21:34:32 +04:00
Alexander Udalov 35385fdd75 Minor, swap parameters of AnalyzerWithCompilerReport#analyzeAndReport
#KT-5459 Fixed
2014-07-14 21:39:26 +04:00
Alexander Udalov 9194b5d532 Minor, add NotNull to JetCoreEnvironment#getConfiguration
#KT-5460 Fixed
2014-07-14 20:44:39 +04:00