Compare commits

...

3319 Commits

Author SHA1 Message Date
Andrey Breslav
15dbfa7184 ++ android-ide-plugin module extracted 2014-10-08 18:23:51 +04:00
Andrey Breslav
b0196ac1ad ++ Logic related to command-line options moved to android-compiler-plugin 2014-10-08 18:18:29 +04:00
Andrey Breslav
0e07cb9872 ++ Expression codegen extension: receiver passed through 2014-10-07 23:58:38 +04:00
Andrey Breslav
0c6622489b ~ read actions added here and there 2014-10-01 16:43:01 +04:00
Andrey Breslav
a4bbf9b3ec Artifact for Android extensions plugin 2014-10-01 16:43:00 +04:00
Andrey Breslav
bb0141b85f Missing public added 2014-10-01 16:43:00 +04:00
Andrey Breslav
abc17943d7 Find Usages extension extracted 2014-10-01 16:42:59 +04:00
Andrey Breslav
5f209d4351 ExpressionCodegenExtension extracted 2014-10-01 16:42:59 +04:00
Andrey Breslav
a1989dc5e0 ExternalDeclarationsProvider introduced 2014-10-01 16:42:58 +04:00
Andrey Breslav
da32f47d2a android-ide-plugin module extracted 2014-10-01 16:42:58 +04:00
Andrey Breslav
78b3613cf5 Logic related to command-line options moved to android-compiler-plugin 2014-10-01 16:42:56 +04:00
Andrey Breslav
eae40ab965 Compiler plugins can provide extra command line parameters in JPS 2014-10-01 16:42:56 +04:00
Andrey Breslav
18ff58e4e7 CommandLineProcessor infrastructure added 2014-10-01 16:42:55 +04:00
Andrey Breslav
2d6ec5bd5d frontend.android renamed to android-compiler-plugin 2014-10-01 16:42:55 +04:00
Andrey Breslav
50ec0d7f8d Plugin component registrar introduced
CompilerConfiguration moved to plugin-api
2014-09-30 21:52:52 +04:00
Andrey Breslav
01b22a1dd1 plugin-api module introduced 2014-09-30 21:52:52 +04:00
Mikhail Mutcianko
73c2db8f44 fix android jps build test case
- add proper way of setting up android sdk for jps
- add missing android plugin runtime library
2014-09-30 21:52:51 +04:00
Mikhail Mutcianko
84690dd9ee add android bytecode persistence test 2014-09-30 21:52:51 +04:00
Mikhail Mutcianko
7402cf8356 add android find usages test 2014-09-30 21:52:50 +04:00
Mikhail Mutcianko
5a3186a7f8 fix find usage handler not returning android property as secondary element 2014-09-30 21:52:50 +04:00
Mikhail Mutcianko
9e75390895 add reverse renaming to android rename tests 2014-09-30 21:52:49 +04:00
Mikhail Mutcianko
0c180275f1 add android rename tests 2014-09-30 21:52:49 +04:00
Mikhail Mutcianko
06d173ca44 eliminate idToXml cache leftovers from android resource manger 2014-09-30 21:52:48 +04:00
Mikhail Mutcianko
f8dcbd8477 fix kotlin property renamer npe
- fix npe when element usage has no reference(e.g. xml cross usage)
2014-09-30 21:52:48 +04:00
Mikhail Mutcianko
cc6a9d5183 factor base android test case
- move common initialization code to base class
2014-09-30 21:52:47 +04:00
Mikhail Mutcianko
67a3932615 add all goto tests
- fix base test case failing when no res directory present
- get rid of JetProperty -> XmlAttr caching
2014-09-30 21:52:47 +04:00
Mikhail Mutcianko
b934402b55 fix android kotlin test framework
- fix android jars not indexed by java indexer
- fix goto test
2014-09-30 21:52:46 +04:00
Mikhail Mutcianko
1e25af94c0 add android jps builder test stub
wtf
2014-09-30 21:52:46 +04:00
Mikhail Mutcianko
ab7177e251 add android goto declaration test stub 2014-09-30 21:52:45 +04:00
Mikhail Mutcianko
52e0bf88f7 regenerate android tests after rebase 2014-09-30 21:52:45 +04:00
Mikhail Mutcianko
bbd4cb93ed fix android resource path arguments after rebase 2014-09-30 21:52:44 +04:00
Mikhail Mutcianko
4866168a21 fix android cross parser tests
- reorganize tests folder structure
- fix class attribute ignored in ide xml parser
2014-09-30 21:52:44 +04:00
Mikhail Mutcianko
fd125e07b6 refactor android kotlin fixture test
- move more setup code to base class
2014-09-30 21:52:43 +04:00
Mikhail Mutcianko
74b1017fcf delete obsolete android test 2014-09-30 21:52:42 +04:00
Mikhail Mutcianko
c3a668c8ca fix R class field resolving
- resolve by class name and package defined in AndroidManifest.xml
2014-09-30 21:52:42 +04:00
Mikhail Mutcianko
f20731548d add android completion tests
- add android plugin test classes as test library
- add base android test cases for kotlin, setting up android facet and sdk
2014-09-30 21:52:41 +04:00
Mikhail Mutcianko
b9b3575eb4 add android properties box tests 2014-09-30 21:52:41 +04:00
dedoz
28b8c8b5d6 add generated tests 2014-09-30 21:52:40 +04:00
Mikhail Mutcianko
8eba35cd76 optimize imports
tmp

stmp
2014-09-30 21:52:40 +04:00
Mikhail Mutcianko
530d6caa47 minor refactorings 2014-09-30 21:52:39 +04:00
Mikhail Mutcianko
6211485143 update android synthetic properties completion test
- add missing android classes as text into fixture
2014-09-30 21:52:39 +04:00
Mikhail Mutcianko
82cfb218e0 fix android plugin libs dependencies 2014-09-30 21:52:38 +04:00
Mikhail Mutcianko
9deea1caad fix cli argument tests 2014-09-30 21:52:38 +04:00
Mikhail Mutcianko
ca701f40e9 fix android plugin dependencies not unpacked 2014-09-30 21:52:37 +04:00
dedoz
e92f26123f add kotlin gradle plugin integration 2014-09-30 21:52:37 +04:00
dedoz
785a2d4200 add android xml to properties completion test 2014-09-30 21:52:36 +04:00
Mikhail Mutcianko
6554258166 add configuration key to pass android manifest file 2014-09-30 21:52:36 +04:00
Mikhail Mutcianko
7a06c8176e add android layout file searching to kotlin jps plugin 2014-09-30 21:52:35 +04:00
Mikhail Mutcianko
f582159d72 delegate android resource and manifest reading in ide to android support plugin 2014-09-30 21:52:35 +04:00
Mikhail Mutcianko
a84b3e82e6 correct interpretation of android id usage mixed with id declarations 2014-09-30 21:52:34 +04:00
Mikhail Mutcianko
7834423136 implement find usages action for android synthetic properties 2014-09-30 21:52:34 +04:00
Mikhail Mutcianko
aef7523b79 add android xml reference and rename handling to JetSimpleNameReference 2014-09-30 21:52:33 +04:00
Mikhail Mutcianko
b516cdffa8 android goto declaration handler reference fix
- goto handler now utilizes full featured reference resolving instead of simple name based resolving
2014-09-30 21:52:33 +04:00
Mikhail Mutcianko
7857302c47 fix excess xml parsing when renaming resources
- rebuild resource name -> xml attribute mappings same time as rebuilding synthetic properties
- update mappings during rename
2014-09-30 21:52:32 +04:00
Mikhail Mutcianko
b6bc9a92d6 add synthetic property renaming by renaming R light class field 2014-09-30 21:52:32 +04:00
Mikhail Mutcianko
ffd3d1ffa3 add bound property renaming by renaming xml attribute value 2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
a18c97e6c5 refactor AndroidResourceManager
- move more common methods from xml processor implementations to resource manager
- optimize imports, reformat code
2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
89908524ab fix double renaming issue
- rebuild resource mapping cache on external layout file changes
- move duplicated code to AndroidResourceManager
2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
f3875cfde6 add missing android plugin dependency 2014-09-30 21:52:30 +04:00
Mikhail Mutcianko
c5d412e496 move android rename handler out of kotlin property renamer, extract resource manager class 2014-09-30 21:52:30 +04:00
Mikhail Mutcianko
c5689f5c26 reformat code, optimize imports 2014-09-30 21:31:12 +04:00
Mikhail Mutcianko
70253a61b6 revert cli converter to stream parsing 2014-09-30 21:31:12 +04:00
Mikhail Mutcianko
6e7c27d9fd add goto declaration support for synthetic android properties 2014-09-30 21:31:11 +04:00
Mikhail Mutcianko
5a994db798 rename android synthetic id property also renames respective xml resource 2014-09-30 21:31:08 +04:00
Mikhail Mutcianko
d959d4dbd0 add android synthetic element detecting helpers 2014-09-30 21:30:17 +04:00
dedoz
7a8bbccda3 replace sax with psi based android ui xml parsing in plugin 2014-09-30 21:30:17 +04:00
Mikhail Mutcianko
795177ca80 fix xml resolving
- replace VirtualFileListener based approach with direct PsiFile reading
2014-09-30 21:30:16 +04:00
Mikhail Mutcianko
8a191bb1a2 check if android metadata is present before inlining property 2014-09-30 21:30:16 +04:00
Mikhail Mutcianko
b7308b9b7c fix compiler argument tests 2014-09-30 21:30:15 +04:00
Mikhail Mutcianko
cc31520089 insert missing copyrights, move ByteArrayClassLoader up 2014-09-30 21:30:14 +04:00
dedoz
80547cf292 add android xml bridge invocation test 2014-09-30 21:30:14 +04:00
Mikhail Mutcianko
2a0a03e011 add byte code generation 2014-09-30 21:30:13 +04:00
Mikhail Mutcianko
ffbe0a3e4e add android manifest support 2014-09-30 21:30:12 +04:00
Mikhail Mutcianko
8a7bc4fa71 fix R class not resolved in dummy file 2014-09-30 21:30:12 +04:00
Mikhail Mutcianko
a682a1d208 refactor XmlHandler, optimize imports, remove unused files 2014-09-30 21:30:11 +04:00
Mikhail Mutcianko
d955cc87dc add missing module and build dependencies 2014-09-30 21:30:04 +04:00
Mikhail Mutcianko
cb1da3b07b add writePackage to KotlinWriter 2014-09-30 21:29:08 +04:00
Mikhail Mutcianko
e2ef7efcb4 refactor converter initialization
- push lazyInit() down to IDE and Cli implementations
- no file listeners created in cli implementation anymore
- fix tests
2014-09-30 21:29:07 +04:00
Mikhail Mutcianko
ee46064f02 event based file processing
- use VirtualFileListener to wait for ui xml file updates
- optimize imports
2014-09-30 21:29:07 +04:00
Mikhail Mutcianko
770a732449 suppress xml errors in converter
- simply ignore malformed layouts, xml editor in ide will highlight them anyway
2014-09-30 21:29:06 +04:00
Mikhail Mutcianko
03732ac606 add converter output caching
- add two level caching: per xml conversion result and complete resulting JetFile,
  so that only modified xmls are actually converted, and if no change has been
  made to any of those, last successfully built psi file is returned
- merge AndroidUIXmlPathProvider and AndroidUIXmlParser
- update tests
2014-09-30 21:29:05 +04:00
Mikhail Mutcianko
9683bc385a fix ant build
- add frontend.android content to sources path
2014-09-30 21:29:05 +04:00
Mikhail Mutcianko
e35cb603f9 add compiler key for providing android resources path 2014-09-30 21:29:04 +04:00
Mikhail Mutcianko
71edc602c8 fix npe when layout xml search path does not exist 2014-09-30 21:29:04 +04:00
Mikhail Mutcianko
958ea49978 obey android project structure when searching for ui xmls
- search for android layout xmls in ProjectRoot/res/layout/ when using IDEPathProvider
2014-09-30 21:29:03 +04:00
Mikhail Mutcianko
86b2a3e5a5 missing files handling in converter
- silently continue if no files were found to convert
2014-09-30 21:29:02 +04:00
Mikhail Mutcianko
de56576d15 ide analyzer integration stub
- add android ui xml path providers/stubs
- add generated file injection during analysis
2014-09-30 21:29:02 +04:00
Mikhail Mutcianko
a5d1936393 auto cast widget to its original type
- change property return type signatures from View to actual widget type
- simplify and update tests
2014-09-30 21:29:01 +04:00
Mikhail Mutcianko
c63281f91a add converted result compilation test 2014-09-30 21:29:01 +04:00
Mikhail Mutcianko
f4c83d88eb android UI xml bridge initial
- add frontend.android module
- add xml ids to kotlin extension properties converter
- add converter basic functional test
2014-09-30 21:29:00 +04:00
Alexey Sedunov
4ca39e8f9a Create From Usage: Quick-fix for local variables 2014-09-30 19:55:46 +04:00
Alexey Sedunov
e85d34b445 Create From Usage: Add ability to select val/var when creating property 2014-09-30 19:55:45 +04:00
Alexey Sedunov
e9b16f3e1b Create Function From Usage: Use Any if error type is inferred 2014-09-30 19:55:44 +04:00
Alexey Sedunov
854962a139 Create Function From Usage: Fix availability condition 2014-09-30 19:55:43 +04:00
Alexey Sedunov
a6ba3a569d Create From Usage: Move "Create function"-related tests to separate directory 2014-09-30 19:55:43 +04:00
Alexey Sedunov
0f43d4d07c Create From Usage: Move callable builder to separate package 2014-09-30 19:55:41 +04:00
Alexey Sedunov
be211d7cda Create From Usage: Generalize function builder for both functions and properties 2014-09-30 19:55:40 +04:00
Natalia Ukhorskaya
9032a6166e Fix Android tests 2014-09-30 17:48:40 +04:00
Valentin Kipyatkov
35ebbab733 Fixed smart completion not working when parameter has default value 2014-09-30 15:29:10 +04:00
Valentin Kipyatkov
267aabae12 Smart completion: multiple arguments at once 2014-09-30 15:29:10 +04:00
Natalia Ukhorskaya
a04efad059 Fix error message for missing propertyDelegated method in IDE 2014-09-30 15:00:30 +04:00
Natalia Ukhorskaya
6179b4889b Debugger: fix className for properties in class objects 2014-09-30 15:00:29 +04:00
Natalia Ukhorskaya
4994e771d0 Evaluate expression: support EE for shared vars 2014-09-30 15:00:28 +04:00
Natalia Ukhorskaya
8ad18df3fa Evaluate expression: switch off breakpoints during eval4j run 2014-09-30 15:00:27 +04:00
Nikolay Krasko
e1c7ad50d6 More changes after replacing config directory
- Plugin auto-enable script updated
 - Don't drop configured folder in update-dependencies
 - Drop test config and system folders in update-dependencies
2014-09-30 13:02:02 +04:00
Alexey Tsvetkov
0af291091e KT-5673: always write val property to backing field 2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
b70466f9f3 KT-5673: added tests 2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
ed14f86957 KT-4773: use receiver for delegated extension property 2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
3424142b65 KT-4773: added tests 2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
f8968c2f77 JS backend minor: added @NotNull annotation to getArguments() 2014-09-29 21:35:30 +04:00
Zalim Bashorov
916cfb7051 Regenerate testData for reservedWords after take was fixed. 2014-09-29 19:47:49 +04:00
Zalim Bashorov
2352085391 Improve testData generator for reserved words.
Cashing iterator in CyclicStream.
Detect generating unexpected testdata file(e.g. may caused because of bug in stdlib).
2014-09-29 19:47:49 +04:00
Michael Nedzelsky
098b4c170f JS backend: fix KT-4297 PrimitiveHashMap returns wrong keys (string instead of original type) 2014-09-29 17:46:33 +04:00
Denis Zharkov
f1d9d11590 Store stack values before inlines. #KT-5634 Fixed
Inlining code violates JIT assumptions for OSR in Java 8 in case of
starting with non-empty and containing cycles.

Fix is to mark each inlined block with markers and then store/restore
stack state before and after inlined body.
2014-09-29 17:16:58 +04:00
Michael Bogdanov
469db95662 Inline markers added 2014-09-29 17:16:57 +04:00
Nikolay Krasko
e035fc3219 Minor: fix some dictionary suggestions 2014-09-29 14:03:09 +04:00
Nikolay Krasko
b79b7554ff Refactoring: move application utility methods from refactoring utility to common place 2014-09-29 14:03:02 +04:00
Nikolay Krasko
89f0c8dc87 Rewrite ApplicationUtils.java to Kotlin 2014-09-29 13:55:47 +04:00
Nikolay Krasko
0a97469ff4 Make special config folder for IDEA to keep separate settings for tests 2014-09-29 13:55:46 +04:00
Alexey Sedunov
ff29e581db Create Function From Usage: Add empty lines when inserting new function 2014-09-29 01:27:28 +04:00
Alexey Sedunov
afd8809ff5 Create Function From Usage: Wrap build() function in try-finally 2014-09-29 01:27:26 +04:00
Alexey Sedunov
6043c6d0a7 Create Function From Usage: Quick-fix for functions invoked via call expressions 2014-09-29 01:27:25 +04:00
Alexey Sedunov
22e3557895 Extract utility functions from ExtractKotlinFunctionHandler 2014-09-29 01:27:24 +04:00
Alexey Sedunov
67df2b448f Create Function From Usage: Quick-fix for invoke convention 2014-09-29 01:27:23 +04:00
Alexey Sedunov
cf59af6c7a Create Function From Usage: Quick-fix for unary operations 2014-09-29 01:27:22 +04:00
Alexey Sedunov
0582cf5db1 Create Function From Usage: Quick-fix for binary operations 2014-09-29 01:27:20 +04:00
Alexey Sedunov
ae69bea543 Create Function From Usage: Refactor the function builder 2014-09-29 01:27:19 +04:00
Alexey Sedunov
d9318fdc57 Create Function From Usage: Make ClassCandidateListCellRenderer nested class 2014-09-29 01:27:18 +04:00
Alexey Sedunov
06ab4e1c9a Name Validator: Add filtering to collecting validator 2014-09-29 01:27:17 +04:00
Alexey Sedunov
2c3f0f8c29 Name Validator: Translate JetNameValidator to Kotlin 2014-09-29 01:27:16 +04:00
Alexey Sedunov
8ec2b5a973 Name Validator: Remove unused fields and parameters 2014-09-29 01:27:15 +04:00
Alexey Sedunov
5d7a07456d Create Function From Usage: Move type utilities to separate file 2014-09-29 01:27:14 +04:00
Alexey Sedunov
34632f46f6 Create Function From Usage: Translate ClassCandidateListCellRenderer to Kotlin 2014-09-29 01:27:13 +04:00
Alexey Sedunov
d1e43d6482 Create Function From Usage: Move "Create function from usage"-related classes to separate package 2014-09-29 01:27:12 +04:00
Alexey Sedunov
08e3a6a9de Create Function From Usage: Move action factories to top level 2014-09-29 01:27:11 +04:00
Alexey Sedunov
9573c739ea Create From Usage: Move classes to separate package 2014-09-29 01:27:10 +04:00
Alexey Sedunov
23ea43fde5 Create From Usage: Translate base class to Kotlin 2014-09-29 01:27:09 +04:00
Michael Nedzelsky
9d49089041 JS backend: tests for char type 2014-09-28 19:51:58 +04:00
Michael Nedzelsky
6aff9803c4 JS backend: support for char type 2014-09-28 19:51:54 +04:00
Michael Nedzelsky
2e4e5c5d1d JS backend: tests for Long type support 2014-09-28 19:51:51 +04:00
Michael Nedzelsky
dca6e31519 JS backend: add support for Long type 2014-09-28 19:51:48 +04:00
Michael Nedzelsky
d1d722546e JS backend: prepare long.js for use in translator 2014-09-28 19:51:43 +04:00
Michael Nedzelsky
f42d7319a5 JS backend: original long.js from closure-library 2014-09-28 19:51:40 +04:00
Nikolay Krasko
1239d37cb9 Update to EAP 138.2458.8 2014-09-27 18:18:49 +04:00
Pavel V. Talanov
54799b1a34 Internal visibility works the same as public
Fix test data
This change is needed to preserve old behaviour for M9
isFriend() utilities become unused after this change
2014-09-26 22:06:32 +04:00
Alexander Udalov
cd0551078c Support static method references
#KT-5123 Fixed
2014-09-26 18:48:43 +04:00
Alexander Udalov
19497262b3 Don't lookup built-in classes by invalid names
#KT-5869 Fixed
2014-09-26 18:48:43 +04:00
Pavel V. Talanov
2227b87ca3 Do not store psi in CopiedCode
It is transferable and can exist even if project is closed
2014-09-26 18:21:12 +04:00
Pavel V. Talanov
ec7d294fcc Minor: remove some redundant not null assertions from Kotlin code 2014-09-26 18:21:12 +04:00
Pavel V. Talanov
477378fab7 Minor: convert CopiedCode to Kotlin 2014-09-26 18:21:11 +04:00
Pavel V. Talanov
f292c554cb Cache result of getAllPossiblePackageClasses()
Move this utility from IDELightClassGenerationSupport to PackageIndexUtil
2014-09-26 18:21:11 +04:00
Pavel V. Talanov
9219616bb8 Minor: rename and refactor PackageIndexUtil#containsAny() 2014-09-26 18:21:10 +04:00
Pavel V. Talanov
4370577457 Minor: Convert PackageIndexUtil to Kotlin 2014-09-26 18:21:10 +04:00
Pavel V. Talanov
649a6f12bb Compute builtins directory url only once 2014-09-26 18:21:09 +04:00
Pavel V. Talanov
6127af97a5 Manually implement scopes for ModuleSourceInfo
This allows for a faster contains(VirtualFile) check
2014-09-26 18:21:09 +04:00
Michael Bogdanov
b3e075173b KT-5863: Inlined try/catch/finally block with non-local return doesn't work properly
#KT-5863 Fixed
2014-09-26 17:08:58 +04:00
Ilya Ryzhenkov
bf368b2bc2 Restore accidentally removed String.getBytes() and mark as deprecated (discouraged). 2014-09-26 16:28:08 +04:00
Valentin Kipyatkov
028520956f Fixed tests 2014-09-26 15:20:46 +04:00
Denis Zharkov
da159c1e53 Simple version of redundant GOTO's removing 2014-09-26 12:37:33 +04:00
Denis Zharkov
e1c2fbaec0 Minor refactoring: use array of MethodTransformers
instead of delegation
2014-09-26 12:37:32 +04:00
Denis Zharkov
35cda83c8f Refined merging logic #KT-5844 Fixed
If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
2014-09-26 12:37:04 +04:00
Alexander Udalov
96308aa14e Increase ABI version
After changes to package part names and top level closure names
2014-09-26 10:23:21 +04:00
Alexander Udalov
80a7c64369 Prepend zeros to package part hash code 2014-09-26 10:23:14 +04:00
Alexander Udalov
e2273a3d85 Update JetExceptionFilter behavior for top level closures
Now JetExceptionFilter can determine the source file looking at the class FQ
name for sure
2014-09-26 10:22:28 +04:00
Alexander Udalov
43c26d0947 Update JetExceptionFilter to the latest API, fix warnings 2014-09-26 10:22:28 +04:00
Alexander Udalov
8f92141137 Minor, exclude tinyApp test classes output from IDEA indices 2014-09-26 10:22:28 +04:00
Alexander Udalov
49e5b950ce Workaround package part hash codes in tests on JetPositionManager 2014-09-26 10:22:27 +04:00
Alexander Udalov
b5832d2656 Refactor and generate tests on JetPositionManager 2014-09-26 10:22:27 +04:00
Alexander Udalov
9f7979d0ce Workaround package part hash codes in OuterClassGenTest 2014-09-26 10:22:26 +04:00
Alexander Udalov
4d055d5ab4 Check header on package part classes in MethodInliner 2014-09-26 10:22:26 +04:00
Alexander Udalov
c30aa7db84 Include package part name to top level closure names
#KT-4234 Fixed
 #KT-4496 Fixed
2014-09-26 10:22:25 +04:00
Alexander Udalov
7b374b9509 Refactor CodegenBinding
- store source element in synthetic descriptor for easier debugging and lesser
  amount of needed method parameters everywhere
- simplify methods which calculate necessary information for MutableClosure
2014-09-26 10:22:24 +04:00
Alexander Udalov
7d6da551d1 Minor, inline one of CodegenBinding#registerClassNameForScript 2014-09-26 10:22:24 +04:00
Alexander Udalov
4194f1c418 Minor, simplify old code in ImplementationBodyCodegen 2014-09-26 10:22:24 +04:00
Alexander Udalov
2ba9856a85 Calculate inner class access flags accurately 2014-09-26 10:22:23 +04:00
Alexander Udalov
806d79caba Minor, strip package name from class for script
This is done to be able to construct a FqName of this class. Currently it's not
possible because the name contains '/' and FqName validation fails.

This name is only used for debugging and even the ClassDescriptor is used only
as a key in binding context to store the internal name of the script class
2014-09-26 10:22:23 +04:00
Alexander Udalov
4cb9fbc026 Move CodegenBinding#computeAsmType() to JetTypeMapper, make private 2014-09-26 10:22:23 +04:00
Alexander Udalov
232ab0b065 Refactor when by enum switch codegen
Invoke getAsmType() later, not in the process of annotating the file
2014-09-26 10:22:22 +04:00
Alexander Udalov
d4a845da01 Refactor CodegenBinding#getAsmType()
- make it return the ASM_TYPE slice value and assert it is there
- move all the computation to the separate method "computeAsmType"
- only call getAsmType() in those places where the type must be recorded at
  slice ASM_TYPE, otherwise call JetTypeMapper#mapType(), which will check the
  slice and call computeAsmType
2014-09-26 10:22:22 +04:00
Alexander Udalov
c1125402bd Store FqName in LightClassDataForKotlinClass rather than a String
It was also mistakenly named "jvmInternalName" while in fact it was holding the
result of Type#getClassName() which is not an internal name
2014-09-26 10:22:21 +04:00
Alexander Udalov
c57441b51b Use '$' instead of '-' in package part class names
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.

Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov
e3876624d8 Minor improvements to inline tests 2014-09-26 10:22:19 +04:00
Ilya Ryzhenkov
fabdc1fd32 Add Typography constants. 2014-09-26 01:55:08 +04:00
Ilya Ryzhenkov
350d446031 Make UTF-8 default for delegated java.lang.util functions. Convert getBytes() to toByteArray() to make it clear of copy operation. 2014-09-26 01:55:07 +04:00
Ilya Ryzhenkov
7616d3e18a Unify charset-related APIs to use Charsets.UTF_8 as default. (Manual merge of PR#491)
Minor cleanup.
2014-09-26 01:55:07 +04:00
Ilya Ryzhenkov
7c61c36746 Rename encoding to charset for consistency 2014-09-26 01:55:06 +04:00
Ilya Ryzhenkov
4cdcadef9f Add 6 standard charsets. 2014-09-26 01:55:06 +04:00
Ilya Ryzhenkov
ea8977c5b5 Minor: code formatting 2014-09-26 01:55:05 +04:00
Ilya Ryzhenkov
3e4cc87c87 Add more tests on streams and move relevant code from old iterators tests. 2014-09-26 01:33:51 +04:00
Ilya Ryzhenkov
c5c1ecf6c0 Improve Streams implementation for performance and validity (based on JMH research) 2014-09-26 01:33:51 +04:00
Zalim Bashorov
5a5c4145f2 JS backend: added tests for reserved words. 2014-09-26 00:57:09 +04:00
Zalim Bashorov
e91e724469 JS backend: mangling JS reserved words. 2014-09-26 00:57:09 +04:00
Zalim Bashorov
ef60a7f776 JS backend: fixed crash when use lambda or local function inside enum method. 2014-09-26 00:57:09 +04:00
Ilya Ryzhenkov
878ebb9575 Add ProGuard exceptions for dokka using Grammar-Kit. 2014-09-25 21:38:32 +04:00
Evgeny Gerashchenko
d44926ffde Made some navigation tests independent on stdlib. 2014-09-25 17:38:15 +04:00
Alexander Udalov
e53aca5496 Minor, fix warnings and formatting 2014-09-25 17:14:59 +04:00
Denis Zharkov
de6a5dd6dc fix KT-5866. Moved classes into inlines package
Also copy-pasted static-initializer of asm.Frame.OPCODES
 because it package-protected
2014-09-25 17:14:59 +04:00
valentin
6e7e13d320 Fixed KT-5826 Keyword completion shouldn't kick in in comments
#KT-5826 Fixed
2014-09-25 17:10:28 +04:00
valentin
b4909cc849 Smart completion: item preference by name works for more cases 2014-09-25 17:10:27 +04:00
Valentin Kipyatkov
0462d152eb Smart completion: prefer items matching by name 2014-09-25 17:10:27 +04:00
Valentin Kipyatkov
56978c4e16 Dropped unused file 2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
7d6542854b Minor code refactoring 2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
f4924299dd Extract method 2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
19fb090f28 Do not autopopup completion in name of generic function or property too 2014-09-25 17:10:25 +04:00
Valentin Kipyatkov
e6ea0537c8 More correct completion testing + fixed small bug in keyword completion 2014-09-25 17:10:25 +04:00
Valentin Kipyatkov
afbd1aeffc KT-4027 No type name completion in an incomplete generic extension function declaration
KT-2940 No completion in the receiver type argument position

 #KT-4027 Fixed
 #KT-2940 Fixed
2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
93d8791df1 No completion auto-popup after dot in float literal (but one test start to fail!) 2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
3fcf0f7340 Fixed KT-5808 Code completion auto-popup does not appear after typing "?."
#KT-5808 Fixed
2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
94c9338e3c Fixed KT-3807 Wrong completion for class/trait with extesion function
#KT-3807 Fixed
2014-09-25 17:10:23 +04:00
Valentin Kipyatkov
e30998d3c1 Moved an utility method 2014-09-25 17:10:23 +04:00
Valentin Kipyatkov
7df65d595c Infix calls supported in smart completion too 2014-09-25 17:10:22 +04:00
Valentin Kipyatkov
2bb553612c Dealing with infix calls in completion
#KT-4846 Fixed
2014-09-25 17:10:22 +04:00
Valentin Kipyatkov
9961a5ff16 Minor 2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
16809bc1c6 Minor 2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
427b3c80bc Filtered out incorrect suggestion of extension methods in smart completion 2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
f43a9968ba Minor code refactorings in TipsManager 2014-09-25 17:10:20 +04:00
Valentin Kipyatkov
726f49b3f8 Converted TipsManager to Kotlin 2014-09-25 17:10:20 +04:00
Valentin Kipyatkov
34aada75eb Fixed KT-5795 Do not suggest member extension functions with wrong implicit reciever
#KT-5795 Fixed
2014-09-25 17:10:19 +04:00
Michael Nedzelsky
6ed57f5e7a JS backend: fix KT-5221 Invalid JS code generated for dec() and inc()
#KT-5221 Fixed
2014-09-25 15:12:44 +04:00
max-kammerer
86d598677d Merge pull request #506 from bintree/max-stack-calc-refining
Refining calculation of max stack size. #KT-5548 Fixed
2014-09-25 10:00:37 +04:00
Natalia Ukhorskaya
0dfc793a45 Merge pull request #515 from dmekhanikov/master
Introduce propertyDelegated method in delegates
2014-09-24 18:50:56 +04:00
Denis Zharkov
7de406991a Refining conditions if method can be optimized 2014-09-24 18:04:33 +04:00
Denis Zharkov
e32f307960 Refining calculation of max stack size. #KT-5548 Fixed
It used for inline and optimization

Added new MethodVisitor's decorator within objectweb.asm package because
there are a lot of usages of package-protected members

Large portion of MaxStackFrameSizeCalculator is carefully copy-pasted from
MethodWriter parts that are relevant to max stack size calculation
2014-09-24 18:04:33 +04:00
Ilya Ryzhenkov
c074b4317e Cleanup concurrent 2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
3ab1901f06 Rename Serializable test file 2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
7b77229638 Cleanup Serializable test 2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
a6d2624807 Cleanup test helpers. 2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
f2b9b370e1 Clean Dom and Dom tests. 2014-09-24 17:39:46 +04:00
Michael Bogdanov
cde74504d4 Test for obsolete kt5307 2014-09-24 17:12:27 +04:00
Evgeny Gerashchenko
cb58d19e29 Minor. Clarified "compiled file" as "file to compile". 2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
060796997e Fixed clearing incremental cache for removed source files.
For writing system-dependent paths were used, for deleting were system-independent. That's why cache was not cleared on Windows.
2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
f9b33c4137 Fixed opening file and not closing it.
This led to impossibility to delete file during incremental compilation.
2014-09-24 16:31:47 +04:00
Evgeny Gerashchenko
b435904d7f Fix: not loading ancestor packages from incremental cache. 2014-09-24 16:31:47 +04:00
Evgeny Gerashchenko
9af1c3e4dc Added automatic backup for debugging incremental compilation. 2014-09-24 16:31:47 +04:00
Denis Zharkov
36b50a25f9 Changed generating logic for named functions
Generate it as a sequence of statements when it's possible
2014-09-24 15:59:49 +04:00
Denis Zharkov
78cde5c740 Generate blocks-statements through CodegenStatementVisitor 2014-09-24 15:59:49 +04:00
Denis Zharkov
4ed744428b Generate substatements as statements too
Preventing pushing on stack redundant Unit instances

 #KT-5667 fixed
2014-09-24 15:51:43 +04:00
Denis Zharkov
081d2cf95c Minor, extracted generateLoopBody 2014-09-24 15:51:43 +04:00
Denis Mekhanikov
c4bfa0edca Introduce propertyDelegated method in delegates 2014-09-24 15:34:12 +04:00
Pavel V. Talanov
9e38d207f2 Add hack for failing js completion tests 2014-09-23 15:56:38 +04:00
Pavel V. Talanov
187a3f0b9f Implement separate service which tracks modification in libraries
ProjectRootModificationTracker tracks root changes but not content modification
2014-09-23 15:56:38 +04:00
Pavel V. Talanov
8a5239f794 Correctly place decompiled kotlin files under LibrarySourceInfo
This check doesn't work for java (and other) decompiled sources, but we assume that we never deal with them in this code
2014-09-23 15:56:37 +04:00
Pavel V. Talanov
8a44325327 Log when libraries cache is dropped because of ProcessCanceledException
Hope it can give insight on how often this happens
2014-09-23 15:56:37 +04:00
Pavel V. Talanov
8d89ac897a Create composite exception tracker when delegating ModuleResolverProvider
Avoid dropping delegate caches when exception (i.e. ProcessCancelled) is thrown in delegating provider
2014-09-23 15:56:36 +04:00
Pavel V. Talanov
68201c3e86 Delegate to global cache when building ModuleResolverProvider for synthetic files 2014-09-23 15:56:36 +04:00
Pavel V. Talanov
5847c3559b Implement ModuleSourceInfo.getDependentModules() 2014-09-23 15:56:35 +04:00
Pavel V. Talanov
bf546c83fb Introduce ModuleSourceInfo 2014-09-23 15:56:35 +04:00
Pavel V. Talanov
fe136b500a Libraries cache drops only on roots change 2014-09-23 15:56:34 +04:00
Pavel V. Talanov
67c9a2323c Synthetic files cache delegates to libraries cache 2014-09-23 15:56:34 +04:00
Pavel V. Talanov
8368689af8 Split global cache in KotlinCacheService into separate caches for libraries and for modules 2014-09-23 15:56:33 +04:00
Pavel V. Talanov
faa9f4bb14 Reuse both storage manager and exception tracker when delegating to ModuleResolverProvider 2014-09-23 15:56:33 +04:00
Pavel V. Talanov
c0657320f5 Allow to provide delegate ModuleResolverProvider when computing resolve sessions for bodies 2014-09-23 15:56:32 +04:00
Pavel V. Talanov
ec02734a30 Minor: extract property in KotlinResolveCache 2014-09-23 15:56:32 +04:00
Pavel V. Talanov
563119ffc7 Minor: fix typo in file name 2014-09-23 15:56:31 +04:00
Pavel V. Talanov
bb87377457 Allow to provide precomputed analyzers when creating ResolverForProject 2014-09-23 15:56:31 +04:00
Michael Nedzelsky
e6a17cbd78 JS backend: tests for KT-5772 2014-09-23 14:50:20 +04:00
Michael Nedzelsky
bdca7e0e37 JS backend: fix KT-5772 wrong code generated when <,<=,>,>= are used with explicit Comparable type
#KT-5772 Fixed
2014-09-23 14:50:17 +04:00
Michael Nedzelsky
1d71016097 JS backend: refactoring support for binary intrinsic operations 2014-09-23 14:50:15 +04:00
Michael Nedzelsky
07a4d0e77e JS backend: convert NumberConversionFIF to Kotlin 2014-09-23 14:50:13 +04:00
Michael Nedzelsky
32f391aa51 JS backend: minor improve in NamePredicate: replace list with set 2014-09-23 14:50:09 +04:00
Alexey Sedunov
a48fbacbd9 Minor: Fix warnings 2014-09-23 12:50:48 +04:00
Alexey Sedunov
da004cf104 Minor: Add @NotNull annotation 2014-09-23 12:50:47 +04:00
Alexey Sedunov
735fd6c626 Move: Fix detection of imported declarations and processing of extension usages
#KT-5787 Fixed
 #KT-4959 Fixed
2014-09-23 12:50:46 +04:00
Natalia Ukhorskaya
b14e979d70 Android tests: skip txt files in box folder 2014-09-23 10:46:40 +04:00
Natalia Ukhorskaya
2b388ed308 Evaluate Expression: fix function call from base class on object with subtype 2014-09-23 10:33:06 +04:00
Nikolay Krasko
b5f738db07 Fix test runner for the case when rerun of failed test filters out some classes completely 2014-09-22 14:02:32 +04:00
Nikolay Krasko
f178356bf0 More memory for dist task 2014-09-22 14:02:04 +04:00
Nikolay Krasko
f5ee68064f Don't generate ValueParameter annotations in light class mode 2014-09-22 14:02:02 +04:00
Michael Bogdanov
432ec31daf Support returns in nested finallies 2014-09-19 17:14:17 +04:00
max.kammerer
9564eaa6fd Support finnaly blocks from inline fun in non-local returns 2014-09-19 17:14:17 +04:00
Evgeny Gerashchenko
309329afd0 Shared incremental compilation tests. For running locally and on teamcity. 2014-09-19 16:43:00 +04:00
Alexander Udalov
90c09762e3 Find usages: only collect those descriptors which resolve to callables
Fix failing test on the buildserver
2014-09-19 16:29:00 +04:00
Alexey Sedunov
5a0b786cb9 Extract Function: Fix syntax error in test 2014-09-19 13:50:38 +04:00
Alexey Sedunov
40761dfc4c Extract Function: Generate named argument for extracted lambda (when necessary) 2014-09-19 13:50:38 +04:00
Alexey Sedunov
6a76ca1066 PSI Pattern Patching: Use precomputed context for matching of substitution parameters 2014-09-19 13:50:37 +04:00
Alexey Sedunov
98eed5cb0e Minor: Remove unused function added in earlier commit 2014-09-19 13:50:36 +04:00
Alexander Udalov
04bb43e907 Fix navigation to data class copy function 2014-09-19 11:45:22 +04:00
Nikolay Krasko
bf7a295ace Regenerate for testCompilationErrorThenFixed test 2014-09-18 20:30:35 +04:00
Nikolay Krasko
2ae1286515 Remove lazy base test - there won't be lazy and eager mode soon 2014-09-18 17:58:25 +04:00
Nikolay Krasko
fbd09911f3 Refactoring: Extract filter for skipping built-ins packages 2014-09-18 17:58:24 +04:00
Nikolay Krasko
e796f88b38 Regenerate test data with constructed descriptors for diagnostics tests 2014-09-18 17:58:23 +04:00
Nikolay Krasko
de61456725 Compare constructed descriptors in diagnostics tests 2014-09-18 17:58:20 +04:00
Evgeny Gerashchenko
2a9005b466 Fixed IAE because of compiler bug. 2014-09-18 16:50:20 +04:00
Evgeny Gerashchenko
853def0a10 Not clearing incremental cache on compilation error. 2014-09-18 16:50:20 +04:00
Zalim Bashorov
040d1693e8 Minor: revert semicolons after package declaration for java parts inside kt file. 2014-09-18 16:00:45 +04:00
Michael Nedzelsky
1b60f39959 JS backend: test for KT-4381: JS: fails to iterate over Double range
#KT-4381 obsolete
2014-09-18 15:01:11 +04:00
Alexey Sedunov
741e5f61e9 Extract Function: Implement duplicate search 2014-09-18 13:28:30 +04:00
Alexey Sedunov
03e2b4d516 PSI Pattern Matching: Add support of weak matching 2014-09-18 13:28:29 +04:00
Alexey Sedunov
07a257b1fe Drop JetPsiMatcher class and use JetPsiUnifier instead. Drop AbstractJetPsiMatcherTest 2014-09-18 13:28:28 +04:00
Alexey Sedunov
855ed81c11 Introduce Variable: Use expression unifier to find duplicates 2014-09-18 13:28:27 +04:00
Alexey Sedunov
f1c18d0e3f PSI Pattern Matching: Add equivalence tests for JetPsiUnifier 2014-09-18 13:28:26 +04:00
Alexey Sedunov
a3758f9fa3 PSI Pattern Matching: Implement expression unifier 2014-09-18 13:28:24 +04:00
Alexander Udalov
c0a8e8a4fc Fix safe call on a static method in JVM back-end
#KT-5796 Fixed
2014-09-18 11:13:30 +04:00
Alexander Udalov
9434114c45 Make DescriptorRenderer escape names with dollars and other characters
#KT-5791 Fixed
2014-09-18 10:42:48 +04:00
Alexander Udalov
483232a3e5 Minor, add test for obsolete issue
#KT-5159 Obsolete
2014-09-17 21:20:57 +04:00
Alexander Udalov
af01c0ff94 Update to IDEA EAP 138.2210 2014-09-17 21:19:09 +04:00
Zalim Bashorov
08c3bb35b2 Merge pull request #514 from chashnikov/rr/nik
JS run configuration: use default implementation of ExecutionResult instead of implementing...
2014-09-17 18:56:26 +04:00
nik
92e962eced JS run configuration: use default implementation instead of implementing interface from IDEA API to simplify code and avoid compatibility problems 2014-09-17 18:06:32 +04:00
Natalia Ukhorskaya
88a2612348 Regenerate tests 2014-09-17 14:21:34 +04:00
Natalia Ukhorskaya
3dcfae4a81 Debugger: delegated property should be visible in debugger
#KT-4699 In Progress
 #KT-3582 Fixed
2014-09-17 13:59:53 +04:00
Natalia Ukhorskaya
655682ac97 Move regression tests from stdlib to compiler
#KT-5770 FIxed
2014-09-17 13:59:52 +04:00
Valentin Kipyatkov
d5f509580f Minor fix in completion 2014-09-17 13:24:56 +04:00
Valentin Kipyatkov
a4613ec4a0 Changed completion logic: include non-imported declarations on second press even when prefix is empty 2014-09-17 13:24:56 +04:00
Valentin Kipyatkov
75f7f296aa Non-imported extension functions and properties in smart completion + adding import on completing of non-imported property 2014-09-17 13:24:56 +04:00
Zalim Bashorov
507bfe49aa Minor: "js.noImpl" -> "noImpl" 2014-09-16 19:34:57 +04:00
Zalim Bashorov
38401d04d5 Minor: made noImpl generic to avoid using in wrong context. 2014-09-16 19:32:38 +04:00
Zalim Bashorov
30208d5532 Minor: drop semicolon in package declaration everywhere. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
0f136d5adc Minor in JS lib: dropped semicolon in package declarations. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
b0aa3e9988 JS stdlib: fixed visibility in some declarations. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
0b0e9ee244 JS stdlib: test that js library doesn't contain internal declarations. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
838c384672 "js" -> "kotlin.js" 2014-09-16 19:32:37 +04:00
Zalim Bashorov
b28b0046d1 Minor: drop obsolete code. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
efd4409dbf Minor: increase memory in JS backend tests. 2014-09-16 19:32:37 +04:00
Zalim Bashorov
59b83679b3 Minor in JS stdlib: made stdlib warning less -- suppressed some BASE_WITH_NULLABLE_UPPER_BOUND warnings and fix one extra out projection. 2014-09-16 18:07:37 +04:00
Zalim Bashorov
0c0d049de7 Minor in JS backend: drop unnecessary inline annotations. 2014-09-16 18:07:37 +04:00
Zalim Bashorov
0fd1b5152a Minor in JS backend: added comment for InvokeIntrinsic::bothReceivers. 2014-09-16 18:07:36 +04:00
Michael Bogdanov
a735d67e86 Check noinline annotation on non-local return processing 2014-09-16 15:33:14 +04:00
Michael Bogdanov
b763aa9995 Added platform static checker with provider implementation 2014-09-16 14:38:15 +04:00
Zalim Bashorov
9b065a89b9 JS backend: fix annotation class compilation. 2014-09-16 14:21:50 +04:00
Alexander Udalov
1905401273 Move ClassId to module descriptors, closer to other names 2014-09-16 11:36:39 +04:00
Alexander Udalov
ed92eb1d17 Minor, use another constructor of ClassId 2014-09-16 11:32:45 +04:00
Alexander Udalov
b0539ac7a4 Minor, fix old terminology mistake 2014-09-15 19:30:53 +04:00
Alexander Udalov
cfefa0c970 Convert VirtualFileKotlinClass to Kotlin 2014-09-15 19:30:53 +04:00
Alexander Udalov
940d07c81b Rename VirtualFileKotlinClass.java to .kt 2014-09-15 19:30:53 +04:00
Alexander Udalov
556e313141 Minor, improve multi-module java analysis test
- don't check supertypes for every callable in a class
- don't check methods from Any
- check that all descriptors were correctly resolved (otherwise the test
  failure error message was very cryptic)
2014-09-15 19:30:53 +04:00
Alexander Udalov
73a92c6aa9 Remove JavaClass.getAllMethods()/getAllFields()
Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually

Also make JavaClassImpl.getSupertypes() invoke PsiClass.getSuperTypes(),
because it also contains java.lang.Object for interfaces, which makes
equals/hashCode/toString appear in interfaces' getAllMethods() as well
2014-09-15 19:30:53 +04:00
Alexander Udalov
f39c3041d2 Make MISSING_VAL_ON_ANNOTATION_PARAMETER error instead of warning
Annotation with a parameter that is not stored doesn't make any sense
2014-09-15 19:30:52 +04:00
Alexander Udalov
f64e633a7e Minor, add NotNull annotations to test sources 2014-09-15 19:30:52 +04:00
Alexander Udalov
3485d65d8a Remove superfluous isVararg() from JavaMethod 2014-09-15 19:30:52 +04:00
Alexander Udalov
924283d2d9 Extract JavaConstructor out of JavaMethod
Will be useful in reflection-backed implementation of Java structure, where
Constructor is not a Method and doesn't even inherit from it
2014-09-15 19:30:52 +04:00
Alexander Udalov
04ff45dee3 Drop "toClassId" in DeserializerForDecompiler 2014-09-15 19:30:51 +04:00
Alexander Udalov
7595e32bb6 Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov
1f8b2cef52 Read InnerClasses attribute value in FileBasedKotlinClass
Resolve names mentioned in class declarations based on this information
2014-09-15 19:30:51 +04:00
Alexander Udalov
e3b01f073f Replace FqName by ClassId where possible in Java resolver 2014-09-15 19:30:51 +04:00
Alexander Udalov
9648c50ac9 Minor, refactor FileBasedKotlinClass factory method 2014-09-15 19:30:51 +04:00
Alexander Udalov
fa39bf03a0 Extract abstract FileBasedKotlinClass out of VirtualFileKotlinClass
Add another implementation of FileBasedKotlinClass which was indirectly used in
jps-plugin (LocalFileKotlinClass)
2014-09-15 19:30:51 +04:00
Alexander Udalov
f34f2e71a8 Minor, add NotNull annotations to VirtualFileKotlinClass 2014-09-15 19:30:50 +04:00
Alexander Udalov
a8c5f1bb3a Drop KotlinClassFinder#findKotlinClass(FqName)
findKotlinClass(ClassId) should be used instead
2014-09-15 19:30:50 +04:00
Alexander Udalov
422e922c36 Make JavaClassFinder accept ClassId rather than FqName
ClassId has more information about the name which will be very useful when
implementing JavaClassFinder in reflection
2014-09-15 19:30:50 +04:00
Alexander Udalov
e9ae06a53e Straighten out MemberIndex calculation in LazyJavaStaticScope
Also delete confusing "inn" function
2014-09-15 19:30:50 +04:00
Alexander Udalov
0cb7c08a7a Minor, delete unneeded underscores from parameter names 2014-09-15 19:30:50 +04:00
Alexander Udalov
bc1d59a538 Add KotlinClassFinder#findKotlinClass(ClassId)
Will be used to load nested classes correctly at runtime
2014-09-15 19:30:50 +04:00
Alexander Udalov
c854b1d713 Unextend JavaAnnotationArgumentImpl from JavaElementImpl 2014-09-15 19:30:49 +04:00
Alexander Udalov
4c51368244 Rewrite JavaAnnotationArgument interfaces and implementations to Kotlin 2014-09-15 19:30:49 +04:00
Alexander Udalov
ec02382976 Assert that reference annotation argument is always an enum value
Rename JavaReferenceAnnotationArgument on that occasion to
JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation
argument
2014-09-15 19:30:49 +04:00
Alexander Udalov
13eeb18219 Delete "idea.properties"
Apparently it was committed by mistake and never used since then
2014-09-15 19:30:49 +04:00
Alexander Udalov
3822c48f30 Include additional IDE modules to "IDE" scope
- include modules "idea-analysis" and "ide-lazy-resolve"
- exclude all files starting from "idea" such as idea.properties, ideaSDK etc.
2014-09-15 19:30:49 +04:00
Andrey Breslav
f1cf446e10 KT-5773 Smart cast doesn't work with Nothing on the rhs of "?:"
#KT-5773 FIxed
2014-09-15 18:24:13 +04:00
Alexander Udalov
3a806713fd Fix obscure typo in isEqual() in KotlinClassFileIndex 2014-09-12 21:18:24 +04:00
Alexander Udalov
8cc1a1da27 Minor, fix warnings in KotlinClassFileIndex 2014-09-12 21:18:18 +04:00
Natalia Ukhorskaya
ecaf87f51c Minor, tests: rename test directive in debugger tests 2014-09-12 17:26:33 +04:00
Natalia Ukhorskaya
e16673f50a Debugger tests: do not print line numbers in stdlib 2014-09-12 17:26:32 +04:00
Pavel V. Talanov
3eeed559b4 Use different scope in completion/autoimport if element is in production source root 2014-09-12 13:09:20 +04:00
Pavel V. Talanov
88b262faf1 Make test source module a friend of production source module 2014-09-12 13:08:31 +04:00
Pavel V. Talanov
f3a9bed14a Introduce ModuleDescriptor#isFriend(ModuleDescriptor)
Use it to allow friend modules to see internal members
2014-09-12 13:08:30 +04:00
Pavel V. Talanov
10666d777d Split ModuleSourceInfo into ModuleProductionSourceInfo and ModuleTestSourceInfo 2014-09-12 13:08:29 +04:00
Pavel V. Talanov
3e25e16599 Refactor: drop redundant abstractions in IdeaModuleInfoTest 2014-09-12 13:08:27 +04:00
Alexey Sedunov
424c086ba3 Sort list of declarations suggested for auto-import by proximity
#KT-2050 Fixed
2014-09-11 21:04:27 +04:00
Alexey Sedunov
650c9c6da5 Quick Fixes: Support "WITH_RUNTIME" directive in multi-file quick fix tests 2014-09-11 21:04:26 +04:00
Alexander Udalov
e0ee890486 Move properties of enum class object to the enum class
Similar to how it's done for usual classes
2014-09-11 17:56:43 +04:00
Alexander Udalov
81004889eb Fix initialization of object's INSTANCE$ field
Call object's constructor in <clinit> and ignore the result, but in the first
line of <init> save the current "this" to INSTANCE$

 #KT-4516 Fixed
 #KT-4543 Fixed
 #KT-5291 Fixed
 #KT-5523 Fixed
 #KT-5582 Fixed
2014-09-11 17:56:43 +04:00
Alexander Udalov
b907f35995 Minor, fix some warnings in codegen 2014-09-11 17:56:43 +04:00
Alexander Udalov
8c781e5d14 Minor, remove duplicate method in ExpressionCodegen 2014-09-11 17:56:42 +04:00
Alexander Udalov
937404239e Minor, delete unused method in DataFlowInfo 2014-09-11 17:56:27 +04:00
Nikolay Krasko
32c00a4623 Return tree structure in test view result for running single test 2014-09-11 17:45:26 +04:00
Nikolay Krasko
10fbd4a269 Test that tests are executed only once in "All Tests" 2014-09-11 15:44:59 +04:00
Nikolay Krasko
80616a1fcb Drop all inners classes if sorting is needed 2014-09-11 15:44:58 +04:00
Natalia Ukhorskaya
32f6d7feac Add test for KT-5554: coerce arrays in return
#KT-5554 Fixed
2014-09-11 15:04:46 +04:00
Natalia Ukhorskaya
e0469de5be Eval4j: fix coerce for arrays in return
#KT-5554 Fixed
2014-09-11 15:04:44 +04:00
Natalia Ukhorskaya
4667190b8c Minor: fix typo 2014-09-11 15:04:43 +04:00
Natalia Ukhorskaya
50dcef254d Debugger: get correct context for breakpoints inside lambdas 2014-09-11 15:04:41 +04:00
Natalia Ukhorskaya
a1e586cf7c Tests: extract base class 2014-09-11 15:02:59 +04:00
Nikolay Krasko
b6abd6442a Don't try to search for component function if asked completely different function 2014-09-11 12:52:57 +04:00
Nikolay Krasko
c3f44d5030 Refactoring: create DataClassUtils and move all "component" function utils there 2014-09-11 12:52:57 +04:00
Nikolay Krasko
65d358a066 Don't generate component function in lazy resolve for parameter if it has no val/var 2014-09-11 12:52:56 +04:00
Nikolay Krasko
caee19cdc7 Generate copy() in data class even if constructor is empty or not present 2014-09-11 12:52:55 +04:00
Nikolay Krasko
fa393cf4f5 Escape surrogate characters 2014-09-11 12:52:54 +04:00
Alexander Udalov
83f47412b6 Eliminate package "light" from org.jetbrains.jet.asJava
Move everything to org.jetbrains.jet.asJava because classes for some light
elements were already there
2014-09-11 10:37:48 +04:00
Alexander Udalov
50a301865f Move KotlinLightMethod and KotlinLightElement to "jet.as.java.psi" 2014-09-11 10:37:47 +04:00
Alexander Udalov
fec64b31dc Fix resolve of Kotlin enum entries from Java
#KT-5719 Fixed
2014-09-11 10:37:47 +04:00
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
Alexander Udalov
d4b1797646 Override getText() in light classes to prevent decompiler errors on Kotlin sources
Fixes EA-58277
2014-09-11 10:37:07 +04:00
Zalim Bashorov
48de3b706d Frontend: added the support file annotations to LazyTopDownAnalyzer. 2014-09-10 22:39:12 +04:00
Zalim Bashorov
6d0bcf8b32 Frontend: added the support file annotations to TopDownAnalyzer. 2014-09-10 22:39:12 +04:00
Zalim Bashorov
486b6be32c Minor in Parser: "attribute" -> "annotation" 2014-09-10 22:39:11 +04:00
Zalim Bashorov
d71c3d6166 Minor in Parser: moved some annotation tests. 2014-09-10 22:39:11 +04:00
Zalim Bashorov
fb97b1df93 Minor in Parser: drop obsolete code. 2014-09-10 22:39:11 +04:00
Zalim Bashorov
3c60d0de93 Parser: added the support file annotations. 2014-09-10 22:39:11 +04:00
Zalim Bashorov
506610302a Parser: added the support file annotations to grammar. 2014-09-10 22:39:11 +04:00
Zalim Bashorov
771b887e9f Minor: add ".idea/shelf" to ".gitignore". 2014-09-10 22:39:10 +04:00
Michael Bogdanov
08e02f4176 Moving platformStatic annotation to kotlin.platform package 2014-09-10 17:35:59 +04:00
Andrey Breslav
b8b0316d97 Reporting ACCIDENTAL_OVERRIDE on jvm signatures that have no descriptors
(marking them SYNTHETIC)
2014-09-10 17:35:54 +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
1a63f9b815 Refactoring Util: Implement PsiElement.getLineCount() 2014-09-10 16:44:47 +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
Alexey Sedunov
7a15a88288 Minor: Change signature 2014-09-10 16:44:44 +04:00
Pavel V. Talanov
e6df5c4bdc KotlinSignature markers do not fail in case of enum in sources
Refactor to make all KotlinSignature intention share some logic
2014-09-10 15:20:59 +04:00
Nikolay Krasko
d32221ff4a Add sorted and filter to custom test runner 2014-09-09 23:35:16 +04:00
Alexander Udalov
55e5241158 Regenerate tests 2014-09-09 20:42:39 +04:00
Alexander Udalov
c274fc8d6d Drop outdated JVM intrinsics EnumValueOf and EnumValues 2014-09-09 20:42:39 +04:00
Alexander Udalov
25bb220223 Fix navigation on values()/valueOf() of enum classes 2014-09-09 20:42:39 +04:00
Alexander Udalov
4d212be31f Refactor QualifiedExpressionResolver
- fix return types everywhere: Collection<DeclarationDescriptor> instead of
  Collection<? extends DeclarationDescriptor>
- delete useless LookupResult.EMPTY and merge LookupResult with
  SuccessfulLookupResult
- reformat, minor inlines, etc.
2014-09-09 20:42:38 +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
2f12875515 Extract "values" and "valueOf" names as static constants 2014-09-09 20:42:38 +04:00
Alexander Udalov
4bd603818a Drop LazyJavaDescriptor, JavaPackageFragmentDescriptor 2014-09-09 20:42:38 +04:00
Alexander Udalov
148d583212 Drop JavaPackageFragmentProvider 2014-09-09 20:42:38 +04:00
Alexander Udalov
3b05ec0df4 Remove duplicate code from JvmCodegenUtil 2014-09-09 20:42:37 +04:00
Alexander Udalov
d52eff0825 JS: update support of enum's values() and valueOf() 2014-09-09 20:42:37 +04:00
Alexander Udalov
c5345a83c9 Minor, reuse existing method 2014-09-09 20:42:37 +04:00
Alexander Udalov
476dc78c16 Refine getClassObjectDescriptor()'s type
This reverts commit db3e5ed678.
2014-09-09 20:42:37 +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
Alexander Udalov
bb54825fac Fix incorrect test data for wrong KotlinSignature CLI test
Classes from the root package cannot be referenced from a non-root package
2014-09-09 20:42:36 +04:00
Alexander Udalov
8ccca1781d Support static class scope in frontend, JVM codegen and IDE 2014-09-09 20:42:36 +04:00
Alexander Udalov
cb81023469 Minor, fix warnings and formatting in QualifiedExpressionResolver 2014-09-09 20:42:36 +04:00
Alexander Udalov
76986f850f Drop outdated code in JDR related to static class members 2014-09-09 20:42:36 +04:00
Alexander Udalov
bcfb5f3b09 Rewrite Java resolve to use static class scope instead of synthesized packages
#KT-4149 Fixed
 #KT-4839 Fixed
2014-09-09 20:42:36 +04:00
Alexander Udalov
75df4a9ad8 Introduce ClassDescriptor#getStaticScope()
Will be used to exterminate hacks related to static Java methods in our
codebase: synthetic class object for enum, synthetic package for static members
of Java classes, etc.
2014-09-09 20:42:35 +04:00
Alexander Udalov
7ad88f7799 Minor, add test for obsolete issue
#KT-4021 Obsolete
2014-09-09 20:42:35 +04:00
Alexander Udalov
d86903ccd4 Minor, add codegen test on extension to nested class 2014-09-09 20:42:35 +04:00
Alexander Udalov
2fbba060de Minor, fix "J2K Tests" run configuration 2014-09-09 20:42:35 +04:00
Pavel V. Talanov
123b6ed529 Do not skip top level members from sources under library classes root
Fix problems with JavaScript libraries
2014-09-09 19:51:45 +04:00
Michael Bogdanov
7aaae8a2f7 Synthetic accessor refactoring: extract general interface 2014-09-09 16:28:28 +04:00
Michael Bogdanov
e26d635633 Initial implementation of platformStatic 2014-09-09 16:28:28 +04:00
Michael Bogdanov
7bbedd9685 Added platformStatic annotation 2014-09-09 16:26:15 +04:00
Michael Nedzelsky
36ada06bdb Remove SuppressWarning('NullableProblems') and change @NotNull annotation to @Nullable in DescriptorPredicate.apply method 2014-09-09 16:24:09 +04:00
Michael Nedzelsky
cc4f84ffae JS backend: fix KT-5738 JS backend: result of toByte() should be in the range of bytes
#KT-5738 Fixed
2014-09-09 16:24:06 +04:00
Michael Nedzelsky
a632e9e21d JS backend: fix KT-4601 JS: compareTo doesn't work on Numbers
#KT-4601 Fixed
2014-09-09 16:24:03 +04:00
Michael Nedzelsky
145050b3d1 JS backend: simplify conversion to int 2014-09-09 16:24:01 +04:00
Michael Nedzelsky
69a25ca92a JS backend: minor: improve call translation for constant receiver 2014-09-09 16:23:58 +04:00
Michael Nedzelsky
377f6fe4da JS backend: fix labels before for and do while loops 2014-09-09 16:23:55 +04:00
Nikolay Krasko
041d009b9a Regenerate tests 2014-09-09 14:28:24 +04:00
Nikolay Krasko
c6905b971c New runner for auto-generated test
- Run classes with inners
- Remove suite() methods in generated and prevent double test execution
2014-09-09 14:28:22 +04:00
Andrey Breslav
32c8d3a96d Tests regenerated 2014-09-08 19:57:41 +04:00
Andrey Breslav
cb07c65b7d @TestDataPath and @TestDataFile annotation added to facilitate navigation to test data 2014-09-08 19:57:40 +04:00
Alexey Sedunov
e274af7be8 Pseudocode: Filter out nulls before combining type predicates
#KT-5732 Fixed
2014-09-08 17:48:47 +04:00
Michael Nedzelsky
81c7a1b1da JS backend: return empty expression for unreachable code during translation 2014-09-08 11:30:20 +04:00
Michael Nedzelsky
6e728852d0 add BindingUtilsPackage.isUnreachableCode 2014-09-08 11:30:12 +04:00
Svetlana Isakova
f5feb3bf33 Fixed: label copies should be added to all labels 2014-09-07 01:04:01 +04:00
Svetlana Isakova
976d5ab030 Pseudocode: don't write full label name when jump on it 2014-09-07 01:04:00 +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
Svetlana Isakova
067ac5c94a Fixed one part of 'Resolution error of this type shouldn't occur for...'
Result for "IF<T>(T, T)" can be "hasUnknownParameters"
if both arguments have types 'uninferred type parameter' (incomplete resolve case),
no constraints are added to the system.
2014-09-07 01:03:58 +04:00
Svetlana Isakova
61dc110cc7 Report 'break or continue outside a loop'
for break/continue outside a loop body (e.g. in loop condition)

 #KT-5724 Fixed
2014-09-07 01:03:57 +04:00
Svetlana Isakova
0b4f313b6d Jump on 'continue' to condition entry points for all loops 2014-09-05 18:31:53 +04:00
Michael Nedzelsky
25a0854dbd fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)
#KT-5645 Fixed
2014-09-05 18:31:53 +04:00
Svetlana Isakova
3d7c22f242 Added exact label names for labels 2014-09-05 18:31:53 +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
f11621615b Pseudocode: Do not generate VALUE_CONSUMER if property delegate has no value (EA-59276) 2014-09-05 17:39:54 +04:00
Alexey Sedunov
e03bae44d9 Extract Function: Support multi-declaration initializers
#KT-5613 Fixed
2014-09-05 17:39:53 +04:00
Natalia Ukhorskaya
b33e696ab7 Fix Android tests 2014-09-05 12:23:31 +04:00
Michael Nedzelsky
3578845e87 JS backend: add support for break, return, continue, throw in expressions 2014-09-03 20:48:52 +04:00
Michael Nedzelsky
2296eeef84 JS backend: add leftJetExpression and rightJetExpression fields into BinaryOperationTranslator 2014-09-03 20:48:48 +04:00
Valentin Kipyatkov
24bd6ec7de Moved too specific function out of ExpressionTypingUtils (and refactored it) 2014-09-03 15:43:25 +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
Valentin Kipyatkov
5799ecbd28 Completion: minor code corrections after review 2014-09-03 13:59:30 +04:00
Michael Bogdanov
ce39b18c2f Fix artifact output and root due IDEA-129315 2014-09-03 13:51:07 +04:00
Natalia Ukhorskaya
078e7f7bbb Update to IDEA EAP 138.1980.1 2014-09-03 11:18:55 +04:00
Michael Nedzelsky
f5963ebfe9 JS backend: test for KT-4225: Compiler to JavaScript produces semantically wrong code
This issue was fixed in build 0.8.541
2014-09-02 22:53:00 +04:00
Michael Nedzelsky
0e41411c75 JS backend: fix TranslationUtils.isCacheNeeded 2014-09-02 22:52:57 +04:00
Michael Nedzelsky
5967b6637f JS backend: fix translation for || and && (create new tmp variable if needed) 2014-09-02 22:52:53 +04:00
Michael Nedzelsky
40e5d6c8f5 JS backend: refactor LoopTranslator, add function translateForExpression 2014-09-02 22:52:50 +04:00
Michael Nedzelsky
478d3baf59 JS backend: add LoopTranslator.kt, move ExpressionVisitor.createWhile and ForTranslator into LoopTranslart, remove foreach package 2014-09-02 22:52:45 +04:00
Michael Nedzelsky
2fd13a0fb4 JS backend: add NotNull annotations 2014-09-02 22:52:42 +04:00
Michael Nedzelsky
ab0df532bc JS backend: for with label, fix KT-5257 JS: for with continue with label fails on runtime, and KT-5262 JS: wrong code for for over range when start greater end
#KT-5257 Fixed
 #KT-5262 Fixed
2014-09-02 22:52:39 +04:00
Nikolay Krasko
932bd57cf9 Minor: small code rearrangement 2014-09-02 14:41:46 +04:00
Nikolay Krasko
10886a8ce3 Refactoring: introduce isInSourceWithGradleCheck() method 2014-09-02 14:41:43 +04:00
Nikolay Krasko
053201f30f Don't store test data in field 2014-09-02 14:41:41 +04:00
Nikolay Krasko
ea09129eba More memory for "All Tests" configuration 2014-09-02 14:41:00 +04:00
Natalia Ukhorskaya
d8d01ead14 Debugger, fix tests: add kotlin-runtime to classpath compiling Java Sources for tinyApp 2014-09-01 15:08:09 +04:00
Svetlana Isakova
b794b827f9 Replaced UninferredParameterType with error type
and UninferredParameterTypeConstructor
2014-09-01 12:32:54 +04:00
Svetlana Isakova
17c3eeb7bd Added error 'NESTED_CLASS_SHOULD_BE_QUALIFIED'
when nested class is resolved through implicit this
2014-09-01 12:32:54 +04:00
Svetlana Isakova
132c292d32 Don't check class object visibility when it's in qualifier position
(visibility for member is checked anyway).
It might be better to underline invisible qualifier in a chain (class or class object), not the last one (member) - for later improvement.
2014-09-01 12:32:54 +04:00
Svetlana Isakova
3767187027 Refactoring: extracted 'BindingContext.getDataFlowInfo' 2014-09-01 12:32:53 +04:00
Svetlana Isakova
0b9c62ab54 Extracted util function 'recordScopeAndDataFlowInfo' 2014-09-01 12:32:53 +04:00
Svetlana Isakova
7f9ecc50c2 Use EXPRESSION_DATA_FLOW_INFO instead of NON_DEFAULT_EXPRESSION_DATA_FLOW 2014-09-01 12:32:53 +04:00
Svetlana Isakova
4e8f10b8ab Refactoring: extracted interface Qualifier (that is not a ReceiverValue) 2014-09-01 12:32:53 +04:00
Svetlana Isakova
bc3f6e200a Refactoring in PositioningStrategies
Rename: NAME_IDENTIFIER -> DECLARATION_NAME
NAMED_ELEMENT -> DECLARATION_SIGNATURE
DECLARATION, DECLARATION_OR_DEFAULT (merged) -> DECLARATION_SIGNATURE_OR_DEFAULT
2014-09-01 12:32:53 +04:00
Svetlana Isakova
67aad53db7 Render 'defined in' in resolved call tests 2014-09-01 12:32:52 +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
eaeed78154 Resolve type of anonymous object in local object as local 2014-09-01 12:32:51 +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
ac3528756c Small improvements in error reporting 2014-09-01 12:32:51 +04:00
Svetlana Isakova
53b0b3450d Refactoring in PositionStrategies: added markRange(from, to) 2014-09-01 12:32:50 +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
d150a26f8a Rewrote DiagnosticRendererUtil to kotlin 2014-09-01 12:32:50 +04:00
Svetlana Isakova
3a15192bf8 Removed accidentally committed 'setTextRanges' from Diagnostic 2014-09-01 12:32:50 +04:00
Svetlana Isakova
6c63492355 KT-5308 Wrong ExplicitReceiverKind when access to IntRange.EMPTY
#KT-5308 Fixed
2014-09-01 12:32:49 +04:00
Svetlana Isakova
8289f13016 Introduced QualifierReceiver instead of PackageType 2014-09-01 12:32:49 +04:00
Svetlana Isakova
cc92589378 Generated FunctionParameterInfoTest 2014-09-01 12:32:49 +04:00
Svetlana Isakova
d1afa215e7 Removed ExpressionTypingContext.containingDeclaration
it's always scope.getContainingDeclaration()
2014-09-01 12:32:49 +04:00
Svetlana Isakova
8f6f8331ac DelegationSpecifier resolve depends on expected type (supertype) 2014-09-01 12:32:48 +04:00
Svetlana Isakova
e7c285e0e0 Launch ResolvedCallsTest with kotlin library 2014-09-01 12:32:48 +04:00
Svetlana Isakova
e4e09d6c70 Resolve invoke on class objects and enum entries
Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'

 #KT-4321 Fixed
 #KT-4863 Fixed
2014-09-01 12:32:48 +04:00
Alexander Udalov
19d35b8ec6 Fix ClassCastException: PsiParameterImpl cannot be cast to JetParameter
Fixes EA-59008. No new tests added, difficult to reproduce
2014-09-01 11:22:19 +04:00
Evgeny Gerashchenko
4e41673b75 Added check for duplicate source paths in all compiler workflows. 2014-08-29 17:49:10 +04:00
Evgeny Gerashchenko
35720ff46d Supported methods with default arguments in partial package compilation. 2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
3226093fa6 Fixed redeclaration from incremental compilation. Added workaround for JPS bug. 2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
76864a3eb0 Minor. Clearer logic. 2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
15cb2ec586 Supported multi-module incremental compilation tests. 2014-08-29 16:31:29 +04:00
Natalia Ukhorskaya
f8468718cb Minor: fix warnings in KotlinEvaluationBuilder 2014-08-29 15:17:14 +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
88afc7a949 Minor: rename 2014-08-29 15:17:12 +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
Alexander Udalov
619ffead17 Fix test data file name 2014-08-29 15:09:14 +04:00
Michael Bogdanov
83eb983e08 KT-5699 VerifyError in inlines
#KT-5699 Fixed
2014-08-29 14:02:52 +04:00
Andrey Breslav
d80907543f KT-5697 Duplicate Unit type
#KT-5697 Fixed
2014-08-29 12:51:07 +04:00
Alexander Udalov
ec12d1d71d Fix deprecation warnings on junit.framework.Assert
Use org.junit.Assert instead everywhere. Also fix some other minor warnings
2014-08-29 12:34:07 +04:00
Alexander Udalov
d37727185e Fix IDEA plugin behavior with classes in library sources
In case when some class was contained in sources of some library (in addition
to classes of some library) we incorrectly assumed that its ModuleInfo is
LibrarySourceInfo of that library, because we checked if the file was in
library sources first. Now we check if the file is in library _classes_ first,
and then sources

 #KT-5695 Fixed
2014-08-28 17:24:42 +04:00
Michael Bogdanov
2afa51dbde Added missed artifact entry for lazy resolve module 2014-08-28 16:27:02 +04:00
zarechenskiy
9fe42be7c4 Move part of lazy element resolver structure to new module ide-lazy-resolve
This new module will be used from Eclipse, it should not have any idea
specific logic that is applicable only for idea
2014-08-28 13:53:48 +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
f5419cb04e DeclarationLookupObject.descriptor is never null 2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
8a2d4154d6 Completion: non-imported elements are added to the list later 2014-08-27 19:07:38 +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
2841fab6d5 Code refactorings 2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
ced2abb860 Converted AutoImportFix to Kotlin 2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
7c61539516 Faster code for auto-import fix 2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
ba91bc36aa Moved code that has nothing to do with short names from short names cache 2014-08-27 19:07:37 +04:00
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
Evgeny Gerashchenko
965b64e628 Fixed JPS plugin artifact name. 2014-08-27 18:27:21 +04:00
Evgeny Gerashchenko
eae49e23d4 Fixed compilation. 2014-08-27 16:41:36 +04:00
Evgeny Gerashchenko
95ab99cce3 Minor. Removed redundant assertions. 2014-08-27 16:35:12 +04:00
Evgeny Gerashchenko
97beb92fbc Removed dependency on intellij-core in jps-plugin to avoid linkage errors. 2014-08-27 16:35:12 +04:00
Evgeny Gerashchenko
a231e66ec4 Packing zip with bare plugin in post_build. 2014-08-27 16:35:11 +04:00
Evgeny Gerashchenko
d6d59d61d9 Extracted jps plugin artifact. 2014-08-27 16:35:11 +04:00
Evgeny Gerashchenko
822f02e23a Introduced bare kotlin compiler plugin for IntelliJ IDEA developers. 2014-08-27 16:35:10 +04:00
Evgeny Gerashchenko
b728f47947 Minor. Updated compiler configuration. 2014-08-27 16:35:07 +04:00
Evgeny Gerashchenko
75ffc0f5ff Converted KotlinBuilder from Java to Kotlin 2014-08-27 16:35:06 +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
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
91f7f2479d Debugger tests: workaround for idea bug in output replacement 2014-08-27 15:57:57 +04:00
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
Alexander Udalov
b0cb4c330f Don't try to read binary data from a non-class file
Fixes EA-59470, where a virtual file is checked to be a compiled Kotlin class
from the decompiler (which doesn't check its FileType)
2014-08-27 14:07:24 +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
Andrey Breslav
b8f7d68bd4 Minor tweaks in the grammar 2014-08-26 12:16:35 +04:00
kisenka
8da384b466 Convert markup from Confuence wiki to Markdown 2014-08-26 12:04:34 +04:00
Alexander Udalov
e14ec050b4 Minor, update obsolete message in JetTestUtils 2014-08-25 19:11:53 +04:00
Alexander Udalov
8bdad92eff Minor, fix warnings and inspections in JetTestUtils 2014-08-25 19:05:30 +04:00
Alexander Udalov
087eec4521 Regenerate tests after recent generator improvements 2014-08-25 19:00:09 +04:00
Alexander Udalov
def37c6830 Test generator: improve import statements in generated tests
- delete unused "junit.framework.Assert" import
- delete import of the abstract super class, because it always happens to be in
  the same package
- reorder other imports in such way that "Optimize Imports" action in IDEA will
  mostly have no effect in generated tests. However this will still happen in
  tests without any nested test cases (useless imports of InnerClasses etc.)
2014-08-25 19:00:08 +04:00
Alexander Udalov
fb3ef047fc Test generator: inline the constant FQ name 2014-08-25 19:00:04 +04:00
Alexander Udalov
8ff8b411a7 Support object declarations in DI generator 2014-08-25 17:53:30 +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
Alexander Udalov
2ea9a2cfc9 Generate annotations on enum entry constants in bytecode
#KT-5665 Fixed
2014-08-25 17:50:08 +04:00
Alexander Udalov
477bac9b2a Minor, remove obsolete source roots for IDEA libraries 2014-08-25 12:39:20 +04:00
Alexander Udalov
994348b0ca Remove dependency on Maps from jps-plugin
It seems that there's no Guava in the classpath formed for JPS plugins

 #KT-5676 Fixed
2014-08-25 12:36:26 +04:00
Pavel V. Talanov
5dc5862134 Add missing public to ModuleClassResolver 2014-08-23 12:52:27 +04:00
Pavel V. Talanov
b749beb5fa Fix AnalyzerFacadeForJvm reference in GenerateInjectors 2014-08-23 12:46:31 +04:00
Pavel V. Talanov
7a1d5d63dc Rename: AnalyzerFacadeForJvm(Js) -> TopDownAnalyzerFacadeForJvm(Js) 2014-08-22 23:16:55 +04:00
Pavel V. Talanov
46f1873dc8 JDR: drop various code that is marked as temporary
Remove additional logic for comparing files in JavaClassFinderImpl
Drop redundant check for builtins in findClassInJava(FqName)
Drop resolve cache query in LazyJavaClassMemberScope and LazyJavaPackageFragmentScope
2014-08-22 22:59:07 +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
3418d15590 Avoid redundant wrapping in SyntheticFilesFilteringScope 2014-08-22 14:35:53 +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
Michael Nedzelsky
d3bf58d761 JS backend: extract inline calls during translation 2014-08-22 02:17:16 +04:00
Michael Nedzelsky
76757b14e2 JS backend: new tests for use break, continue and return in &&, ||, ?: 2014-08-22 02:17:11 +04:00
Michael Nedzelsky
d969e58b88 JS backend: support for while/do while with complex conditions 2014-08-22 02:17:08 +04:00
Michael Nedzelsky
53f0e6dcd2 JS backend: remove dangerous package, correct translation for call, assignments, binary operations, support try...catch as expression
#KT-5576 Fixed
 #KT-5594 Fixed
 #KT-3166 Fixed
 #KT-5545 Fixed
 #KT-5594 Fixed
 #KT-5258 Fixed

JS backend: fix KT-4879: extra side effect when use when in default arguments

 #KT-4879 Fixed

JS backend: improve and fix WhenTranslator, fix order of evaluation for condtitions, fix KT-5263 (JS: extra tmp when initialize val in when by expression with if)

 #KT-5263 Fixed
2014-08-22 02:17:00 +04:00
Michael Nedzelsky
629d9a275b JS backend: fix dangling else issue in generated code for JsToStringGenerationVisitor
JS backend: fix KT-5253: when with if inside

 #KT-5253 Fixed
2014-08-22 02:16:56 +04:00
Michael Nedzelsky
bfa8fea5b8 JS backend: move patternMatching tests to expression/when 2014-08-22 02:16:53 +04:00
Pavel V. Talanov
a5c02c792b Add annotation root to all relevant libraries 2014-08-21 20:08:48 +04:00
Pavel V. Talanov
1af64aece5 Add missing public in project code 2014-08-21 20:08:46 +04:00
Nikolay Krasko
dbdc30fd94 Ignore decompiler problem, just show trouble declarations 2014-08-21 17:57:19 +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
Evgeny Gerashchenko
24b8a3abda Fixed compilation. 2014-08-21 13:28:50 +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
Denis Mekhanikov
1533c0e9f3 Support more than 32 default arguments
#KT-4675 Fixed
2014-08-20 20:47:34 +04:00
Alexander Udalov
3ada0ce0a9 Fix kotlinc scripts on Cygwin 2014-08-20 15:25:45 +04:00
Evgeny Gerashchenko
56fd9cec7a Minor. Renamed and cleaned CompilerServices -> Services. 2014-08-20 14:29:03 +04:00
Evgeny Gerashchenko
487f381287 Minor. Renamed and cleaned CompilerServices -> Services. 2014-08-20 13:46:31 +04:00
Evgeny Gerashchenko
69c31c00db Fixed gradle and maven plugins after changing compiler API. 2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
fe27b2264a Passing condition to prefer parent class loader as a parameter to preloader. 2014-08-20 13:46:30 +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
cda1be3fc7 Minor. Added toString() to CompilerConfiguration. 2014-08-20 13:46:29 +04:00
Evgeny Gerashchenko
cbf8af2e88 Made compiler report source to output mapping when invoked from JPS. 2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
6dd56a08bd Removed storing module ids in incremental caches. 2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
3233317316 Passing class loader instead of factory to compiler. 2014-08-20 13:46:27 +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
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
44084de3be removed code already contained in JavaCoreApplicationEnvironment 2014-08-20 11:38:05 +04:00
Alexey Kudravtsev
c28b0dba62 moved to idea-analysis 2014-08-20 11:34:43 +04:00
Alexey Kudravtsev
161ed8feac add resources and runtime libraries to idea-analysis 2014-08-19 17:12:45 +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
Alexey Kudravtsev
f5a49cdacd kotlin-for-upsource sources 2014-08-19 17:12:06 +04:00
Alexey Kudravtsev
1f48bbb7d3 a couple of inspections moved to idea-analysis module 2014-08-19 17:10:49 +04:00
Alexander Udalov
6913869b9c Make "descriptors" not depend on intellij-core
Remove dependency on ProcessCanceledException with a hacky solution not to
break anything at the moment
2014-08-19 12:10:31 +04:00
Alexander Udalov
eab0342d39 Remove TestOnly annotation from JetScope#printScopeStructure
Because this method is located in core/ which will be present at runtime, and
this annotation is not needed at runtime
2014-08-19 12:10:30 +04:00
Alexander Udalov
df2c8889d4 Remove dependency of "descriptors" on ContainerUtil 2014-08-19 12:10:30 +04:00
Alexander Udalov
7229044a62 Remove dependency of "descriptors" on ImmutableSet 2014-08-19 12:10:29 +04:00
Alexander Udalov
2055d4d72c Remove dependency of "descriptors" on Maps/Sets 2014-08-19 12:10:28 +04:00
Alexander Udalov
9bc7d27fe1 Remove dependency of "descriptors" on Lists
Also insert a sensible starting capacity almost everywhere
2014-08-19 12:10:27 +04:00
Alexander Udalov
aff7619206 Remove dependency of "descriptors" on StringUtil 2014-08-19 12:10:25 +04:00
Alexander Udalov
df554e7c53 Remove dependency of "descriptors" on Function/Condition/Processor 2014-08-19 12:10:24 +04:00
Alexander Udalov
5afe3c0e35 Code style settings: align multiline operations in Kotlin
Similar option is turned on in Java
2014-08-18 15:01:33 +04:00
Alexander Udalov
8bbbfaa7e6 Fix source roots of idea/intellij libraries 2014-08-18 15:01:32 +04:00
Alexander Udalov
3efabc5423 Add external annotations to library "intellij-core-analysis" 2014-08-18 15:01:31 +04:00
Alexander Udalov
9a98025f81 Set indentation to 4 for XML, in particular Ant build files 2014-08-18 15:01:30 +04:00
Alexander Udalov
cc4a67da71 Minor, change JVM runtime's Implementation-Title
It's not a compiler runtime, but rather a runtime for Kotlin apps
2014-08-18 15:01:28 +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
331f24d01a Use VirtualFileFinder.SERVICE in InlineCodegenUtil 2014-08-15 15:22:17 +04:00
Pavel V. Talanov
bc6c56080d Rewrite VirtualFileKotlinClassFinder to Kotlin 2014-08-15 15:22:16 +04:00
Pavel V. Talanov
92b29a8fe7 Rewrite KotlinClassFinder to Kotlin 2014-08-15 15:22:15 +04:00
Pavel V. Talanov
15028b76ef Always provide not null project in scope for JavaClassFinderImpl 2014-08-15 15:22:14 +04:00
Pavel V. Talanov
cb02f6223b Stdlib: javaClass() type parameter has Any upperbound 2014-08-14 20:54:14 +04:00
Pavel V. Talanov
5652b7f521 Fix usages of javaClass property 2014-08-14 19:59:23 +04:00
Pavel V. Talanov
bcaddd7143 Stdlib: javaClass type parameter has Any upperbound 2014-08-14 19:59:22 +04:00
Alexander Udalov
2284e3de5a Decompose Intrinsics#checkParameterIsNotNull to make it JIT-able
#KT-5635 Fixed
2014-08-14 12:48:16 +04:00
Alexander Udalov
99d4f97aef Fix access to top level delegated property from another property
#KT-5612 Fixed
2014-08-14 10:43:50 +04:00
Alexander Udalov
9e971ed2b9 Minor, add test on enum assignability to kotlin.Enum 2014-08-13 17:19:56 +04:00
Alexander Udalov
226bfe65f0 Don't make traits and annotations inherit from KObject
#KT-5609 Fixed
2014-08-13 17:19:56 +04:00
Alexander Udalov
47d5f83d04 Report unmet trait requirements
#KT-3006 Fixed
2014-08-13 17:19:55 +04:00
Alexander Udalov
18ca935558 Set +x permissions on unzipped bootstrap compiler 2014-08-13 17:19:55 +04:00
Alexander Udalov
9c00e1c94d Scripts: coerce result to the actual expression type
#KT-5622 Fixed
2014-08-13 17:19:53 +04:00
Alexander Udalov
6e46bea821 Minor, rename local variable 2014-08-13 17:19:52 +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
4ff6a627d0 Get rid of isConstructorOfStaticNestedClass()
This value can always be computed in ConstructorDescriptorImpl#initialize
2014-08-13 15:13:23 +04:00
Alexander Udalov
415fe7a5e6 Initial support for classes in scripts and REPL 2014-08-13 15:13:22 +04:00
Alexander Udalov
c873806b54 Refactor "incomplete line" handling in REPL tests 2014-08-13 15:13:21 +04:00
Alexander Udalov
9f718005b9 Convert AbstractReplInterpreterTest to Kotlin 2014-08-13 15:13:21 +04:00
Alexander Udalov
77417639ef Rename AbstractReplInterpreterTest file to .kt 2014-08-13 15:13:20 +04:00
Alexander Udalov
c6dfa866cd Refactor REPL tests: use empty line instead of "null" 2014-08-13 15:13:19 +04:00
Alexander Udalov
44246349a5 Minor, inline ReplSessionTestFile 2014-08-13 15:13:19 +04:00
Alexander Udalov
f4b8874efa Refactor REPL tests
Drop SimpleLinesParser, simplify logic
2014-08-13 15:13:18 +04:00
Alexander Udalov
125985c91d Minor, add assertion message 2014-08-13 15:13:18 +04:00
Alexander Udalov
d373c09cfb Generate REPL interpreter tests 2014-08-13 15:13:17 +04:00
Alexander Udalov
9ae95c1e5c Generate codegen tests on scripts 2014-08-13 15:13:17 +04:00
Nikolay Krasko
6b6133be41 Add output of idea-analysis to plugin artifact 2014-08-13 13:55:28 +04:00
Alexey Kudravtsev
eb5f1a9953 checkers, annotators and dependencies moved to idea-analysis module 2014-08-13 13:27:12 +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
807cf1dcc0 Don't pass "-verbose" by default to compiler in IDE
Let user pass it in the settings. Currently doesn't affect anything since
apparently no verbose messages appear in the IDE compiler output
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
6258e08011 KDoc: drop "-docOutput" CLI argument
It was never supported in kdoc-cli. It is still supported as an argument in
kdoc-maven-plugin
2014-08-13 11:10:40 +04:00
Alexander Udalov
96b7ad075c Minor, use a simple MessageCollector in ScriptTest 2014-08-13 11:10:40 +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
fbc8361211 Minor, fix style issues in kotlin-maven-plugin 2014-08-13 11:10:39 +04:00
Alexander Udalov
6533c49f6d Minor, refactor integration tests 2014-08-13 11:10:39 +04:00
Alexander Udalov
3ca6c8615b Reorganize integration test data 2014-08-13 11:10:39 +04:00
Alexander Udalov
8e17557f5c Ant task: split tests into JVM and JS 2014-08-13 11:10:38 +04:00
Alexander Udalov
9c906836f3 Ant task: drop "module" support, drop unused compiler plugins code
Modules should only be used in IDE and the compiler is launched there directly
2014-08-13 11:10:38 +04:00
Alexander Udalov
9c792bacfa Ant task: drop "jar" parameter
"output" should be used instead, analogous to "-d" in kotlinc-jvm
2014-08-13 11:10:38 +04:00
Alexander Udalov
4d25caa2e8 Ant task: fix unneeded exception wrapping 2014-08-13 11:10:38 +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
Alexander Udalov
991c33d236 Gradle plugin: fix wrong external NotNull annotation 2014-08-13 11:10:37 +04:00
Alexander Udalov
423a48c7c3 Gradle tests: output compiler process stdout and stderr 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
Pavel V. Talanov
aa02388aa0 Merge j2k and j2k-tests modules 2014-08-12 21:13:45 +04:00
Nikolay Krasko
508186ed90 Merge pull request #507 from zarechenskiy/injector-generator
Injector generator for Eclipse
2014-08-12 20:22:41 +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
zarechenskiy
34bf3d7f0e Supress warnings in injectors using "all" parameter, not "ALL"
This parameter value supports by IDEA and Eclipse
2014-08-12 13:11:21 +04:00
zarechenskiy
c1e0b167c1 Add sources to injector-generator artifact 2014-08-12 13:11:10 +04:00
zarechenskiy
a28bb57bed Keep javax.inject.Inject annotation in compiler after shrink
To generate injectors in Eclipse
2014-08-12 13:10:29 +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
Alexey Kudravtsev
55470737bd update idea to 138.1510, introduce module "analysis" 2014-08-11 16:45:23 +04:00
Alexander Udalov
e20caef8c1 Regenerate tests 2014-08-11 14:33:31 +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
Michael Nedzelsky
12db8f1551 JS backend: support for explicit delegation
#KT-4479 Fixed
2014-08-09 10:24:02 +04:00
Michael Nedzelsky
82af542747 JS backend: convert PropertyTranslator to Kotlin 2014-08-09 10:23:59 +04:00
Michael Nedzelsky
b20e413883 JS backend: add NotNull annotations 2014-08-09 10:23:55 +04:00
Zalim Bashorov
fe4a4e712a JS backend: native trait exists only at compile time. 2014-08-08 21:26:43 +04:00
Zalim Bashorov
ac4ffd7d2c JS backend: fixed accessing to nested native "elements".
#KT-4298 fixed
2014-08-08 21:26:43 +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
4f4ab9b3b8 Delete obsolete SignatureMarkerProviderTest 2014-08-08 19:50:59 +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
Pavel V. Talanov
b02d4b0669 Utilities to resolve Java methods and fields 2014-08-08 19:50:56 +04:00
Pavel V. Talanov
1488584acf Rewrite JavaDescriptorResolver to Kotlin 2014-08-08 19:50:55 +04:00
Andrey Breslav
1de3ba9265 Minor. JavaDescriptorResolver renamed to .kt to preserve history 2014-08-08 19:50:53 +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
Valentin Kipyatkov
3e051d617c Code completion: named parameter completion made not contributor 2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
c9b3c97ff5 Code completion refactoring: keyword completion made with no special contributor 2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
b5058fa7fd Do not shown inaccessible symbols on auto-popup 2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
9168f0a91a Completion refactoring: got rid of JetPackagesContributor 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
e848fee7a1 Completion refactoring: got rid of JetExtensionReceiverTypeContributor 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
8d8f22636c Completion refactoring: separated smart and basic completion's code 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
3e5b7cc2a6 Completion: all elements are first collected and then flushed to result set 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
61cb360762 Completion refactoring: no result set exposed in wrapper 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
58482066c4 Dropped code that did nothing 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
7c523df1ca Refactoring code in completion 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
727b4c56d0 Converted more completion code to Kotlin 2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
620c018b54 Converted more completion code to Kotlin 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
7219a521d7 Converted more completion code to Kotlin 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
3f62a96028 Converting completion code to Kotlin 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
bc7b2307f6 Completion: minor 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
5b06d4c4c8 JetLookupObject renamed to DeclarationLookupObject 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
7f0075abbd Completion: more correct detection of keyword items on sorting 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
448c3008f5 Completion: moved sorting to another package and renamed 2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
752a6cef0d Completion: converted all weighers to Kotlin merging them into one file 2014-08-07 21:55:12 +04:00
Valentin Kipyatkov
3d523ba325 Refactored code 2014-08-07 21:55:12 +04:00
Valentin Kipyatkov
6221de9849 KT-5157 Code completion named parameter items should have lowest priority
KT-4157 Auto-popup code completion pre-selects wrong item

 #KT-5157 Fixed
 #KT-4157 Fixed
2014-08-07 21:55:12 +04:00
Natalia Ukhorskaya
f4a0031cf0 Minor: fix warnings 2014-08-07 15:43:48 +04:00
Natalia Ukhorskaya
de7b6cb3a1 Evaluate expression: support EE on method with expression body, on properties
#KT-5485 Fixed
2014-08-07 15:43:47 +04:00
Natalia Ukhorskaya
3a7f66b7eb Evaluate expression: fix exception when default package is used
#KT-5555 Fixed
2014-08-07 15:43:46 +04:00
Natalia Ukhorskaya
6fa4d8fc83 Evaluate expression: Don't evaluate something when it is not an expression
#KT-5561 Fixed
2014-08-07 15:43:45 +04:00
Alexey Kudravtsev
8f388c49c2 js.frontend new module 2014-08-07 08:51:10 +04:00
Alexey Kudravtsev
894a7162c9 javadoc 2014-08-07 08:51:08 +04:00
Alexey Sedunov
401b53d690 Extract runReadAction/runWriteAction utility functions 2014-08-05 18:18:43 +04:00
Alexey Sedunov
9fee8600cb Pseudocode: Do not generate implicit return instruction inside of
Unit-typed lambdas
 #KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Alexey Sedunov
17dd5b9d05 Move: Do not update Kotlin usages of extension members, add imports instead
#KT-5378 Fixed
2014-08-05 18:14:39 +04:00
Evgeny Gerashchenko
99ecb82ce0 Simpler byte code generated for comparison with null and zero.
Analogous byte code is generated by Javac.
2014-08-05 16:29:03 +04:00
Evgeny Gerashchenko
d0d7cb1ad7 Enabled inlining and optimization in bytecode tool window by default. 2014-08-05 14:22:58 +04:00
Denis Zharkov
e0ced7cbcf Boxing values merge fix. #KT-5588 Fixed
When merging Boxed value and something else just return MIXED_VALUE
2014-08-05 13:54:42 +04:00
Evgeny Gerashchenko
81f7ace128 Reverting internal mode state in tearDown of JetPsiChecker tests. 2014-08-04 18:56:13 +04:00
Evgeny Gerashchenko
89349b19ac Enabled Kotlin internal mode in IDEA run configurations. 2014-08-04 18:46:28 +04:00
Evgeny Gerashchenko
393afd1bc1 Enabled Kotlin internal mode in JetPsiChecker tests. 2014-08-04 18:35:14 +04:00
Evgeny Gerashchenko
a4bbe2486c Fixed collecting source files for multiple modules in incremental compilation.
Error led to analyzing same file twice.
2014-08-04 13:38:37 +04:00
Evgeny Gerashchenko
f2b1879aae Added test for KT-1735 Can't access "assert" function from stdlib
#KT-1735 fixed
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
2c7ec8a7ae KT-5531 Introduce separate 'kotlin.internal.mode' property and use it to trigger red/black rectangles and debug information in error tooltips
#KT-5531 fixed
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
d4d25f6ed0 "Copy as Diagnostic Test" is visible only in internal mode. 2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
f32aecb8ff Moved "Copy as Diagnostic Test" to Tools -> Kotlin.
Renamed class and done some cleanup.
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
670f135c75 KT-5522 Rename refactoring on implicit lambda parameter 'it' should be allowed
#KT-5522 fixed
2014-08-04 13:38:35 +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
Michael Nedzelsky
145aa5a276 JS backend: tests for reflection support 2014-07-30 17:50:16 +04:00
Michael Nedzelsky
cc98664832 JS backend: support for reflection 2014-07-30 17:50:13 +04:00
Michael Nedzelsky
c42a9840de JS backend: add support for reflection types 2014-07-30 17:50:11 +04:00
Svetlana Isakova
b3ad725e8d Added 'getParameterForArgument' util function (using resolved call)
Removed similar util methods (using psi):
getParameterCorrespondingToValueArgumentPassedInCall
getParameterCorrespondingToFunctionLiteralPassedOutsideArgumentList
2014-07-30 17:14:01 +04:00
Svetlana Isakova
2ae87cae4a Function literal expression outside the parentheses wrapped into JetFunctionLiteralArgument
Extracted JetFunctionLiteralArgument.moveInsideParenthesesAndReplaceWith util function
2014-07-30 17:14:00 +04:00
Svetlana Isakova
4477a96ca7 Resolve operation (unary, array access) on error element instead of ignoring it
(to record corresponding call for later simplification in control flow)
Generate code for unmapped arguments in control flow
2014-07-30 17:14:00 +04:00
Svetlana Isakova
3cc02c57fc Refactoring: moved methods to call util 2014-07-30 17:07:10 +04:00
Svetlana Isakova
fb4c256d08 Added tests for choosing 'most specific' resolution candidate
Fixed test (while resolve with library on android): 'run' resolves to library function
2014-07-30 17:07:10 +04:00
Svetlana Isakova
eca2c7beea Added tests on resolved calls
for annotation entry, delegator to super call, array access
2014-07-30 17:07:10 +04:00
Svetlana Isakova
22624186f6 Added tests for 'super' resolved calls 2014-07-30 17:07:09 +04:00
Svetlana Isakova
11ea241efb Render candidate and resulting descriptors in resolved call tests 2014-07-30 17:07:09 +04:00
Pavel V. Talanov
bff579dd1e Stdlib minor: Remove unused ChangeEvent#propogationId 2014-07-29 21:01:18 +04:00
Pavel V. Talanov
f678918b86 Stdlib minor: Remove unused AbstractIterator#peek() 2014-07-29 21:01:16 +04:00
Pavel V. Talanov
e4de6f5e31 Stdlib minor: Make kotlin.support.State enum 2014-07-29 21:01:14 +04:00
Pavel V. Talanov
7f173fe764 Fix most of the missing visibilities in stdlib
Specify visibilities and reformat surrounding code
Add test checking that there is no internal visibility specified in stdlib sources
Internal visibility does not make sense in stdlib
because it is either missed public or private would be more appropriate
2014-07-29 21:01:12 +04:00
Pavel V. Talanov
af616e731b Fix DescriptorUtils#getContainingModule 2014-07-29 21:01:11 +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
Nikolay Krasko
61b70d287e Update to 138.1283.4 EAP 2014-07-29 16:28:36 +04:00
Evgeny Gerashchenko
8a84446458 Merge pull request #502 from bintree/master
#KT-5513 Fixed
2014-07-29 15:13:44 +04:00
Evgeny Gerashchenko
90b065e82b += tests fix 2014-07-29 12:06:36 +04:00
Denis Zharkov
b86affaa3a Assignment operations test fix:
x is a byte, x += 2 translated to x = x+2, but type of (x+2) currently
is Int, so it's not compiled because Int can't be stored in Byte.

Maybe we need to think about what should be a result of sum of to
Bytes, but currently it's still Int
2014-07-28 22:00:15 +04:00
Denis Zharkov
c4746bc90f Assignment operations test fix:
these methods used in expressions like a = a + b, so they need to return
NotNull when receiver is NotNull
2014-07-28 22:00:15 +04:00
Denis Zharkov
48ca1bd453 Assignment operations test fix:
type infered for these vals are MutableIterator, but there is no plus (returning MutableIterator)
nor plusAssign operator for them, so I casted them explicitly to Iterator
2014-07-28 22:00:15 +04:00
Denis Zharkov
76845a76b9 Fixed KT-4814: check type when a += b is a = a+b
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
2014-07-28 22:00:14 +04:00
Valentin Kipyatkov
2b67716e95 KT-5153 Smart completion should include objects from type
#KT-5153 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
be0e78b11a Fixed one more case of no-auto-insertion after "as" 2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
7546a17539 KT-4914 Smart completion should work after 'as' and 'as?'
#KT-4914 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
32dbed602a KT-4913 Smart completion should work after '!'
#KT-4913 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
19999e6879 Smart completion for implicitly typed function body 2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
91c983706a Fixed KT-5020 Smart completion should work at the initializer of a val with no explicit type
#KT-5020 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
ca25a3feaa Simplified code 2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
67df7de7b1 Fixed KT-5110 Smart completion: do not generate comma if next argument has default value
Fixed KT-5109 Smart completion: do not insert comma if next argument is vararg

 #KT-5110 Fixed
 #KT-5109 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
bddb01888a Fixed KT-5158 Smart completion for when selector: do not include subject variable
#KT-5158 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
595ef9f1d4 Fixed KT-5168 Smart completion includes null when comparing non-nullable value
#KT-5168 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
81393c999b Fixed KT-5231 Smart completion does not insert comma in super constructor argument list
KT-5231 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
c8c8b477ef Added test for KT-5272 which is not reproduced 2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
d6b12187c2 Fixed KT-5341 Code completion of class declared locally inserts its "qualified name"
#KT-5341 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
25a212e923 Converted JetClassInsertHandler to Kotlin 2014-07-28 18:52:57 +04:00
Alexey Sedunov
9cbcabffa4 Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis 2014-07-28 13:07:37 +04:00
Alexey Sedunov
2a19016d58 Pseudocode: Add test for parenthesized call in selector 2014-07-28 13:07:34 +04:00
Alexey Sedunov
85bb4f9b8e Pseudocode: Generate read instructions on call expression (instead of
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov
9f3ebe5f3b Pseudocode: Generate merge instruction regardless of number of branches 2014-07-28 13:07:32 +04:00
Alexey Sedunov
d008cb8c21 Pseudocode: Do not regenerate receiver values 2014-07-28 13:07:30 +04:00
Alexey Sedunov
77bbf8f73b Pseudocode: Generate fake values for Unit/Nothing-typed expressions 2014-07-28 13:07:29 +04:00
Alexey Sedunov
2d3ac9109b Pseudocode: Generate synthetic VALUE_CONSUMER for both property and class delegates 2014-07-28 13:06:46 +04:00
Alexey Sedunov
d07deeb5fb Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns 2014-07-28 13:04:02 +04:00
Alexey Sedunov
b0bf11c51e Pseudocode: Consume value of true condition in while-loop 2014-07-28 13:04:01 +04:00
Alexey Sedunov
e11ffb8542 Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov
c32d112e67 Pseudocode: Generate magics for cast expressions 2014-07-28 13:03:12 +04:00
Alexey Sedunov
00dd1dbb0b Control-Flow Analysis: Compute STATEMENT slice using control-flow information 2014-07-28 13:03:10 +04:00
Alexey Sedunov
ffd4af872c Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists 2014-07-28 13:03:09 +04:00
Alexey Sedunov
267ea81bbe Pseudocode: Avoid null input values 2014-07-28 13:03:07 +04:00
Alexey Sedunov
8083ffad47 Pseudocode: Add mapping from pseudo-values to PSI elements 2014-07-28 13:03:06 +04:00
Alexey Sedunov
4f54d833d3 Pseudocode: Generate instructions for callable reference expressions 2014-07-28 13:03:05 +04:00
Alexander Udalov
fd27518070 Fix build tool plugins after recent changes to CLI 2014-07-26 02:28:51 +04:00
Alexander Udalov
8ed2413395 Minor, use javaClass instead of getClass()
Fix Maven build
2014-07-26 01:34:42 +04:00
Alexander Udalov
c24c799819 Fix NoSuchMethodError on private components of data classes
A follow-up to
d5681540ec
2014-07-26 01:31:11 +04:00
Alexander Udalov
c69303fd1d Fix lots of deprecation warnings on ASM code
In the vast majority of cases it's known that we're calling a class method and
not an interface method
2014-07-26 01:05:03 +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
9908d797e0 Minor, fix LoadBuiltinsTest test data 2014-07-26 00:27:31 +04:00
Alexander Udalov
6755e7ec2e Drop hack for OBJECT$/INSTANCE$ migration 2014-07-26 00:22:38 +04:00
Alexander Udalov
de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Alexander Udalov
549a38ca6f Minor, widen the scope for INSTANCE$/OBJECT$ replacement 2014-07-25 21:53:03 +04:00
Alexander Udalov
133b2918e1 Drop a hack which allowed to make Unit an object 2014-07-25 21:45:15 +04:00
Alexander Udalov
93fa7cb330 Increase ABI version
Related changes include:
- kotlin.Unit is now a named object
- "instance$" was renamed to "INSTANCE$"
- "object$" was renamed to "OBJECT$"
- Intrinsics#stupidSync() was dropped
2014-07-25 21:34:12 +04:00
Alexander Udalov
98ffdb3e32 Minor, delete Object from some test data 2014-07-25 21:19:39 +04:00
Alexander Udalov
a5321ba9f0 Drop deprecated Intrinsics#stupidSync 2014-07-25 21:19:39 +04:00
Alexander Udalov
fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov
f3309d1fa7 Don't ignore methods of Object in tests
Ignore methods of kotlin.Any instead
2014-07-25 21:19:39 +04:00
Alexander Udalov
cdbdfaf182 Make Pair and Triple data classes 2014-07-25 21:19:38 +04:00
Alexander Udalov
5dc37217c8 Remove Object from supertypes in LoadJava testData 2014-07-25 21:19:38 +04:00
Alexander Udalov
a79398fa00 Don't load Object as a supertype for Java classes
#KT-4890 In Progress
 #KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov
bea740b478 Use javaClass instead of getClass() 2014-07-25 21:19:37 +04:00
Svetlana Isakova
8c13a76805 KT-5527 Double TYPE_MISMATCH diagnostic when returns object
#KT-5527 Fixed
2014-07-25 21:17:31 +04:00
Alexander Udalov
485f63e1cd Rename object$ -> OBJECT$, instance$ -> INSTANCE$
According to Java code conventions, public static final constants should be
named with all capital letters
2014-07-25 21:15:13 +04:00
Alexander Udalov
1168cf62bf Don't list symbols from test data in "Go to symbol"
#KT-4094 Fixed
2014-07-25 21:15:03 +04:00
Pavel V. Talanov
9c58cb9f31 Pass project explicitly to JetSourceFilterScope 2014-07-25 21:15:03 +04:00
Pavel V. Talanov
3f7050635c Builtins: check for function and extension function types by fq names
As opposed to checking by descriptor
2014-07-25 21:15:03 +04:00
Zalim Bashorov
a811de9bbd Minor: Unit.VALUE -> Unit in Java code. 2014-07-25 21:03:10 +04:00
Svetlana Isakova
16dfdd2f03 Record type resolution scope for unresolved super type qualifier 2014-07-25 19:23:04 +04:00
Zalim Bashorov
c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Zalim Bashorov
4a8519615a Unit.VALUE -> Unit in code. 2014-07-25 17:16:40 +04:00
Zalim Bashorov
c85ec97589 Minor: revert dc68d78 (Minor: revert changes in StackValue and fix tes data. another fixes) 2014-07-25 17:16:40 +04:00
Zalim Bashorov
4514792104 Unit as object 2014-07-25 17:16:40 +04:00
Valentin Kipyatkov
3c33b7dcfa Fixed KT-5247 Java to Kotlin: convert java @interfaces into Kotlin annotation classes
#KT-5247 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
d7e857ed0a J2K: fixed bug 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
d154d2e25b Fixed assertion + refactored code making it more simple 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
b9bd5c8fb8 Fixed KT-5443 J2K converter crashes when code contains catch with multiple exception types
#KT-5443 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
957ffb0313 J2K: adding type arguments where they are needed and removing them where they are redundant 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
f836278acc J2K: Fixed conversion of <primitive type>.class
#KT-5428 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
a2fa5bc536 J2K: more correct set of annotations to drop 2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
fface785db J2K: moved part of code into special AnnotationConverter to make Converter.kt smaller 2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
ab3eca92db J2K: got rid from Converter.convertElement + fixed local classes conversion
#KT-5202 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
930022aaac J2K: correct conversion of nested class references
#KT-5294 Fixed
 #KT-5400 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
bcc36c4e48 Fixed KT-5383 J2K: preserve annotations from primary constructor + never drop constructors with annotations
#KT-5383 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
3527b186bf Fixed KT-5276 J2K: Convert calls to getClass() to javaClass property access
#KT-5276 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
ecb984352e J2K: supported synchronized, volatile, transient and strictfp
#KT-3678 Fixed
2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
4ec746a2e1 Added test for KT-3367 2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
dac1edc35f Java to Kotlin converter: "//file" in test data has made optional 2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
08d7b64160 Java to Kotlin converter: added tests for 2 old issues 2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
276d1dcf14 Java to Kotlin converter: code refactorings after review 2014-07-25 16:54:22 +04:00
Alexander Udalov
ec6b158c0e Fix JS translator JPS runner 2014-07-24 21:44:21 +04:00
Alexander Udalov
485cc906a4 Fix Maven build due to recent changes to CLI arguments 2014-07-24 20:04:47 +04:00
Andrey Breslav
3a59465f29 Fixed outdated ReadMe.md 2014-07-24 13:47:47 +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
Denis Zharkov
c01512eb41 Do not optimize large methods. #KT-5513 Fixed 2014-07-23 14:13:23 +04:00
Evgeny Gerashchenko
7e6b05554e Always closing IncrementalCache after using. Fixed KannotatorJpsTest. 2014-07-22 21:18:16 +04:00
Evgeny Gerashchenko
714ad858ef Minor. Formatting and imports. 2014-07-22 21:18:16 +04:00
Evgeny Gerashchenko
5ef62dd5a5 Ignoring kannotator in testData. 2014-07-22 21:18:15 +04:00
Nikolay Krasko
b20b406d8e Fix problem in configuration with copy runtime jar
Jar with runtime wasn't copied to library with configured classpath if runtime jar was present in default directory.

Mute configure dialog for tests
2014-07-22 15:27:17 +04:00
Zalim Bashorov
ae4bac06b2 Merge pull request #500 from MichaelNedzelsky/kt5320
JS Backend: fixed associativity of JsCondition(ternary operator).

Fixed wrong code generation when use JsCondition(ternary operator) as condition of simple `if`(JsCondition).

#KT-5320 fixed
2014-07-22 15:17:43 +04:00
Zalim Bashorov
3f1038b110 Merge pull request #499 from MichaelNedzelsky/kt5345
JS backend: fixed KT-5345  -- type mismatch on Int / Float division.

 #KT-5345 fixed
2014-07-22 14:47:31 +04:00
Michael Nedzelsky
9456833a35 JS Backend: #KT-5320 Fixed (generated code for ternary operator) 2014-07-22 13:08:31 +04:00
Michael Nedzelsky
ee67546f8f JS backend: fix kt-5345 (Type mismatch on Int / Float division) 2014-07-22 12:43:03 +04:00
Pavel V. Talanov
740fe70b22 Fix ConvertAssertToIfWithThrowIntention to avoid shortening more references than intended 2014-07-21 18:52:31 +04:00
Pavel V. Talanov
f44ba60d51 Fix SimplifyBooleanWithConstantsIntention intention to avoid analyzing files created by JetPsiFactory 2014-07-21 18:52:30 +04:00
Pavel V. Talanov
1bc0a9dfd9 Fix InsertExplicitTypeArguments intention to insert imports for shortened types
#KT-5489 Fixed
2014-07-21 18:52:29 +04:00
Pavel V. Talanov
0462a018c5 Add test documenting a minor issue introduced in previous commit 2014-07-21 18:52:28 +04:00
Pavel V. Talanov
966da0b03f Fix ConvertAssertToIfWithThrowIntention
to not invoke ShortenReferences on file created by JetPsiFactory

 #KT-5476 Fixed
2014-07-21 18:52:27 +04:00
Pavel V. Talanov
1a5ba566cc Add test for the same pitfall for parameter types in MakeTypesExplicitInLambda 2014-07-21 18:52:26 +04:00
Pavel V. Talanov
e390385bf9 Fix shortening references for return type in MakeTypeExplicitInLambdaIntention
#KT-5475 Fixed
2014-07-21 18:52:25 +04:00
Pavel V. Talanov
5246735648 Fix shortening references for receiver in MakeTypeExplicitInLambdaIntention
#KT-5474 Fixed
2014-07-21 18:52:24 +04:00
Denis Zharkov
18cb479ef3 When2Switch: tests for non-literal expression in when by integral 2014-07-21 17:13:57 +04:00
Denis Zharkov
8d8c3d2b9e When2Switch: generate ifnonnull check for nullable values before *switch-opcode 2014-07-21 17:13:56 +04:00
Denis Zharkov
706bbd7b72 When2Switch: check if entry set is not empty 2014-07-21 17:13:56 +04:00
Denis Zharkov
d4cb822ee8 When by String constants:
Generate TABLESWITCH/LOOKUPSWITCH bytecode operation for when operator by String constants
2014-07-21 17:13:56 +04:00
Denis Zharkov
5a1c995b5c When by enum:
Generate TABLESWITCH/LOOKUPSWITCH bytecode command in case of "when" by enum entries
2014-07-21 17:13:55 +04:00
Denis Zharkov
b2aa249817 Refactoring of switches codegen parts 2014-07-21 17:13:41 +04:00
Denis Zharkov
dbd1ab8c67 Minor formatting and unused code deleted 2014-07-21 17:13:41 +04:00
Alexander Udalov
230ceb6221 Resurrect assert for property default values in FULL mode
Respond to
4980a33572 (commitcomment-7078429)

 #KT-5505 Fixed
2014-07-21 15:29:28 +04:00
Nikolay Krasko
3d51936b64 Merge pull request #498 from zarechenskiy/injector-generator
Add injector-generator to artifacts
2014-07-21 14:46:56 +04:00
zarechenskiy
31e2171f23 Add injector-generator to artifacts 2014-07-21 14:34:55 +04:00
Alexander Udalov
4980a33572 Fix unjustified assert in PropertyCodegen
#KT-5505 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
70adb0f4e2 Temporarily prohibit non-local returns for some stdlib functions
Make InlineUtil work with FQ names, not descriptors

 #KT-5496 Fixed
 #KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
540b87a1dc Support object array annotation arguments in deserialization 2014-07-19 02:13:26 +04:00
Alexander Udalov
d5681540ec Fix NoSuchMethodError for data classes with private parameters
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov
cf8e83f4f8 Minor, delete obsolete check
'superCall' is now never a JetDelegatorByExpressionSpecifier, so the check is
useless
2014-07-19 02:13:25 +04:00
Alexander Udalov
abf46d593c Fix incorrect test data 2014-07-19 02:08:24 +04:00
Alexander Udalov
93fdf3a254 Minor, extract FrameMap creation in FunctionCodegen 2014-07-18 16:26:48 +04:00
Alexander Udalov
33f7d6e3ef Get rid of a questionable TImpl hack in ImplementationBodyCodegen
Move getTraitImplThisParameterType closer to the only left usage in
JetTypeMapper
2014-07-18 16:26:47 +04:00
Alexander Udalov
c25d72d240 Drop CodegenBinding#enclosingClassDescriptor() 2014-07-18 16:26:47 +04:00
Alexander Udalov
78bdcae65e Delete unreachable code in ImplementationBodyCodegen
Change superCall type to JetDelegatorToSuperCall
2014-07-18 16:26:47 +04:00
Alexander Udalov
1949e24ffa Get rid of ConstructorFrameMap, drop CodegenContext#prepareFrame()
Also refactor FunctionGenerationStrategy to take FrameMap as an instance
instead of creating it in a subclass
2014-07-18 16:26:46 +04:00
Alexander Udalov
65c21561a4 Fix super constructor calls of anonymous objects and local classes
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.

Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).

Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor

 #KT-3581 Fixed
 #KT-5342 Fixed
 #KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov
b85a672052 Minor, combine ENUM_NAME and ENUM_ORDINAL parameter kinds 2014-07-18 16:26:42 +04:00
Alexander Udalov
0caf0cffab Minor, extract method JetTypeMapper#writeParameter 2014-07-18 16:26:41 +04:00
Alexander Udalov
b29f3dddeb Minor, rename parameter 2014-07-18 16:26:41 +04:00
Alexander Udalov
288bbcae36 Refactor ExpressionCodegen#invokeMethodWithArguments
- for inlining purposes, take ResolvedCall.getCall() instead of a separate
  parameter
- split into two methods, the other one will be used for a more granular code
  generation of a method call
2014-07-18 16:26:40 +04:00
Alexander Udalov
04b54e9cb7 Simplify ExpressionCodegen#generateConstructorCall
Don't go through StackValue.CallReceiver because it handles a variety of cases
when a callable descriptor has a receiver argument, an expected this object, or
both. Constructors can't have receiver arguments, so the resulting code is
greatly simplified
2014-07-18 16:26:40 +04:00
Alexander Udalov
62ce4a034b Increase maximum heap size for Codegen Tests on Android
Also include all other arguments from "All Tests"
2014-07-18 04:11:18 +04:00
Alexander Udalov
eb448627e1 Minor, delete unused method in JvmCodegenUtil 2014-07-17 19:18:06 +04:00
Alexander Udalov
eaeb976903 Access private class property via field in Evaluate Expression 2014-07-17 19:18:05 +04:00
Alexander Udalov
a07909bb52 Don't generate unnecessary accessors for private class properties 2014-07-17 19:18:05 +04:00
Alexander Udalov
4bdf7e3426 Use direct field access to trivial class properties
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Alexander Udalov
1555a3756c Refactor and comment JvmCodegenUtil#couldUseDirectAccessToProperty()
Logic hasn't changed except the deleted isTopLevelDeclaration() call which
always returned false in this case because we checked that it's a class
property earlier
2014-07-17 19:18:05 +04:00
Evgeny Gerashchenko
79bb433810 Merge pull request #497 from bintree/master
Fixed KT-5493: NPE fix
2014-07-17 18:46:48 +04:00
Denis Zharkov
0b2b8ba816 Fixed KT-5493: NPE fix 2014-07-17 18:43:44 +04:00
Alexander Udalov
da3fcae2ba Fix "optimizations" check box in bytecode toolwindow 2014-07-17 15:45:56 +04:00
Denis Zharkov
149ffdc8b9 Analyzer error handling: fix for printing bytecode in case of exception within optimization package 2014-07-17 15:37:07 +04:00
Ilya Ryzhenkov
ea9e4375b0 Merge pull request #495 from JetBrains/rr/stdlib_maps
Map-related fixes and improvements in stdlib.
2014-07-17 01:30:24 +04:00
Ilya Ryzhenkov
3980664049 Tests for map functions. 2014-07-16 21:35:12 +04:00
Ilya Ryzhenkov
37874556ae Use different file for navigation test because of test framework limitation. 2014-07-16 21:35:11 +04:00
Ilya Ryzhenkov
af8d0f7b9e Fix assertion arguments. 2014-07-16 21:35:11 +04:00
Zalim Bashorov
14ab3c4de1 JS stdlib: allowed use null as key and value in Map implementations. Added tests for using null in Set and Map implementations. 2014-07-16 21:35:11 +04:00
Zalim Bashorov
223a14a855 Moved MutableMap.set from Maps.kt to MapsJVM.kt to avoid ambiguity when compile MapTest.kt by JS backend. 2014-07-16 21:35:10 +04:00
Zalim Bashorov
9b081fd254 Minor: assert -> assertTrue 2014-07-16 21:35:10 +04:00
Ilya Ryzhenkov
4ea62071b5 Split tests into platform-independent and JVM. 2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
8cfbaf4749 Add StdLibMapTest, fix naming to convention StdLib* tests. 2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
a9da7cfeea Use LinkedHashMap everywhere to preserve order. 2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
cb17f0c635 Remove map iteration from ListSpecificTest - JS fails, but it is irrelevant to test. 2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
2855741572 Map.Entry.toPair 2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
0e656ce3ce collection.toMap(selector) 2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
3491c88793 Recover test for mutable List variable and move it to ListSpecificTests 2014-07-16 21:35:07 +04:00
Ilya Ryzhenkov
ce5f7e9d61 Breaking change. Map operations revisited. 2014-07-16 21:35:07 +04:00
Ilya Ryzhenkov
4167359c08 Map.filter() returns Map instead of List of Entries 2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
6849fb8358 Map.toList() returns List of Pairs instead of List of Entries. 2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
7273f223f4 Remove Map.groupBy 2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
295ce5fdf8 Unify substringBefore/After and related functions, so that they always return receiver in case of missing delimiter by default. 2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
e22ff87d81 Make LINE_SEPARATOR lazy property to not kick-in before system is setup. 2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
2b6fcc0b7c singleOrNull methods should never throw exception #KT-5424 Fixed 2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
d4db837dec Fix fails() assertion which was silently swallowing exceptions. 2014-07-16 21:10:32 +04:00
Nikolay Krasko
0b7699b844 Fix silence turning integers with leading zero into doubles
#KT-4296 Fixed
2014-07-16 18:35:19 +04:00
Natalia Ukhorskaya
73e0ae1d1c Evaluate expression: support captured vals 2014-07-16 15:17:44 +04:00
Natalia Ukhorskaya
6440884a40 Add tests for tracing frame 2014-07-16 15:17:44 +04:00
Zalim Bashorov
670e71bdd6 Minor: update link to Kotlin website. 2014-07-15 23:50:30 +04:00
Denis Zharkov
0e683b0b99 Added "optimize" flag to settings everywhere 2014-07-15 21:34:32 +04:00
Denis Zharkov
433c9cd4a5 Fixed test in evaluateExpression (redundant boxing was removed) 2014-07-15 21:26:54 +04:00
Denis Zharkov
602e60f72e Merge conditions refinement 2014-07-15 21:26:54 +04:00
Denis Zharkov
0f5e29df9b tests added 2014-07-15 21:26:53 +04:00
Denis Zharkov
e53e4fe257 fixed isSafeCast, so it doesn't use Class.forName() 2014-07-15 21:26:53 +04:00
Denis Zharkov
498e5ec192 Minor refactoring: analyze-method added 2014-07-15 21:26:53 +04:00
Denis Zharkov
a412a96ff3 Changed strategy from enumeration of unsafe operations to permitted + INSTANCEOF added 2014-07-15 21:26:52 +04:00
Denis Zharkov
69d8d07a05 Refactoring: reordering methods to usage places 2014-07-15 21:26:52 +04:00
Denis Zharkov
ebfd257408 Refactoring: extracted common logic of working with local variable table into getValuesStoredOrLoadedToVariable 2014-07-15 21:26:52 +04:00
Denis Zharkov
0f0d07c9fe Refactoring: extracted specific logic into RedundantBoxedValuesCollection class 2014-07-15 21:26:51 +04:00
Denis Zharkov
cb3eef4b86 Optimization of type conversion with boxed values (transform Integer.valueOf(x). .. .longValue() -> I2L and etc) 2014-07-15 21:26:51 +04:00
Denis Zharkov
270e58cf4e Do not remove boxing when possibly unsuccessful CHECKCAST is performed 2014-07-15 21:26:50 +04:00
Denis Zharkov
779e2a096e Support for IFNONNULL opcode in RedundantNullCheckMethodTransformer 2014-07-15 21:26:50 +04:00
Denis Zharkov
b1a54a424e Fixes after review 2014-07-15 21:26:50 +04:00
Denis Zharkov
d604b5de79 Added wrappers classes names to JvmPrimitiveType 2014-07-15 21:23:51 +04:00
Denis Zharkov
ed445f6488 dealing with ranges 2014-07-15 21:23:51 +04:00
Denis Zharkov
ee87b11723 Dealing with case when boxing value is being stored in a variable 2014-07-15 21:23:51 +04:00
Denis Zharkov
b2eaac4468 Added unsafe opcodes check for boxed values 2014-07-15 21:23:51 +04:00
Denis Zharkov
485ac3f809 Minor, fixes after review 2014-07-15 21:23:51 +04:00
Denis Zharkov
3dea4bc07d Minor, added Contract to JetPsiUtil.deparenthesize() 2014-07-15 21:23:51 +04:00
Denis Zharkov
9aa5e85bde Redundant null check of boxed values detecting and cleaing out 2014-07-15 21:23:50 +04:00
Denis Zharkov
69436b64fc Specialized code generation for safe qualified expression when it's within elvis or another safe-call. In such cases instead of generating ACONST_NULL, if reciever is null, just fall back to null-handler's label of the outer expression 2014-07-15 21:23:50 +04:00
Denis Zharkov
11af678767 Fixes after integration tests 2014-07-15 21:23:50 +04:00
Denis Zharkov
3fa5fc7b11 Tests updated after integration with optimization subsystem 2014-07-15 21:23:50 +04:00
Denis Zharkov
feb0918d99 integration into codegen system 2014-07-15 21:23:50 +04:00
Denis Zharkov
1ecca9f40b initial 2014-07-15 21:23:50 +04:00
Alexander Udalov
2cb2b05b38 Minor, update library source paths after IDEA update 2014-07-15 20:33:55 +04:00
Pavel V. Talanov
fc164d5ca0 Minor: add missing static imports for PsiPackage.JetPsiFactory 2014-07-15 16:41:14 +04:00
Pavel V. Talanov
ee036770c3 Add JetPsiFactory(JetElement) function and use it 2014-07-15 16:41:13 +04:00
Pavel V. Talanov
7269e383cf Rewrite JetPsiFactory to kotlin, make project a property
Instead of passing to every function
All static methods are now member functions
2014-07-15 16:41:12 +04:00
Pavel V. Talanov
307522ddd2 Rename JetPsiFactory to preserve history 2014-07-15 16:41:09 +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
Alexander Udalov
315b68ce56 Refactor and rename ExpressionCodegen#generateFromResolvedCall 2014-07-14 20:44:39 +04:00
Alexander Udalov
c0d9bfe89f Minor, add nullability annotations, toString(), remove unused methods 2014-07-14 20:44:38 +04:00
Alexander Udalov
05baebfc27 Minor, store closure class name for debugging purposes
Strip package from the name up to the last slash, because slashes are not
allowed in a Name
2014-07-14 20:44:38 +04:00
Alexander Udalov
999e5f667a Minor, remove unreachable code in CodegenContext#intoConstructor 2014-07-14 20:44:37 +04:00
Alexander Udalov
295283dc40 Minor, remove code duplication in ImplementationBodyCodegen 2014-07-14 20:44:37 +04:00
Alexander Udalov
2a763598e7 Minor, delete outdated assertions in ImplementationBodyCodegen 2014-07-14 20:44:37 +04:00
Nikolay Krasko
7673443fe1 Show notification about outdated runtime even in internal mode 2014-07-14 17:33:41 +04:00
Nikolay Krasko
286a7f1812 Create single target for building artifacts to avoid running "dist" twice 2014-07-14 17:33:38 +04:00
Alexey Tsvetkov
dd3dbe5b10 JS backend: _commonFiles/ for common kotlin files in testData/ and every test dir 2014-07-11 22:36:20 +04:00
Svetlana Isakova
9b433e31a2 Update to idea 138.1029 (EAP) 2014-07-11 21:03:37 +04:00
Alexander Udalov
f3dc9733ec Update plugin API to IDEA 138.977+ 2014-07-11 21:03:37 +04:00
Alexander Udalov
bc9a8679c3 Update links to artifacts for IDEA trunk 2014-07-11 21:03:37 +04:00
Zalim Bashorov
dc68d78d9d Minor: revert changes in StackValue and fix tes data.
(this commit should be reverted after make Unit object)
2014-07-11 20:28:57 +04:00
Zalim Bashorov
9b36327046 Builtins: make Unit class to avoid binary compatibility problems. 2014-07-11 20:25:23 +04:00
Evgeny Gerashchenko
6182f2cf66 Clarified "Inapplicable annotation" error message. 2014-07-11 20:24:17 +04:00
Alexey Sedunov
487e7f2a91 Pseudocode: Replace {<: Any?} type predicate with * 2014-07-11 19:13:52 +04:00
Alexey Sedunov
3cd7a22535 Pseudocode: Stabilize type predicate order 2014-07-11 19:13:50 +04:00
Alexey Sedunov
4707f4a5e9 Pseudocode: Add debug information to magic instructions 2014-07-11 19:13:49 +04:00
Alexey Sedunov
d636d362b7 Pseudocode: Generate proper instructions for when conditions. Eliminate unnecessary magics 2014-07-11 19:13:46 +04:00
Alexey Sedunov
fd21b6cbe9 Pseudocode: Use call element stored in resolved calls to generate
call/read instructions
2014-07-11 19:13:45 +04:00
Alexey Sedunov
49edae7469 Extract Function: Do not report "non-denotable type" message on error types 2014-07-11 19:13:44 +04:00
Alexey Sedunov
f1445ba635 Extract Function: Improve container selection UI 2014-07-11 19:13:43 +04:00
Alexey Sedunov
1618d7448d Extract Function: Improve rendering of error messages 2014-07-11 19:13:41 +04:00
Alexey Sedunov
4734be2065 Emphasize Kotlin PSI descriptions used in IDEA refactorings 2014-07-11 19:13:40 +04:00
Alexey Sedunov
7430f10e96 Extract Function: Extract ParametersInfo class 2014-07-11 19:13:38 +04:00
Alexey Sedunov
a6882f6670 Extract Function: Exclude unused parameters (jump-based control flow) 2014-07-11 19:13:37 +04:00
Alexey Sedunov
fde7e52bf0 Extract Function: Always assume default control flow if non-critical errors are found 2014-07-11 19:13:36 +04:00
Alexey Sedunov
59b33fcba4 Extract Function: Do not report "Moving out of scope" warning on nested declarations 2014-07-11 19:13:35 +04:00
Alexey Sedunov
52c107504d Extract Function: Allow user to call the refactoring from conflict view 2014-07-11 19:13:34 +04:00
Alexey Sedunov
ac17594f67 Extract Function: Capitalize conflict messages 2014-07-11 19:13:33 +04:00
Alexey Sedunov
d95f6383b7 Extract Function: Allow to extract local variables which are used outside of extracted fragment 2014-07-11 19:13:32 +04:00
Alexey Sedunov
540e8b8b46 Extract Function: By default suggest only classes as containers when
etracting to class body
2014-07-11 19:13:31 +04:00
Alexey Sedunov
18b16ee0be Extract Function: Use Any? as default parameter type 2014-07-11 19:13:29 +04:00
Alexey Sedunov
181d8d8176 Extract Function: Improve "Extract Function" dialog 2014-07-11 19:13:28 +04:00
Alexey Sedunov
e792b3f1db Pseudocode: Do not store "synthetic" flag of magic instructions 2014-07-11 19:13:27 +04:00
Alexey Sedunov
0a8fa404bf Pseudocode: Generate additional returns for implicit return values (lambdas, functions with expression bodies) 2014-07-11 19:13:26 +04:00
Alexey Sedunov
3e3918ab6e Extract Function: Keep track of original parameter descriptors 2014-07-11 19:13:25 +04:00
Alexey Sedunov
09a1a8ce8f Extract Function: Support extraction of expressions in delegation
specifiers
2014-07-11 19:13:22 +04:00
Alexey Sedunov
1c75a5f642 Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause 2014-07-11 19:13:21 +04:00
Alexey Sedunov
523beab902 Pseudocode: Use value usage map to decide if expression is effective statement 2014-07-11 19:13:19 +04:00
Alexey Sedunov
02342fce5d Pseudocode: Store lazily computed value usage map in the pseudocode 2014-07-11 19:13:18 +04:00
Alexey Sedunov
30192b4c40 Extract Function: Do not extract into lambda 2014-07-11 19:13:17 +04:00
Alexey Sedunov
0c49d48a48 Extract Function: Add support of initializer expressions 2014-07-11 19:13:16 +04:00
Evgeny Gerashchenko
026bc05a86 Fixed @Nullable annotation. 2014-07-11 15:39:20 +04:00
Evgeny Gerashchenko
42e3ad3ccf Reused utility method getDirectMember. 2014-07-11 14:54:12 +04:00
Evgeny Gerashchenko
708816f09c Fixed generating method calls from same module when inlining. 2014-07-11 14:54:12 +04:00
Valentin Kipyatkov
6f1bdd1227 Java to Kotlin converter: added blank line between main method and class 2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
fea36048f5 Java to Kotlin converter: better and more correct code 2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
3765a67a72 Java to Kotlin converter: removed unused class 2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
bf952198b5 Java to Kotlin converter: refactoring 2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
8a7639e233 Java to Kotlin converter: used standard utility for main method detection 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
d5f0af15c3 Java to Kotlin converter: fixed some bugs in switch statement conversion 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
2df60a27c8 Better code for change variable mutability fix 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
b983a0eaa0 Fixed KT-5204 Converter from java could generate var's for locals when needed
#KT-5204 Fixed
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
acc58173da Java to Kotlin converter: added auto-conversion run of Kotlin analyzer. Implemented first fix with it - redundant !! removal 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
69a5b79342 J2K: minor code improvements 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
46d6ba3340 Java to Kotlin converter: special conversion of some Collections methods 2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
9bd742472d Fixed KT-5339 J2K: convert Objects.equals to == and !=
Mock JDK regenerated to add java.util.Objects

 #KT-5339 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
514f11695f Java to Kotlin converter: explicit locals type option is used for for variable too 2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
d3a1fa6b9a KT-5405 J2K: convert for's through indices of some list or array into use of ".indices" + fixed a bug in for-statement conversion
#KT-5405 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
5c688e9916 Fixed KT-5433 J2K: incorrect conversion of method call with vararg
#KT-5433 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
fe46b40220 Java to Kotlin converter: no special logic for returns in try-with-resource is needed anymore 2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
2ebaab867d Fixed KT-5434 J2K: incorrect conversion of main method
#KT-5434 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
28e003e79f Java to Kotlin converter: code refactoring 2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
139b7cdd27 Java to Kotlin converter: moved code of switch statement conversion into separate class 2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
8d290ee127 Java to Kotlin converter: better switch conversion in case of code block in case 2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
3ccd8839ff Java to Kotlin converter: refactoring and fixing switch conversion
#KT-5390 Fixed
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
6bd5a12498 Java to Kotlin converter: minor refactoring of switch conversion + no need for empty else 2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
e84c753e99 Fixed KT-5396 J2K: properly format "else if" on conversion
#KT-5396 Fixed
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
88235c3eb2 Minor code corrections after code review 2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
330c41fc61 Java to Kotlin converter: code refactoring 2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
f8261a8b6e Java to Kotlin converter: fixed two similar bugs 2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
806cc1e434 Java to Kotlin converter: do not drop exceptions, produce internal error! 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
3c42933f96 Java to Kotlin converter: fixed exception on conversion 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
13f40e5b0d Java to Kotlin converter: constructor overloads to default parameter values conversion 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
e86d74600d Java to Kotlin converter: access modifiers of factory functions + factory functions for nested classes 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
3c34197bc0 Java to Kotlin converter: base class parameters detection logic moved into ConstructorConverter too 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
e997557ba1 Java to Kotlin converter: refactored code to perform primary constructor detection only once 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
c260eee9b8 Java to Kotlin converter: moved primary constructor detection logic into ConstructorConverter 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
a58141b576 Java to Kotlin converter: code refactoring 2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
66005a3469 Java to Kotlin converter: secondary constructors are converted to top-level functions instead of "create" functions in class object 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f698ca69d7 Java to Kotlin converter: more correct detection of primary constructor + constructor chains are supported (not completely correct code generated yet) 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
9d1452bbbc Java to Kotlin converter: minor code refactoring 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
0b7ef4debf Java to Kotlin converter: do not initialize non-val's in artificial primary constructor - it often produced stupid code 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f8a412aea0 Java to Kotlin converter: do not generate default field initializer when it's incorrect anyway 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
44c706eb3e Java to Kotlin converter: generate nullable type for private non-initialized fields 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f8e4ecfa94 Java to Kotlin converter: fixed bugs with reference conversion in secondary constructors 2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f277285d9a Java to Kotlin converter: minor 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
3ebc8046a9 Java to Kotlin converter: refactored code moving all knowledge about factory function internals into ConstructorConverter 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
1e15727387 Java to Kotlin converter: refactored code moving dealing with constructors from Converter to ConstructorConverter 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
e76c3d4e9e Java to Kotlin converter: no intermediate __ variable in factory function if body is simple 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
467ca77854 Java to Kotlin converter: fixed bug with secondary constructor conversion 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
0edd9d24be Java to Kotlin converter: refactoring working with constructors (in progress) 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
b7bcb0d9e3 Java to Kotlin converter: keep more than one blank line from original code 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
5a5e553367 Java to Kotlin converter: do not generate redundant parenthesis for empty constructor parameters 2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
947bf3c0ed Java to Kotlin converter: keep original placement of primary constructor body + better preserving of comments for constructor 2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
88bdbb02f4 Fixed test data 2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
8512eac768 Fixed KT-5315 J2K: Generate local var when parameter is being assigned
#KT-5315 Fixed
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
427280a365 Java to Kotlin converter: added heuristics that values of types like Integer are likely nullable 2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
30a7c67aaa Java to Kotlin converter: fixed crash in converter + more correct auto insertion of !!
#KT-851 Fixed
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
d3b773c0cd Java to Kotlin converter: declaring locals as var's in most of cases when needed, dropped forceLocalVariableImmutability setting 2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
63ebfe2c03 Java to Kotlin converter: more correct logic for specifying field type 2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
6e473506fc Java to Kotlin converter: specify local variable type when necessary
#KT-5277 Fixed
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
73ba1af779 Java to Kotlin converter: minor code refactoring 2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
a99f6f3774 Java to Kotlin converter: honor external Nullable/NotNull annotations 2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
f8fef59654 Java to Kotlin converter: checking that no element prototype assignment forgotten + no memory leaks through singleton Element instances 2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
4f27dd63b5 Java to Kotlin converter: minor code corrections after review 2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
52994d69ca Java to Kotlin converter: fixed conversion of access to Kotlin property declared as constructor parameter 2014-07-10 23:20:32 +04:00
Alexander Udalov
51ecfe2a09 Don't fail on a bad Retention annotation in light classes
#KT-5450 Fixed

No new tests added because it seems there are no tests on highlighting which
cause light class generation, where the original error occurred
2014-07-10 20:30:47 +04:00
Alexander Udalov
0e758b97f7 Minor, delete outdated comments and refine type 2014-07-10 20:30:47 +04:00
Alexander Udalov
242376550c Minor, beautify code in StackValue.CallReceiver 2014-07-10 20:30:46 +04:00
Alexander Udalov
f1b199f6c4 Minor, add assertion message to CodegenContext 2014-07-10 20:30:46 +04:00
Alexander Udalov
947c9fb1bf Minor, rename "inner" -> "nested" in tests 2014-07-10 20:30:45 +04:00
Alexander Udalov
dec5a80cdb Refine type of CalculatedClosure#superCall
Instead of PSI, store the actual resolved call
2014-07-10 20:30:45 +04:00
Alexander Udalov
780fb78529 Avoid duplicate synthetic parameter marking in FunctionCodegen 2014-07-10 20:30:44 +04:00
Alexander Udalov
374d50609d Inline ExpressionCodegen#pushMethodArguments, drop "skipLast" hack 2014-07-10 20:30:40 +04:00
Alexander Udalov
2bdf1a4290 Introduce an abstract ArgumentGenerator in ExpressionCodegen 2014-07-10 20:30:39 +04:00
Alexander Udalov
d95cb82f36 Don't use ExpressionCodegen's internals in MonitorInstruction 2014-07-10 20:30:39 +04:00
Alexander Udalov
f425adfb71 Minor cleanup in ExpressionCodegen#pushMethodArguments 2014-07-10 20:30:35 +04:00
Alexander Udalov
fc89424295 Minor corrections in JVM codegen
- use mapSignature instead of mapToCallableMethod where possible
- use resolvedCall where possible
- fix some warnings and style issues
2014-07-10 18:45:41 +04:00
Zalim Bashorov
2947963e67 IDEA plugin: fixed highlighting for objects. 2014-07-10 17:25:43 +04:00
Zalim Bashorov
2ee818f784 Minor in IDEA plugin: jet -> kotlin in JetBundle.properties 2014-07-10 17:25:42 +04:00
Zalim Bashorov
c51b653b31 Minor: fixed tests. 2014-07-10 17:25:42 +04:00
Zalim Bashorov
189080e624 JVM backend: fixed the getting Unit instance -- Unit.VALUE -> Unit.instance$. 2014-07-10 17:25:42 +04:00
Zalim Bashorov
3ef624f121 Builtins: made Unit object. 2014-07-10 17:25:42 +04:00
Pavel V. Talanov
915bb208f0 Add test for failing assertion in JetPropertyStub.createStub
Test for eec6fbb205
Delayed because test data was causing reindex of the whole project
2014-07-10 15:58:03 +04:00
Evgeny Gerashchenko
479711e812 Moved current incremental compiler test data into subdirectory.
Tweaked test generator to avoid creating test methods for parent directory of tests.
2014-07-10 15:05:20 +04:00
Evgeny Gerashchenko
829c25bcf9 Not writing compiler script path when in JPS plugin output.
XML script is removed after JPS plugin session anyway, so it's usually hard to check its contents. Also, it is redundant since -printArgs will write it anyway, so there is still possibility to debug.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
9206bfb68f Not writing compiler arguments from JPS plugin by default. 2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
c4573b8c5a Got rid of ModuleDescription intermediate entity. 2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
40703c125c Made it possible to run incremental compiler from IDEA.
Two guava functions used were replaced with custom tiny functions, because JPS plugin won't have guava in classpath.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
7212597e61 Optimized KotlinBuilder for targets without Kotlin. Checking dirty/removed files only. 2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
0a3d852336 Minor. Renamed test data to avoid repetitions. 2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
55ed0471b6 KT-4980 'Remove braces' intention throws NPE for a for-loop with variable declaration
#KT-4980 fixed
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
86d2565700 Added test for KT-4827 UOE at PackageType.throwException()
#KT-4827 obsolete
 #EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
8842bb574c KT-5397 Simplify text of DeMorgan law conversion intentions
#KT-5397
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
62bb3f8782 Renamed CodeTransformationTest -> IntentionTest. 2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
fda7aeecfb Simplified CodeTransformationTest. Only one doTest method remains, intention class is moved to test data. Merged other intention tests (SpecifyTypeExplicitlyTest, ConvertToBlock/ExpressionBodyTest) into this one. 2014-07-10 15:05:17 +04:00
Evgeny Gerashchenko
b1003fc034 Extracted test for "Join Lines" from CodeTransformationsTest. 2014-07-10 15:05:17 +04:00
Michael Bogdanov
ea20073d4b Fix error message 2014-07-10 14:19:35 +04:00
Pavel V. Talanov
ab07aea82f Fix an NPE in VirtualFileKotlinClassFinder#findKotlinClass(JavaClass)
Happens for nonphysical PsiClass
2014-07-10 14:08:14 +04:00
Pavel V. Talanov
f0e91182da Minor: Remove context parameter from getContainingFile() utility and move it to DescriptorToSourceUtils 2014-07-09 21:46:28 +04:00
Pavel V. Talanov
119e361b4b Restore check in BuiltInsReferenceResolver
Erroneously deleted in d988256831
2014-07-09 21:43:02 +04:00
Pavel V. Talanov
3c48d0dec2 Fix usage of utility in KDoc 2014-07-09 19:08:32 +04:00
Pavel V. Talanov
16aefae602 Move descriptorToDeclaration utilities family to a separate util class DescriptorToSourceUtils 2014-07-09 19:07:26 +04:00
Pavel V. Talanov
8523e18afc Set source elements for java annotation parameters 2014-07-09 18:19:40 +04:00
Pavel V. Talanov
930ea88e25 Set source elements for java enum entries
#KT-4277 Fixed
2014-07-09 18:19:39 +04:00
Pavel V. Talanov
4188bbe53c Set source elements for java parameters 2014-07-09 18:19:38 +04:00
Pavel V. Talanov
8b91855fac Drop SynthesizedCallableMemberDescriptor 2014-07-09 18:19:37 +04:00
Pavel V. Talanov
d988256831 Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family 2014-07-09 18:19:36 +04:00
Pavel V. Talanov
723b3d75c9 Rewrite BindingContextUtils.descriptorToDeclaration utilities family to use SourceElement for getting PSI
Remove DESCRIPTOR_TO_DECLARATION context key
2014-07-09 18:19:35 +04:00
Pavel V. Talanov
59e43020c3 Initial version of storing SourceElements in descriptors
Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
2014-07-09 18:19:34 +04:00
Andrey Breslav
e3b1639edf KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Michael Bogdanov
b1065520fb Skip visitEnd in InliningInstructionAdapter 2014-07-09 09:48:17 +04:00
Michael Bogdanov
6ddeb85c00 Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function 2014-07-09 09:46:28 +04:00
Svetlana Isakova
24e20b2dcf Invoke call resolver extension in CallCompleter
so it is called after outer call is resolved (for calls in arguments)
2014-07-08 15:42:19 +04:00
Svetlana Isakova
62cb0d0baf Added util 'getParentResolvedCall', 'strict' parameter 2014-07-08 14:57:41 +04:00
Svetlana Isakova
e62b4cfb5f Invoke 'Add name to argument fix' not only on simple name callee expressions 2014-07-08 14:57:40 +04:00
Svetlana Isakova
cec01237d0 Added test for labeled delegated expression 2014-07-08 14:57:40 +04:00
Svetlana Isakova
51a979d5f0 Refactoring: do not duplicate 'instructionElement' (old 'calleeExpression') as a parameter
to 'builder.call()' and 'builder.read()' methods
2014-07-08 14:57:39 +04:00
Svetlana Isakova
6988725207 Refactoring: remove 'call' argument
when it can be taken from resolved call
2014-07-08 14:57:39 +04:00
Svetlana Isakova
53ee30992b Record resolved call on call (not on element) 2014-07-08 14:57:38 +04:00
Svetlana Isakova
aa26db0538 Updated tests for control flow: call instruction stores call element
instead of callee expression
2014-07-08 14:57:38 +04:00
Svetlana Isakova
72e9822d99 All RESOLVED_CALL getters replaced with util methods
JetElement.getResolvedCall(BindingContext)
  JetElement.getResolvedCallForSure(BindingContext)
2014-07-08 14:57:37 +04:00
Svetlana Isakova
e1fb5a9a04 Added 'isExternal' to ValueArgument
'subject' is external for 'in(contains)' resolve in 'when' condition:
when (subject) {
  in range -> ...
}
2014-07-08 14:48:20 +04:00
Svetlana Isakova
ae8757f6b8 Added tests on resolved call for 'this' 2014-07-08 14:48:20 +04:00
Svetlana Isakova
dd95439767 Do not update recorded type if it hasn't changed
It's important for argument that has a type that shouldn't be updated.
Like '(b)' in 'a == (b)', which type is 'Any' (for proper 'equals' resolve).
Type for 'b' shouldn't be updated to 'Any' as well.
2014-07-08 14:48:20 +04:00
Svetlana Isakova
48511206ad Mark required call with 'caret' in abstract resolved calls test 2014-07-08 14:48:19 +04:00
Svetlana Isakova
29ab166e1b Refactoring: AbstractResolvedCallsTest
Render resolved call to a separate file
2014-07-08 14:48:19 +04:00
Svetlana Isakova
b2c2e1811c Check 'isDirty' for resolved calls replaced with check 'hasUnresolvedArguments' for call
Don't report 'cannotCompleteResolve' error if some arguments are unresolved (like 'ambiguity')
2014-07-08 14:48:19 +04:00
Svetlana Isakova
a3e306b820 Update recorded type for argument in parentheses correctly 2014-07-08 14:48:18 +04:00
Svetlana Isakova
12ddf76df4 Changed order in call completer
update resolution status (and report error) after completing all arguments
2014-07-08 14:48:18 +04:00
Svetlana Isakova
c204ae2da1 Record argument to parameter map at the beginning
(separately from argument match status)
2014-07-08 14:48:18 +04:00
Svetlana Isakova
f24442b90e Added ArgumentMatchStatus.MATCH_MODULO_UNINFERRED_TYPES 2014-07-08 14:48:17 +04:00
Svetlana Isakova
857aa76cff Added tests for argument mapping 2014-07-08 14:48:17 +04:00
Svetlana Isakova
8dc932fc50 Refactoring: inlined method 'setInitialDataFlowInfo' 2014-07-08 14:48:17 +04:00
Svetlana Isakova
ec0fa1b765 Rewrote 'isDirty' in terms of argument to parameter match status
Added ArgumentMatchStatus
2014-07-08 14:48:16 +04:00
Svetlana Isakova
ad5fc4cd05 Removed duplication in MutableResolvedCall interface
'hasIncompleteTypeParameters()' is the same as 'getConstraintSystem() != null'
2014-07-08 14:48:16 +04:00
Svetlana Isakova
6ffb02ae0d Removed unused methods 2014-07-08 14:48:16 +04:00
Svetlana Isakova
11fbe375fa Logic of completing call rewritten in CallCompleter
Changed interface ResolutionResultsCache
2014-07-08 14:48:15 +04:00
Svetlana Isakova
06a257025f Added NotNull annotations 2014-07-08 14:48:15 +04:00
Svetlana Isakova
02f5293b3d Added CallCompleter component
Regenerated injectors
2014-07-08 14:48:15 +04:00
Svetlana Isakova
05e5f2437e Use Call instead of CallKey as a map key in ResolutionResultsCache 2014-07-08 14:48:14 +04:00
Alexander Udalov
17a6c1fd54 Minor, fix typo 2014-07-07 18:44:54 +04:00
Alexander Udalov
71cd7838d2 Move/inline enum class object related methods in DescriptorUtils 2014-07-07 18:33:31 +04:00
Alexander Udalov
e502d8dcc6 Remove JetScopeAdapter 2014-07-07 18:15:32 +04:00
Alexander Udalov
64512ae87b Move writable scope implementations to 'frontend' 2014-07-07 18:15:31 +04:00
Alexander Udalov
b9fd52739f Move around some descriptor implementations
- mutable class, mutable package fragment and their dependencies go to module
  'frontend'
- ModuleDescriptorImpl and PackageFragmentDescriptorImpl are moved to the
  package "impl" in their module
2014-07-07 18:15:31 +04:00
Alexander Udalov
bf45a3590b Use a specialized scope in EnumClassObjectDescriptor
Instead of WritableScopeImpl
2014-07-07 18:15:30 +04:00
Alexander Udalov
6e5339ad3c Move values/valueOf creation logic to EnumClassObjectDescriptor 2014-07-07 18:15:29 +04:00
Alexander Udalov
7773375019 Use EnumClassObjectDescriptor in lazy resolution 2014-07-07 18:15:28 +04:00
Alexander Udalov
db3e5ed678 Use EnumClassObjectDescriptor in TypeHierarchyResolver 2014-07-07 18:15:28 +04:00
Alexander Udalov
de21f76e10 Introduce EnumClassObjectDescriptor
Extract the duplicate logic in deserialization and descriptor.loader.java
2014-07-07 18:15:27 +04:00
Alexander Udalov
8efeb3ac6a Move script descriptor implementation to frontend 2014-07-07 18:15:27 +04:00
Evgeny Gerashchenko
42cba1cc3c Ignoring not static final fields.
Added tests with class object of trait and val inside object.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
aa9384a207 Made constants and inline functions maps class-file based. Otherwise data for different class files was overwritten: e.g. several classes in file, class and top-level callables in one source file.
Extracted superclass with common parts.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
f8ac8f727e Merged tests with inline functions in class and in package.
Now this test also checks situation when several class files with inline functions are emitted from one source file.
2014-07-07 17:41:38 +04:00
Evgeny Gerashchenko
ca647a9ff4 Expanded test with constants unchanged. Now it has class-level and package-level constants mixed in one file. 2014-07-07 17:41:38 +04:00
Evgeny Gerashchenko
11af8ed616 Added test with constant in class object. 2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
2ac351928e Minor. Renamed parameter and corresponding variable. 2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
aa9f7a73c9 Inline function changed – rebuild all chunk. 2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
6f8d9f6ed9 Minor. Reused join() instead of makeString() 2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
7ef5c75f26 Supported inlining functions which access properties via field. 2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
2259cc605f Preserving annotations in incremental compilation. 2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
6c8a9ba378 Basic detection for bytecode of inline functions in incremental compilation.
Basic rule is: bytecode of inline function changed -> recompile everything.
2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
6501066274 Added hacky checks for accessing compiled functions from our module via package part instead of facade.
#KT-4590 fixed
2014-07-07 17:41:34 +04:00
Evgeny Gerashchenko
55a2e8edf8 Added debug flag for class files comparison. 2014-07-07 17:41:34 +04:00
Evgeny Gerashchenko
11c51cf2a8 Fixed incremental compilation for removed files. 2014-07-07 17:41:33 +04:00
Zalim Bashorov
909a30c279 Minor: added description for some(frequently used) ant targets to avoid hiding them in IDEA. 2014-07-07 15:50:31 +04:00
Evgeny Gerashchenko
e01d80e830 Not building kotlin-for-upsource.jar on running 'dist' 2014-07-07 11:48:03 +04:00
Michael Bogdanov
48d92b9bbc Analyzer Frame patching cause exception on void non local returns 2014-07-07 10:51:47 +04:00
Michael Bogdanov
14788213a2 Annotation parameter processing util 2014-07-07 10:51:47 +04:00
Michael Bogdanov
6b34035455 Avoid exceptions in test setUp cause tearDown would not be invoked 2014-07-07 10:51:47 +04:00
Michael Bogdanov
a1a205a3db Stdlib update due ONLY_LOCAL_RETURN diagnostic 2014-07-07 10:51:46 +04:00
Michael Bogdanov
ce71c5abde Test update for new ONLY_LOCAL_RETURN diagnostic 2014-07-07 10:51:46 +04:00
Michael Bogdanov
da01a11137 New diagnostic for non-local return annotation 2014-07-07 10:51:46 +04:00
Michael Bogdanov
8092717da4 Support non local return generation, support non local return inlining 2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
02c6bdeaa3 Inline test data structure changed 2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
b37c0d3fff Some renaming 2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
30ddbb0682 Parameter processing rewrote with parameter builder
Split capture parameter descriptor and it representation
2014-07-07 10:51:46 +04:00
Andrey Breslav
98e87f2f95 Removing unneeded "public override val" from constructors across the project
#KT-4295 Fixed
2014-07-05 18:31:55 +04:00
Andrey Breslav
caec40b3a8 Fix test data 2014-07-05 18:31:55 +04:00
Andrey Breslav
06d060d5de KT-4295 Wrong diagnostic about "weaken access privilege" when override properties in constructor
#KT-4295 Fixed
2014-07-05 17:47:00 +04:00
Alexey Kudravtsev
5489ae08da Make Kotlin accessible for UpSource.
Extracted some initialization of JetCoreEnvironment.
2014-07-04 17:12:29 +04:00
Alexey Kudravtsev
28c29dbfde Build jar for upsource 2014-07-04 17:12:26 +04:00
Pavel V. Talanov
23c9080ff3 Drop MigrateSureInProjectFix 2014-07-03 20:46:53 +04:00
Pavel V. Talanov
9c46f053b6 Change PluginJetFilesProvider.allFilesInProject to a simpler implementation 2014-07-03 20:46:52 +04:00
Pavel V. Talanov
0f5de48157 Drop JetFilesProvider service 2014-07-03 20:46:51 +04:00
Pavel V. Talanov
0a43c38bae Change AnalyzerFacade#createSetup to accept a list of synthetic files and a scope for physical source files
Make DeclarationProviderFactory a project service
2014-07-03 20:46:50 +04:00
Pavel V. Talanov
f7351a72de Simplify KotlinCacheService#isFileInScope() 2014-07-03 20:46:49 +04:00
Pavel V. Talanov
f4bd022907 Do not use JetFilesProvider in PositionManagerTestCase 2014-07-03 20:46:48 +04:00
Pavel V. Talanov
9b5f349e61 Drop JetFilesProvider#allPackageFiles() and sampleToAllFilesInModule() 2014-07-03 20:46:47 +04:00
Pavel V. Talanov
6e82a046e2 JetPositionManager#prepareTypeMapper() does not use JetFilesProvider 2014-07-03 20:46:46 +04:00
Pavel V. Talanov
9f9ddbebf4 DebuggerUtils#findSourceFileForClass() doesn't use JetFilesProvider 2014-07-03 20:46:46 +04:00
Pavel V. Talanov
b2c3a7d501 Rename: DescriptorDeserializersStorage -> DescriptorLoadersStorage 2014-07-03 20:46:45 +04:00
Pavel V. Talanov
b08cda8dd6 Avoid recomputing ClassData in DeserializedDescriptorResolver 2014-07-03 20:46:44 +04:00
Pavel V. Talanov
e7d6ea6be5 Remove hack in JavaClassDataFinder 2014-07-03 20:46:43 +04:00
Pavel V. Talanov
123523d1dc Drop ClassDataFinder#getClassNames() 2014-07-03 20:46:42 +04:00
Pavel V. Talanov
0c8956a36e Refactor: DescriptorFinder -> ClassDataFinder
Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
2014-07-03 20:46:41 +04:00
Pavel V. Talanov
53337f793b Move caching of deserialized classes to new component ClassDeserializer
Drop AbstractDescriptorFinder
2014-07-03 20:46:40 +04:00
Pavel V. Talanov
6683173f67 Refactor: Extract deserialize class to context 2014-07-03 20:46:39 +04:00
Pavel V. Talanov
348de193b4 Drop DescriptorFinder.EMPTY 2014-07-03 20:46:38 +04:00
Pavel V. Talanov
55ae3cab19 Drop DependencyClassByQualifiedNameResolver and implementation 2014-07-03 20:46:37 +04:00
Pavel V. Talanov
245919d691 Use module to resolve annotation classes in AnnotationDescriptorLoader 2014-07-03 20:46:36 +04:00
Pavel V. Talanov
d961d17cd4 Fix DeserializerForDecompiler: create package fragment provider for missing dependencies 2014-07-03 20:46:35 +04:00
Pavel V. Talanov
6c153a9ce2 Resolve classes in Deserialization locally
Temporary hacky solution
2014-07-03 20:46:34 +04:00
Pavel V. Talanov
7ee7047753 Deserializer: use module to search for dependencies in TypeDeserializer 2014-07-03 20:46:33 +04:00
Pavel V. Talanov
a66353dbc4 JavaDescriptorFinder#getClassNames() returns empty list
All classes are included in JavaPackageFragmentScopeForJavaPackageFragment  anyway
2014-07-03 20:46:32 +04:00
Evgeny Gerashchenko
f4514b044e Reverted wildcard resource pattern.
Avoid kt sources in out directory (and in plugin artifact).
2014-07-03 19:22:20 +04:00
Andrey Breslav
6422bafb7a More tests for synchronized() {} 2014-07-03 18:39:57 +04:00
Andrey Breslav
90690e0711 KT-4825 Implement "synchronized" properly via monitorenter/monitorexit
#KT-4825 Fixed
2014-07-02 22:05:45 +04:00
Alexander Udalov
c0fc5cfb53 Disallow named arguments for SAM adapters
SAM adapters are Java functions, and named arguments are not allowed for Java
functions

 #KT-5022 Fixed
2014-07-02 20:35:31 +04:00
Andrey Breslav
6e1047685c Fix EA-57538 - assert: IDELightClassGenerationSupport.getContextForPackage 2014-07-02 19:48:09 +04:00
Alexander Udalov
a78458b1d0 Update ReadMe after switching to IDEA 14 2014-07-02 19:10:31 +04:00
Andrey Breslav
3042846a20 Fix update_dependencies.xml on mac 2014-07-02 18:53:07 +04:00
Natalia Ukhorskaya
09e8d0dd66 Gradle plugin: unable to build project in multi flavor environment with gradle 0.11+
#KT-5348 Fixed
2014-07-02 14:17:50 +04:00
Andrey Breslav
1d45d20099 Change inspections' level to "WEAK WARNING" + disable "Explicit 'get'" by default 2014-07-02 14:02:47 +04:00
Nikolay Krasko
465dd45eae Merge remote-tracking branch 'origin/master' into idea14 2014-07-02 09:21:40 +04:00
Alexander Udalov
36f7cc742f Introduce NoSuchPropertyException and IllegalAccessException
No new tests added because it's difficult to model a situation where a
::-access is allowed but the code throws these exceptions at runtime
2014-07-02 01:58:22 +04:00
Alexander Udalov
a84d528325 Improve performance of $kotlinClass field initializer
Don't load annotations reflectively in each class' <clinit>
2014-07-02 01:55:56 +04:00
Alexander Udalov
bc8bce7ca1 Provide "toString" for reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov
c5d92cc03e Provide "equals" and "hashCode" for reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov
704de8992e Support mapping between Java and Kotlin reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov
c575ad9fb0 Fix test, remove duplicate annotation
It started to fail only now because KClassImpl constructor is now loading
class' annotations (previously annotations weren't loaded by Java reflection)
2014-07-02 01:55:54 +04:00
Alexander Udalov
f459005fe7 Fix GeneratedClassLoader so that it loads Package instances 2014-07-02 01:55:54 +04:00
Alexander Udalov
a38a396a43 Remove default import "kotlin.reflect"
Basic reflection is usable without any imports (with :: literals)

This reverts commit 9503056dd5.
2014-07-02 01:55:53 +04:00
Alexander Udalov
d32a02f21a Modify top-level/extension property hierarchy
- rename KTopLevelProperty to KTopLevelVariable
- create KTopLevelExtensionProperty, a subclass of KExtensionProperty
- create KTopLevelProperty, a superclass of KTopLevelVariable and
  KTopLevelExtensionProperty. (In the future, it will have a container of type
  KPackage.)
2014-07-02 01:55:53 +04:00
Alexander Udalov
f73b8b9ff8 Extract KForeignMemberProperty out of KMemberPropertyImpl
KClassImpl is now able to create a property by the name, according to its
origin
2014-07-02 01:55:52 +04:00
Alexander Udalov
9c5596cddb Expose Java reflection objects out of Kotlin ones 2014-07-02 01:55:52 +04:00
Alexander Udalov
1ad037f621 Fix KClassOrigin for non-Kotlin classes
Check against presence of KotlinClass annotation
2014-07-02 01:55:21 +04:00
Alexander Udalov
8b619eceed Make KMemberProperty's T parameter have a non-null bound 2014-07-02 01:26:25 +04:00
Alexander Udalov
7cbbeb257e Add NotNull annotations to HashPMap 2014-07-02 01:26:25 +04:00
Alexander Udalov
e60428b540 Improve performance of foreignKClasses, add comments 2014-07-02 01:26:24 +04:00
Alexander Udalov
0fa6b40731 Make intermediate *Impl properties traits, not classes
Otherwise multiple inheritance of classes would be needed to make
implementations inherit correctly for mutable properties
2014-07-02 01:26:24 +04:00
Alexander Udalov
ef7fbe55cf Make KClass instances weak in foreignKClasses 2014-07-02 01:26:24 +04:00
Alexander Udalov
a86cfdc5de Add some simple tests on HashPMap 2014-07-02 01:26:23 +04:00
Alexander Udalov
47b08af66c Inline HashPMap entry's getter methods 2014-07-02 01:26:23 +04:00
Alexander Udalov
b00022ef1c Add JetBrains license to HashPMap, remove obsolete author tags and javadocs 2014-07-02 01:26:23 +04:00
Alexander Udalov
41aa12d249 Remove unneeded dependency on ListIterator in ConsPStack 2014-07-02 01:26:22 +04:00
Alexander Udalov
862a785c11 Use pcollections' HashPMap instead of ConcurrentHashMap in reflection 2014-07-02 01:26:22 +04:00
Alexander Udalov
fca9a0bca2 Delete unneeded interface dependencies of HashPMap
To reduce class count and to avoid unneeded invokeinterface's
2014-07-02 01:26:22 +04:00
Alexander Udalov
d83df541b7 Remove unneeded code and beautify HashPMap and its dependencies 2014-07-02 01:26:21 +04:00
Alexander Udalov
58bc611e3a Copy pcollections's HashPMap to kotlin/reflect/jvm/internal
It will be used for caching KClass instances for foreign (Java) classes
2014-07-02 01:26:21 +04:00
Alexander Udalov
89d6f25fb6 Fix initialization order of KClass field and class object fields 2014-07-02 01:26:21 +04:00
Alexander Udalov
c17f515d06 Construct reflection objects via static factory methods
JVM back-end now generates invocations of these methods instead of
KClass/K*Property/... constructors for two reasons:

1. It occupies less space in the bytecode
2. We can (to some degree) alter the implementation of the factory methods
   without changing the ABI compatibility version
2014-07-02 01:26:20 +04:00
Alexander Udalov
e7f19c531a Support 'accessible' for reflected properties on JVM
Calls Java reflection's isAccessible/setAccessible
2014-07-02 01:26:20 +04:00
Alexander Udalov
1275c84f92 Fail with IllegalAccessException on :: reference to private property
Instead of mysterious NoSuchMethodException
2014-07-02 01:26:20 +04:00
Alexander Udalov
a8e1de48b8 Support :: references to Java instance fields in codegen
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
5ab83aad8a Support references to extension properties in JVM codegen
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
461cce103b Support references to top level and member properties in JVM codegen
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
59777e7df6 Generate "$kotlinClass"/"$kotlinPackage" reflection fields to every class
Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
2014-07-02 01:26:18 +04:00
Alexander Udalov
4ef089d2ed Introduce KClass, KPackage and their JVM implementations 2014-07-02 01:26:18 +04:00
Alexander Udalov
aa4d6a4ea7 Support :: references to properties in frontend
#KT-1183 In Progress
2014-07-02 01:26:18 +04:00
Alexander Udalov
52dadfc264 Add test for obsolete issue
#KT-3311 Obsolete
2014-07-02 00:38:50 +04:00
Alexander Udalov
254a95ba1a Improve non-null assertion messages 2014-07-02 00:38:50 +04:00
Alexander Udalov
d4c792d0ee Fix errorlevel returned by kotlinc-*.bat scripts
Propagate errorlevel returned as an exit code from the compiler to the outside
world.

This may not work on Windows XP or earlier, but is required for Windows 7+
2014-07-02 00:38:49 +04:00
Nikolay Krasko
b92df2882c Merge remote-tracking branch 'origin/master' into idea14 2014-07-01 20:06:09 +04:00
Natalia Ukhorskaya
47f4bbedda Fix file separators in Codegen Tests on Windows 2014-07-01 12:17:01 +04:00
Nikolay Krasko
cab3161ad7 Add sdk field to Kotlin new project wizard step in Idea 14
#KT-5338 Fixed
2014-06-30 15:37:20 +04:00
Natalia Ukhorskaya
261ba0e364 Fix Android tests after renaming codegen tests with Java 2014-06-30 13:03:05 +04:00
Nikolay Krasko
3b02f0e422 Load default descriptor in debugger tests 2014-06-27 15:21:52 +04:00
Nikolay Krasko
d7474f2bc8 Update to idea 138.814 (EAP) 2014-06-27 15:15:28 +04:00
Nikolay Krasko
e7a1cba1eb Merge remote-tracking branch 'origin/master' into idea14
Conflicts:
	update_dependencies.xml
2014-06-27 14:44:05 +04:00
Nikolay Krasko
6095faed14 Make debugger tests work with Idea 14 2014-06-27 14:42:14 +04:00
Alexander Udalov
46da00a9a7 Minor, fix typo 2014-06-26 22:03:01 +04:00
Alexander Udalov
2ce4219b43 Add sensible "toString()" to kotlin.jvm.internal.Ref
No tests added because it's difficult to test: codegen always unwraps refs to
the objects they are referencing

 #KT-5205 Fixed
2014-06-26 22:03:01 +04:00
Alexander Udalov
c56f397f71 Don't fail when "deprecated" doesn't have a message
EA-57345
2014-06-26 22:03:00 +04:00
Alexander Udalov
c18fd179a9 Get rid of intellij Pair in TypeUtils 2014-06-26 22:02:59 +04:00
Alexander Udalov
beb66e2247 Minor, don't intersect sets, use retainAll instead 2014-06-26 22:02:59 +04:00
Alexander Udalov
eb11a7dc88 Move utilities out of runtime modules
DescriptorUtils & DescriptorSubstitutor contained a lot of utilities that were
used only in compiler & IDE. Move them closer to their usages
2014-06-26 22:02:59 +04:00
Alexander Udalov
e04f7c24fa Alias 'kotlinc' for 'kotlinc-jvm' 2014-06-26 22:02:58 +04:00
Alexander Udalov
e09052bb1d Unmark dist/kotlinc/bin/*.bat as executable on Unix 2014-06-26 22:02:58 +04:00
Alexander Udalov
760fd73a0a Don't launch REPL on "kotlinc-jvm -version"
#KT-3169 Fixed
2014-06-26 22:02:58 +04:00
Alexander Udalov
16ec4c3805 Minor, add path utility to codegen tests 2014-06-26 22:02:57 +04:00
Alexander Udalov
aea230d677 Introduce black box with Java codegen tests
In contrast to "black box against Java", it supports cyclic dependencies
between Java and Kotlin sources in one test case
2014-06-26 20:57:40 +04:00
Alexander Udalov
09863445bb Rename tests: boxWithJava -> boxAgainstJava 2014-06-26 20:57:40 +04:00
Alexander Udalov
544cf4f28d Rename JvmFunctionImplTypes -> JvmRuntimeTypes
Will be used for other JVM runtime types as well
2014-06-26 20:57:40 +04:00
Alexander Udalov
ac8eb0f5e8 Add PackageClassUtils.getPackageClassInternalName() 2014-06-26 20:57:39 +04:00
Alexander Udalov
059538ce1b Extract kotlin-maven-plugin tests into a separate subproject
Because they need kotlin-runtime to run, which is built by kotlin-maven-plugin
2014-06-26 20:57:39 +04:00
Alexander Udalov
a9b2fd964b Support nullable types on left-hand side of ::
#KT-1183 In Progress
2014-06-26 20:57:39 +04:00
Alexander Udalov
42991e05a1 Delete unjustified assert
It's ok to generate <clinit> in the light classes mode, it's not ok to generate
the code in it (currently there seems to be no sane way to assert that)
2014-06-26 20:57:39 +04:00
Alexander Udalov
e31f2cfa23 Make protected static visibility reach members in the same package 2014-06-26 20:57:39 +04:00
Alexander Udalov
80b7f88c60 Regenerate tests 2014-06-26 20:57:39 +04:00
Zalim Bashorov
5f3b00ad44 Update to IDEA 135.1146 EAP 2014-06-26 19:22:36 +04:00
Nikolay Krasko
efa60fc1a4 Merge remote-tracking branch 'origin/HEAD' into idea14
Conflicts:
	idea/tests/org/jetbrains/jet/plugin/compilerMessages/JetCompilerMessagingTest.java
	idea/tests/org/jetbrains/jet/plugin/compilerMessages/K2JSCompilerMessagingTest.java
2014-06-26 16:46:09 +04:00
Nikolay Krasko
a2fdfc714f Update to idea 138.777 2014-06-26 16:43:13 +04:00
Zalim Bashorov
28228d23b1 JS stdlib: added missed constructors for HashSet, LinkedHashSet, HashMap and LinkedHashMap. 2014-06-26 16:33:14 +04:00
Zalim Bashorov
444932d4c1 JS backend: fixed wrong NPE when casting to generic type. 2014-06-26 14:55:56 +04:00
Zalim Bashorov
0d0751c3f9 Minor: JvmCodegenUtil#isNullableType -> TypeUtils#isNullableType 2014-06-26 14:55:56 +04:00
Alexey Sedunov
e73ee4bbd6 Minor: Replace deprecated function call 2014-06-26 13:06:25 +04:00
Alexey Sedunov
fa73c5825e Minor: Remove unused parameter 2014-06-26 13:06:24 +04:00
Alexey Sedunov
f226d99d36 Pseudocode: Add valued instructions and unbound values to AbstractPseudoValueTest 2014-06-26 13:06:23 +04:00
Alexey Sedunov
21be468e6c Pseudocode: Merge all access instructions into single file 2014-06-26 13:06:22 +04:00
Alexander Udalov
3f51338320 Save executable flag of kotlinc-jvm and kotlinc-js after zip archiving 2014-06-25 22:32:16 +04:00
Alexander Udalov
71262bdf14 Output to the current directory by default ("-output .") 2014-06-25 22:32:16 +04:00
Alexander Udalov
ca219f9880 Beautify kotlinc -help output 2014-06-25 22:32:16 +04:00
Alexander Udalov
5e994778d1 Add test on "kotlinc-js -help" output 2014-06-25 22:32:15 +04:00
Alexander Udalov
ebec9e961c Use hand-written usage information printer
Copy-pasted from com.sampullara.cli.Args
2014-06-25 22:32:15 +04:00
Alexander Udalov
2144088627 Don't output full compiler FQ name on -printArgs 2014-06-25 22:32:14 +04:00
Alexander Udalov
f51e172570 Fix kotlinc command line usage information
Fix spelling, case, minor grammar
2014-06-25 22:32:14 +04:00
Alexander Udalov
d963ff31ae Minor, don't fire up Swing thread in CLI tests 2014-06-25 22:32:14 +04:00
Alexey Sedunov
cd44bc3fb0 Introduce Variable: Do not compare explicit receivers using ReceiverValue
#KT-5319 Fixed
2014-06-25 19:08:04 +04:00
Alexey Sedunov
1452ffec6d Find Usages: Classify package usages
#KT-4882 Fixed
2014-06-25 19:08:03 +04:00
Alexey Sedunov
86c8bfc864 Find Usages: Add support of searching by reference in AbstractFindUsagesTest 2014-06-25 19:08:01 +04:00
Alexey Sedunov
c2aa824242 Implement light method equality based on the original declarations
#KT-4350 Fixed
2014-06-25 19:08:00 +04:00
Alexey Sedunov
4d075b5437 Extract Function: Make nameForRef extension property (so that it's not overriden by delegation and parameter rename works properly) 2014-06-25 19:08:00 +04:00
Alexey Sedunov
15611da98b Extract Function: Add header to parameter table 2014-06-25 19:07:59 +04:00
Alexey Sedunov
103daa841f Extract Function: Simplify computation of return type by pseudocode instruction 2014-06-25 19:07:58 +04:00
Nikolay Krasko
44e41c5d96 Smart enter for do-while fixed
- Do not brake code if some expression parsed as body for bare "do"
 - Fix isStatement() check
2014-06-25 17:45:37 +04:00
Nikolay Krasko
a0e45e9a12 Merge master into idea14
Conflicts:
	.idea/runConfigurations/All_Tests.xml
	idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
	idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt
	idea/tests/org/jetbrains/jet/shortenRefs/AbstractShortenRefsTest.kt
2014-06-25 16:26:01 +04:00
Nikolay Krasko
3f2d65762b Revert temporary commit "-- Attempt to fix completion for extensions"
This reverts commit b70f9cd675.
2014-06-25 14:52:41 +04:00
Nikolay Krasko
fd4aeb75fc Smart enter for one line statements in for, while and do-while
#KT-3600 In Progress
2014-06-25 14:23:00 +04:00
Nikolay Krasko
431f3ad185 Smart enter in function literal expression
#KT-3600 In Progress
2014-06-25 14:23:00 +04:00
Nikolay Krasko
d4ac3454ce Smart enter for fun declaration
#KT-3600 In Progress
2014-06-25 14:22:59 +04:00
Nikolay Krasko
150ac0ab91 Smart enter for 'do-while' expression
#KT-3600 In Progress
2014-06-25 14:22:58 +04:00
Nikolay Krasko
56efcd15aa Smart enter for 'when'
#KT-3600 In Progress
2014-06-25 14:22:58 +04:00
Nikolay Krasko
8fc60f93d3 Smart enter for 'for' expression
#KT-3600 In Progress
2014-06-25 14:22:57 +04:00
Nikolay Krasko
fab74d8092 Smart enter for while statement
#KT-3600 In Progress
2014-06-25 14:22:56 +04:00
Nikolay Krasko
693080acfc Smart enter for if statement
#KT-3600 In Progress
2014-06-25 14:22:56 +04:00
Nikolay Krasko
b574e3bd4f Refactoring: move function trimIndent 2014-06-25 14:22:55 +04:00
Nikolay Krasko
513ec93060 Formatting: Move '}' to next line in when 2014-06-25 14:22:55 +04:00
Nikolay Krasko
0716b09920 Fix errors in intentions after parser fixes 2014-06-25 14:22:54 +04:00
Nikolay Krasko
d8490ce2a6 Don't parse entries if left brace absent in 'when' 2014-06-25 14:22:53 +04:00
Nikolay Krasko
f36f1796d6 Fix recovery for 'for' expression 2014-06-25 14:22:53 +04:00
Nikolay Krasko
2571797411 Don't parse condition if there's no ( for if 2014-06-25 14:22:52 +04:00
Andrey Breslav
e06154c204 Don't compile runtime for each test run by default: only do it for All Tests 2014-06-25 12:52:47 +04:00
Ilya Ryzhenkov
1842d30567 Implement equals for NumberRange in JavaScript. 2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
ca7c3d7999 Set operations (distinct, union, intersect, subtract) 2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
132f2a5fa8 Improve performance for addAll with type check for Collection 2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
65da4cb2fb Generalize zip(..) to merge(..) { t1, t2 -> ... }, add merge for maps. 2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
f94b79fac3 Minor. Update reference to issue. 2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
4e4d0b448c Minor. Cleanup test. 2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
516bae17d7 StringBuilder builder and appendln 2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
0717511abe Substring and replace before/after first/last occurrence of delimiter. 2014-06-24 23:49:15 +04:00
Evgeny Gerashchenko
1ce0e6cd3e Added exceptions for proguard: constants are used in JPS plugin. 2014-06-24 22:19:12 +04:00
Evgeny Gerashchenko
ca4ac43add Added tests with class referenced from proto. 2014-06-24 22:18:19 +04:00
Evgeny Gerashchenko
8479ca76b0 Added clearing proto data in incremental cache. 2014-06-24 22:18:18 +04:00
Evgeny Gerashchenko
471e3e80f2 Minor. Fixed mixed up error messages in test. 2014-06-24 22:18:18 +04:00
Evgeny Gerashchenko
5c49eb0a54 Writing class names in proto map (to avoid ambiguities) 2014-06-24 22:18:17 +04:00
Evgeny Gerashchenko
fc7dceba5a Clearing constants data when removing file. 2014-06-24 22:18:16 +04:00
Evgeny Gerashchenko
9dd627a23d Removed ingoring files facility from incremental tests.
It is not necessary since script.xml are not generated in out directory anymore.
2014-06-24 22:18:16 +04:00
Evgeny Gerashchenko
ab442754d6 Changing lastModified manually in case when it wasn't changed after file overwriting. 2014-06-24 22:18:15 +04:00
Evgeny Gerashchenko
3ee92da6f0 Added test with all types of constants. 2014-06-24 22:18:14 +04:00
Evgeny Gerashchenko
bf442a9700 Fixed loading integral constants from compiled classes. 2014-06-24 22:18:13 +04:00
Evgeny Gerashchenko
111feb2574 Added tests with removing files and changing packages. 2014-06-24 22:18:11 +04:00
Evgeny Gerashchenko
7742755de4 Minor. Correct map with expected size creation. 2014-06-24 22:18:11 +04:00
zarechenskiy
0355b1bd53 Implement JavaTypeSubstitutor without PSI 2014-06-24 20:06:13 +04:00
Andrey Breslav
97b7768890 JetTypeChecker refactored: duplicate methods replaced by instance management 2014-06-24 19:13:01 +04:00
Andrey Breslav
cd28b216c1 Rename. INSTANCE -> DEFAULT in JetTypeChecker 2014-06-24 19:13:01 +04:00
Andrey Breslav
f26cad71d8 Useless final removed 2014-06-24 19:13:01 +04:00
Pavel V. Talanov
40a245a91f Hack to filter out irrelevant actions in quick fix tests output
Needed because of different behaviour locally and on build server
2014-06-24 16:37:45 +04:00
Pavel V. Talanov
e3c170183e Fix invalid usage of descriptorToDeclaration in QuickFixUtil 2014-06-24 16:37:44 +04:00
Pavel V. Talanov
41dd12d46b Fix invalid usage of descriptorToDeclaration in QuickFixFactoryForTypeMismatchError 2014-06-24 16:37:44 +04:00
Svetlana Isakova
0673dc51d6 Test for KT-3162 More precise try-finally error marking
#KT-3162 Obsolete
2014-06-24 16:14:07 +04:00
Svetlana Isakova
6a4ccfd91d Store copies of instruction only once
removed reference to 'original' instruction
2014-06-24 16:14:07 +04:00
Svetlana Isakova
ad83680666 Refactoring: changed methods order 2014-06-24 16:14:07 +04:00
Svetlana Isakova
e4a0651224 Added 'markedAsDead' flag to InstructionImpl
to be used in tests
2014-06-24 16:14:07 +04:00
Svetlana Isakova
8680ff4e88 Do not mark comment next to reachable child as unreachable 2014-06-24 16:14:06 +04:00
Pavel V. Talanov
eec6fbb205 Stubs: simplify JetStubElementType#shouldCreateStub() 2014-06-24 16:02:55 +04:00
Andrey Breslav
38d4ca5469 Do not generate @NotNull annotations on void- or primitive-returning methods
#KT-4834 Fixed
  #KT-5255 Fixed
2014-06-24 15:54:11 +04:00
Valentin Kipyatkov
b6aff9e9ee Java to Kotlin converter: added test data file back 2014-06-24 00:48:14 +04:00
Valentin Kipyatkov
9f100df85f Java to Kotlin converter: deleted wrong test data file 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
e38b1b4fd8 Java to Kotlin converter: more cases when field can be declared as val 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
5a8ab41948 Java to Kotlin converter: declare private field with no writes as val 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
07bbab3ea0 Java to Kotlin converter: fixed bug 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
04e2d3da58 Java to Kotlin converter: no explicit type for private and internal fields when possible 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
9365741918 Renamed test data file 2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
4e7c7fc625 Fixed KT-5299 J2K: When generating named this@type, do not insert FQN
#KT-5299 Fixed
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
c458993fed Java to Kotlin converter: fixed bug with unnecessary "run { }" construct generated in loop body 2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
0e9edb7487 Java to Kotlin converter: fixed a bug with incorrect assignment generation 2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
a28e7b0872 Java to Kotlin converter: minor code refactorings after code review 2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
6135ea5603 Java to Kotlin converter: minor code refactoring 2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
5ac762034a Java to Kotlin converter: correct nullability in signatures of overrides
#KT-5269 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
2188af2bf9 Java to Kotlin converter: do not produce incorrect "code blocks" which are actually parsed as lambda's in Kotlin
#KT-4670 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
116c27117f Java to Kotlin converter: better comments preserving, never lose any comment
#KT-4489 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
ef62600d5e Java to Kotlin converter: big refactoring of code generation to never allow end of line comments to stick together with further code
#KT-4421 Fixed
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
8b5f169dd8 Java to Kotlin converter: new way of preserving comments and blank lines implemented (not completely though) 2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
d01a2237b5 Java to Kotlin converter: working on not loosing comments - CommentConverter is passed when converting to Kotlin 2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
c4bac83cc9 Java to Kotlin converter: working on not loosing comments - Element made Class instead of Trait 2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
600446bbd2 Java to Kotlin converter: working on not loosing comments - refactored redundant .toKotlin() calls 2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
7463da8fe0 Java to Kotlin: dropped Node interface 2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
0912001560 Fixed KT-5223 Converter from Java should convert "throws" in method declaration
#KT-5223 Fixed
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
eef4e548e5 Java to Kotlin: annotations conversion - no redundant array type arguments
#KT-4487 Fixed
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
bd30ae572e Java to Kotlin: correct conversion of array components in annotation attributes 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
65b3ec6dfd Java to Kotlin: Deprecated annotation conversion 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
a8c61b377a Java to Kotlin: restored test data files with correct case 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
8a1dbcdfc6 Java to Kotlin: deleted test data files with wrong case 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
be44c5b7be Fixed test for java to Kotlin copy/paste - java standard classes used to not be resolved 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
84a566b034 Converter from Java: minor change 2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
26b6626358 Converter from Java: added proper annotations formatting 2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
c0a5355928 Converter from Java: basic implementation of annotations conversion 2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
93ba66b2a3 Converter from Java: generate "create" for factory methods instead of "init" 2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
da5fe7adb0 Converter from Java: better conversion from java-specific to Kotlin classes
#KT-5173 Fixed
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
c36624a58e Converter from Java: optimization to not instantiate visitor objects each time 2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
ab714f168c Converter from Java: do not produce class object for just private methods + fixed bug with unnecessary static member qualification 2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
b00316f93a Fixed KT-4417 Converter from java to kotlin incorrectly places nested classes under class object
#KT-4417 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
ed290178d5 Fixed KT-4437 Converter for java: do not generate assert with lambda for constant message
#KT-4437 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
149ea16f5c Java to Kotlin converter: supported try-with-resource construct, fixed anonymous class generation + fixed a bug with method return type
#KT-4488 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
1b948ef8f1 Java to Kotlin converter: minor code refactoring 2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
b71061eb5c Java to Kotlin converter: generate "!!." instead of "?." for nullable values
#KT-3943 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
a07dae9734 Java to Kotlin converter: minor code refining 2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
f2ace97c6c Java to Kotlin converter: minor 2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
6fd8ac5236 Java to Kotlin converter: no more setting 'class identifiers', use ConversionScope 2014-06-24 00:48:07 +04:00
Valentin Kipyatkov
324040a02f Java to Kotlin converter: no usage search and body analysis for members out of conversion scope 2014-06-24 00:48:07 +04:00
Alexey Sedunov
d6755b91ee Minor: Remove unnecessary action binding 2014-06-23 21:10:42 +04:00
Alexey Sedunov
66405cf883 Minor: Allow to select individual cells in Extract Function dialog 2014-06-23 21:10:40 +04:00
Alexey Sedunov
6be8ea5b19 Minor: Replace deprecated function call 2014-06-23 21:10:38 +04:00
Alexey Sedunov
64a2fde80a Extract Function: Fix signature update on dialog opening 2014-06-23 21:10:36 +04:00
Alexey Sedunov
0a89b26030 Extract Function: Implement UI for parameter type selection 2014-06-23 21:10:34 +04:00
Alexey Sedunov
ca16f4231f Extract Function: Infer parameter type candidates
#KT-4940 Fixed
2014-06-23 21:10:12 +04:00
Nikolay Krasko
c98ec96194 Update to Idea 138.744 2014-06-23 20:13:00 +04:00
Alexey Sedunov
96557e6d3f DFS: Terminate traversal if node handler returns false 2014-06-23 19:32:36 +04:00
Alexey Sedunov
e5ce5b7127 Extract Function: Fix call replacement for the case of lambda extraction 2014-06-23 19:32:35 +04:00
Alexey Sedunov
a3f215fb34 Extract Function: Support extraction of "it" parameter from lambdas 2014-06-23 19:32:33 +04:00
Alexey Sedunov
14362134bd Extract Function: Traverse nested pseudocode instructions
#KT-5178 Fixed
2014-06-23 19:32:31 +04:00
Alexey Sedunov
c7d8ab8219 Extract Function: Add support of property-as-function calls
#KT-5179 Fixed
2014-06-23 19:32:30 +04:00
Alexey Sedunov
6bc3772d29 Override/Implement: Add test to cover import optimization in the case of multiple import insertion (see #KT-4732) 2014-06-23 19:32:29 +04:00
Alexey Sedunov
5be7eb8a5c Shorten References: Do not optimize imports until shortening is finished
#KT-5227 Fixed
2014-06-23 19:32:27 +04:00
Alexey Sedunov
53c49b6333 Shorten References: Do not shorten qualified expression if receiver values are changed
#KT-5180 Fixed
2014-06-23 19:32:26 +04:00
Alexey Sedunov
5e2c2b4eca Pseudocode: Implement computation of expected type predicates 2014-06-23 19:32:25 +04:00
Alexey Sedunov
50228fa085 Pseudocode: Generate correct values for postfix increment/decrement 2014-06-23 19:32:22 +04:00
Alexey Sedunov
7c837909d8 Pseudocode: Bind result values to elements retrieved from resolved calls 2014-06-23 19:32:21 +04:00
Alexey Sedunov
4debb6eb6a Expression Typing: Record resolved calls for labeled this-expressions 2014-06-23 19:32:20 +04:00
Alexey Sedunov
d01d186130 Pseudocode: Fix depth-first pseudocode traversal 2014-06-23 19:32:18 +04:00
Natalia Ukhorskaya
0968ea6914 Eval4j: catch IndexOutOfBounds exceptions 2014-06-23 17:40:05 +04:00
Natalia Ukhorskaya
bdc60441c0 Try-catch exception value is not visible in debugger's local variables
#KT-3070 Fixed
2014-06-23 17:40:04 +04:00
Natalia Ukhorskaya
a17bcce682 Add tests for exceptions from evaluate expression 2014-06-23 17:39:53 +04:00
Natalia Ukhorskaya
1687b9cbca Eval4j: add exception type in ExceptionThrown result 2014-06-23 17:39:23 +04:00
Natalia Ukhorskaya
28cbe95e0c Generate invokeSpecial for all private functions 2014-06-23 17:17:42 +04:00
Natalia Ukhorskaya
c847d180a7 Eval4j: add ignore annotations for tests 2014-06-23 17:17:41 +04:00
Natalia Ukhorskaya
fab770a346 Eval4j: support invokespecial instruction 2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya
3edd6b52cf Evaluate expression: test cache using logger 2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya
b5f6df3144 Cache bytecodes for JetCodeFragment in Evaluate Expression 2014-06-23 17:17:39 +04:00
Natalia Ukhorskaya
53a1abf2e6 DescriptorUtils.isSubclass: check type constructors for equality instead of checking descriptors 2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya
0c17bbe1c4 Minor: fix warnings 2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya
f4b01b5f47 Correct context element for watches 2014-06-23 17:17:37 +04:00
Natalia Ukhorskaya
a593738ca6 Refactoring: extract method 2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya
7671962284 Evaluate expression: move helper methods for extract function to separate file 2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya
03d2e89c6b Fix typo 2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya
906a3ea905 Evaluate expression: test with doubles 2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya
250b9b500b Eval4j: initialize frame with local variables values using type size
#KT-5133 Fixed
2014-06-23 17:17:34 +04:00
Svetlana Isakova
2077604d6d Compute pseudo value for parameter correctly:
do not throw away pseudo value for default value
2014-06-23 14:30:16 +04:00
Svetlana Isakova
d150bfbce0 Removed CFPContext
flag 'inCondition' became unused
2014-06-21 12:26:34 +04:00
Svetlana Isakova
9d4aad3bbc Extracted 'generateBooleanOperation'
Generate magic instruction for '&&, ||' in condition as well
2014-06-21 12:26:34 +04:00
Svetlana Isakova
4279da12f5 KT-5200 Mark unreachable code in lambdas
#KT-5200 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
abfc8ed7e8 KT-5155 Auto-casts do not work with when
#KT-5155 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
17c4930404 KT-2334 An error 'local function without body' is not reported
#KT-2334 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
79cec6411d Mark only unreachable parts of element if it has reachable parts
like for 'return todo()' mark only 'return'
2014-06-21 12:26:33 +04:00
Svetlana Isakova
88ecc5cc59 Evaluate default value for argument non-deterministically
in pseudocode
2014-06-21 12:26:33 +04:00
Svetlana Isakova
9480907514 Mark some expressions after processing their components
when it's semantically correct

Expressions: calls, 'for' loops, elvis operators
It's significant for reporting 'unreachable code' correctly
2014-06-21 12:26:32 +04:00
Svetlana Isakova
6e622f2301 Highlight all text ranges for diagnostics in tests 2014-06-21 12:26:32 +04:00
Svetlana Isakova
67fd858432 Rename: getAllInstructions -> getInstructionsIncludingDeadCode
Added this method to 'Pseudocode' interface instead of 'getDeadInstructions',
added 'isDead' to 'Instruction' interface
2014-06-21 12:26:32 +04:00
Svetlana Isakova
4efeb2eae2 Refactoring: extracted 'reportUnreachableCode' 2014-06-21 12:26:32 +04:00
Pavel V. Talanov
fc19f1db44 Minor: improve assertion message in SpecifyTypeExplicitlyFix 2014-06-20 22:23:24 +04:00
Andrey Breslav
868e0d9306 LOG.error() instead of exception for "Rewrite at slice" errors 2014-06-20 19:55:50 +04:00
Nikolay Krasko
b70f9cd675 -- Attempt to fix completion for extensions 2014-06-20 17:19:50 +04:00
Nikolay Krasko
f84b3de975 Minor: notification build with String.format() 2014-06-20 17:19:48 +04:00
Nikolay Krasko
2f776affb3 Test package facade recompile after removing several files 2014-06-20 17:19:46 +04:00
Nikolay Krasko
5f0bfa8c56 Change jps testing framework 2014-06-20 17:16:48 +04:00
Nikolay Krasko
4275912898 Update to Idea 138.693 2014-06-20 17:14:51 +04:00
Nikolay Krasko
7c05fd210a Update to idea/138.628 2014-06-20 17:14:48 +04:00
Nikolay Krasko
71939af35f Drop light method usages search
Now problem with non-exact match of Kotlin psi eleement and Java element covered
in JetSimpleReference.isReferenceTo()
2014-06-20 17:14:46 +04:00
Nikolay Krasko
90f3996dd3 Idea 138: Add custom kotlin search for kotlin properties 2014-06-20 17:14:44 +04:00
Nikolay Krasko
1367b37095 Idea 138: Rewrite folding test to force init file with different name 2014-06-20 17:14:42 +04:00
Nikolay Krasko
1d8db15502 Idea 138: Assertion "Project is not yet initialized:" thrown on every start (KT-5152)
#KT-5152 Fixed
2014-06-20 17:14:40 +04:00
Nikolay Krasko
9006311447 Idea 138: Return small icon for to new project wizard 2014-06-20 17:14:38 +04:00
Nikolay Krasko
963f07fa85 Idea 138: Disable check for access for not-allowed vfs roots
Workaround failure in lib configuration test testLibraryWithoutPaths_jarExists(). See IDEA-125568
2014-06-20 17:14:36 +04:00
Nikolay Krasko
a8e07a329e Idea 138: workaround enabled "File accessed outside allowed roots"
See IDEA-125568
2014-06-20 17:14:34 +04:00
Nikolay Krasko
b09788c626 Idea 138: Avoid using auto-generated parameters names in Kotlin 2014-06-20 17:14:32 +04:00
Nikolay Krasko
e925b5bdb6 Idea 138: Fix compilation after removing old make api
Tests are removed
2014-06-20 17:14:30 +04:00
Nikolay Krasko
1e3270a050 Idea 138: Update to Idea 138.515 2014-06-20 17:14:28 +04:00
Zalim Bashorov
79b7b1c447 JS stdlib: added test for using special names(i.e. Object.prototype members) in Maps and Sets. Fixed the support special names in PrimitiveHashMap. 2014-06-20 16:42:43 +04:00
Zalim Bashorov
6f5c88c21f JS stdlib: added LinkedHashMap abd LinkedHashSet. 2014-06-20 16:42:43 +04:00
Zalim Bashorov
a2584dc6d7 JS backend: added entrySet to HashMap implementations and fixed iteration over maps. 2014-06-20 16:42:43 +04:00
Zalim Bashorov
516af6c908 JS backend: added expected receiver type for intrinsics. 2014-06-20 16:42:43 +04:00
Zalim Bashorov
247808e17b IDEA plugin: fixed crashing ifExpressionToElvis intention when applying to if expression which is part of another expression.
#EA-57307 fixed
2014-06-20 16:42:42 +04:00
Andrey Breslav
64175d3996 Tests for some more cases of JVM signature clashes 2014-06-20 15:51:47 +04:00
Andrey Breslav
e2c5d9edf6 Support reporting errors on class objects and any classes or objects contained anywhere 2014-06-19 22:12:02 +04:00
Andrey Breslav
86e8a1d410 Do not report declaration clashes on MANY_IMPL_MEMBER_NOT_IMPLEMENTED 2014-06-19 22:12:01 +04:00
Andrey Breslav
b076dc3b58 Test for signature clash in fields copied from class object 2014-06-19 22:12:01 +04:00
Andrey Breslav
f0da5d570e Do not report "accidental overrides" when "override" modifier is specified 2014-06-19 22:12:01 +04:00
Andrey Breslav
9f29a8b263 Test for required class 2014-06-19 22:12:00 +04:00
Andrey Breslav
9ecbeeb100 Filter diagnostics in the CLI compiler, as well as in the IDE 2014-06-19 22:12:00 +04:00
Andrey Breslav
61c7c2f1a1 Minor. Extract function 2014-06-19 22:11:59 +04:00
Andrey Breslav
98701b7c6e Properly check overloads in enum 2014-06-19 22:11:59 +04:00
Andrey Breslav
f1545963f3 Generate $propertyMetadata field in LIGHT_CLASSES mode 2014-06-19 22:11:58 +04:00
Andrey Breslav
654dd5afff Tests for more special names 2014-06-19 22:11:58 +04:00
Andrey Breslav
777f3d1341 Codegen tests now fail on JVM-specific errors 2014-06-19 22:11:57 +04:00
Andrey Breslav
e27f3a9ab7 Duplicate signature generation fixed for collection classes
wWe used to generate a throwing stub clear();V twice, when something extended both Collection and Map
2014-06-19 22:11:57 +04:00
Andrey Breslav
2351c53dce Test that Javac does not fail on two methods that differ only by return type 2014-06-19 22:11:56 +04:00
Andrey Breslav
b49a203a67 Generate bridges in light classes 2014-06-19 22:11:56 +04:00
Andrey Breslav
93b688d19b Minor. Method made private 2014-06-19 22:11:55 +04:00
Andrey Breslav
ce27967ad0 Minor. Todo added 2014-06-19 22:11:55 +04:00
Andrey Breslav
f59ff5d8fe Diagnostics for illegal platform names 2014-06-19 22:11:54 +04:00
Andrey Breslav
14a6cdf458 Compilation fixed 2014-06-19 22:11:54 +04:00
Andrey Breslav
5a27317baf Support generating light classes on type parameters having no name
Example:

class C<in /*no name here*/>
2014-06-19 22:11:53 +04:00
Andrey Breslav
111c0e55b8 Extra test for the case of error types in detecting duplicate signatures 2014-06-19 22:11:53 +04:00
Andrey Breslav
a26f4f9203 Avoid failing on error types when enumerating all signatures 2014-06-19 22:11:52 +04:00
Andrey Breslav
8e4954ab67 Generate @NotNull annotations on delegated functions 2014-06-19 22:11:52 +04:00
Andrey Breslav
afca70eb41 Test for nullability annotations generalized and generated 2014-06-19 22:10:57 +04:00
Andrey Breslav
6617a884e4 Minor. Test class renamed 2014-06-19 22:10:57 +04:00
Andrey Breslav
707da9278f Do not skip delegated members in LIGHT_CLASSES mode 2014-06-19 22:10:57 +04:00
Andrey Breslav
8fd166ea7b Minor. Method renamed 2014-06-19 22:10:57 +04:00
Andrey Breslav
05685bea5b BuilderFactoryForDuplicateSignatureDiagnostics code cleaned up 2014-06-19 22:10:56 +04:00
Andrey Breslav
42aa9e2378 Minor. Utility moved to a common place 2014-06-19 22:10:56 +04:00
Andrey Breslav
346c491ebd BuilderfactoryForDuplicateSignatureDiagnostics rewritten to Kotlin 2014-06-19 22:10:56 +04:00
Andrey Breslav
635f8ea626 BuilderfactoryForDuplicateSignatureDiagnostics moved out of GenerationState 2014-06-19 22:10:56 +04:00
Andrey Breslav
f229301a0f More informative diagnostic messages for ACCIDENTAL_OVERRIDES and CONFLICTING_JVM_DECLARATIONS
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav
622b7e3740 Do not report ACCIDENTAL_OVERRIDE on SAM adapters and such 2014-06-19 22:10:55 +04:00
Andrey Breslav
6bbc8ea951 Fix reporting errors on properties declared in constructors 2014-06-19 22:10:55 +04:00
Andrey Breslav
27f76630e6 ACCIDENTAL_OVERRIDE diagnostics supported
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav
d2e464a02b Tests for local classes in weird positions 2014-06-19 22:10:54 +04:00
Andrey Breslav
9cb71c7fa8 Test data fixed 2014-06-19 22:10:54 +04:00
Andrey Breslav
55cfa161c7 Report conflicting signatures that are purely inherited from traits
When all signatures are inherited from traits, the origin elements lie outside of the class in question
2014-06-19 22:10:54 +04:00
Andrey Breslav
1343e59eb9 Properly handle accessors of top-level properties 2014-06-19 22:10:53 +04:00
Andrey Breslav
3bc404a80e Do not skip local classes in top-level functions
In this case we need names for such classes:

fun foo() = run {
  class A
  A()
}
2014-06-19 22:10:53 +04:00
Andrey Breslav
bbaf47d3db Do not initialize properties in LIGHT_CLASSES mode 2014-06-19 22:10:53 +04:00
Andrey Breslav
dd23b02dae Use safe names in codegen, for the case of light classes 2014-06-19 22:10:53 +04:00
Andrey Breslav
d2ce6f5787 Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java' 2014-06-19 22:10:52 +04:00
Andrey Breslav
bb581bb645 Only normalize names when accessing PSI, not earlier
#KT-4833 Fixed
2014-06-19 22:10:52 +04:00
Andrey Breslav
ef7b43ecdc Disable JVM signature diagnostics for multi-module tests 2014-06-19 22:10:52 +04:00
Andrey Breslav
14829ff058 Check that resolved calls are completed in each module 2014-06-19 22:10:52 +04:00
Andrey Breslav
f3c46341e5 Filtering out duplicate signature diagnostics if CONFLICTING_OVERLOADS or REDECLARATION is present 2014-06-19 22:10:51 +04:00
Andrey Breslav
f80619e4e9 Ability to generate light classes for scripts 2014-06-19 22:10:51 +04:00
Andrey Breslav
db2ad06e9c Ability to generate light classes when a type parameter appears in supertypes 2014-06-19 22:10:51 +04:00
Andrey Breslav
70f6041c70 Remove assert that does not hold for light classes on erroneous code
When clashing overloads are declared in the code, it's better to still be able to build light classes
2014-06-19 22:10:51 +04:00
Andrey Breslav
851fbbc937 Test data fixed 2014-06-19 22:10:50 +04:00
Andrey Breslav
b4d154bb26 Test that clashing signatures are not reported when conflicting overloads are present in CLI 2014-06-19 22:10:50 +04:00
Andrey Breslav
f79ddbd523 Minor. Passing Diagnostics instead of BindingContext 2014-06-19 22:10:50 +04:00
Andrey Breslav
74deb58734 Filtering duplicate diagnostics for trait implementations 2014-06-19 22:10:50 +04:00
Andrey Breslav
a966bc7ce7 Highlight property accessor headers only, without body 2014-06-19 22:10:49 +04:00
Andrey Breslav
91136ada27 Filtering duplicate diagnostics for package facades and package parts 2014-06-19 22:10:49 +04:00
Andrey Breslav
41d66281ee JvmDeclarationOrigin moved to frontend.java 2014-06-19 22:10:49 +04:00
Andrey Breslav
592328aa27 Test data fixed 2014-06-19 22:10:49 +04:00
Andrey Breslav
38333d6cea CONFLICTING_PLATFORM_DECLARATIONS moved to a JVM-specific class 2014-06-19 22:10:48 +04:00
Andrey Breslav
22c47c2f82 Highlight only declarations, without body, on platform signature clashes 2014-06-19 22:10:48 +04:00
Andrey Breslav
3575c375e3 DelegationToTraitImpl origin kind supported 2014-06-19 22:10:48 +04:00
Andrey Breslav
03a0a6d17a JvmDeclarationOrigin used in FunctionCodegen.generateMethod() 2014-06-19 22:10:48 +04:00
Andrey Breslav
0413f90bec TraitImpl origin supported 2014-06-19 22:10:47 +04:00
Andrey Breslav
87b6ad08b5 Package part and facade origins supported 2014-06-19 22:10:47 +04:00
Andrey Breslav
4fbce3f43e JvmDeclarationOrigin used in newClassBuilder() 2014-06-19 22:10:47 +04:00
Andrey Breslav
6ce86cca72 JvmDeclarationOrigin used in newVisitor() 2014-06-19 22:10:46 +04:00
Andrey Breslav
4e1ceb62b5 JvmDeclarationOrigin used in newMethod() 2014-06-19 22:10:46 +04:00
Andrey Breslav
87a8f52f70 JvmDeclarationOrigin used in newField() 2014-06-19 22:10:46 +04:00
Andrey Breslav
27e61a75a1 Diagnostic tests for duplicate JVM signatures 2014-06-19 22:10:46 +04:00
Andrey Breslav
d25b2459d4 Report clashing signatures in the IDE
Expose extra diagnostics about platform signature clashes from light class data

 #KT-1 In Progress
2014-06-19 22:10:45 +04:00
Andrey Breslav
9b3f9fb70d Cache KotlinLightClassForPackage instances per project 2014-06-19 22:10:45 +04:00
Andrey Breslav
3ac3027e16 Compilation fixed 2014-06-19 22:10:45 +04:00
Andrey Breslav
449723e388 Repoting platform declarations clashes in CLI compiler for JVM
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav
f4f1dd8f8b Basic version of CONFLICTING_PLATFORM_DECLARATIONS diagnostic
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav
eb31be2871 DiagnosticHolder added to GenerationState 2014-06-19 22:10:44 +04:00
Andrey Breslav
8135391ba4 Recording psi element and descriptor for which a class is being emitted 2014-06-19 22:10:44 +04:00
Andrey Breslav
af2cd46327 Replace ClassBuilder.getVisitor().visitMethod() calls with newMethod() 2014-06-19 22:10:43 +04:00
Andrey Breslav
a115d6a789 Descriptors added to newMethod() signature 2014-06-19 22:10:43 +04:00
Andrey Breslav
f1196a8c59 Descriptors added to newField() signature 2014-06-19 22:10:43 +04:00
Andrey Breslav
9070a6ab37 ScriptDescriptor exposes result property 2014-06-19 22:10:42 +04:00
Alexey Sedunov
7b439c2173 Minor: Formatting changed 2014-06-19 22:04:48 +04:00
Alexey Sedunov
1a16c515f3 Pseudocode: Generate resolved-call-based read instructions for this-expressions 2014-06-19 22:04:47 +04:00
Alexey Sedunov
c9c94a59d3 Pseudocode: Copy value of JetThisExpression to enclosed JetSimpleNameExpression 2014-06-19 22:04:46 +04:00
Alexey Sedunov
45bd3a520e Pseudocode: Generate pseudo-values for implicit receivers 2014-06-19 22:04:45 +04:00
Alexey Sedunov
4e4675d24a Minor: Remove redundant cast 2014-06-19 22:04:45 +04:00
Alexey Sedunov
168b32920b Pseudocode: Do not bind call value to callee expressions 2014-06-19 22:04:44 +04:00
Alexey Sedunov
e94f96d457 Pseudocode: Have builder return instructions rather than output values 2014-06-19 22:04:43 +04:00
Alexey Sedunov
e6ff115772 Minor: Use varargs instead of lists 2014-06-19 22:04:42 +04:00
Alexey Sedunov
a980086b54 Pseudocode: Add explicit type predicates to magic instructions 2014-06-19 22:04:41 +04:00
Alexey Sedunov
9b13d05259 Pseudocode: Record resolved information in read/write instructions. Introduce AccessValueInstruction 2014-06-19 22:04:40 +04:00
Alexey Sedunov
587a9558bc Pseudocode: Introduce "merge" instruction 2014-06-19 22:04:39 +04:00
Alexey Sedunov
9ddfc32cdc Pseudocode: Add receiver values to call instructions. Refactor InstructionWithReceiver 2014-06-19 22:04:38 +04:00
Alexey Sedunov
650fac0081 Pseudocode: Introduce ValuedInstruction 2014-06-19 22:04:37 +04:00
Alexey Sedunov
c7e4f1d02e Pseudocode: Divide instruction classes into packages 2014-06-19 22:04:36 +04:00
Alexey Sedunov
eabe2fcc8a Pseudocode: Translate instruction classes to Kotlin 2014-06-19 22:04:34 +04:00
Andrey Breslav
145358654b hashCode() fixed for AbstractClassTypeConstructor 2014-06-19 21:20:26 +04:00
Evgeny Gerashchenko
27273deeda Extracted package part map implementation to inner class. 2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
214c0fe4be Extracted constants map implementation to inner class. 2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
4e00df1fb4 Extracted proto map implementation to inner class and simplified. 2014-06-19 20:12:23 +04:00
Evgeny Gerashchenko
e1f6fc55c5 Writing/reading constants map fully to avoid hash collisions. 2014-06-19 19:25:42 +04:00
Evgeny Gerashchenko
cea272fb39 Moved getPackageFilesWithCallables to frontend.java and reused it. 2014-06-19 17:54:33 +04:00
Evgeny Gerashchenko
b76a9e8e27 Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 15:49:33 +04:00
Evgeny Gerashchenko
9f86441f95 Generalized method name. 2014-06-19 15:47:22 +04:00
Evgeny Gerashchenko
54f140e9e4 Minor cleanup 2014-06-19 14:53:13 +04:00
Evgeny Gerashchenko
219475be71 Processing all targets with removed files in chunk at once. 2014-06-19 14:49:16 +04:00
Evgeny Gerashchenko
2e508579a7 Minor. Using better method. 2014-06-19 14:48:14 +04:00
Evgeny Gerashchenko
6fb65fa2d4 Minor. Removed unused code. 2014-06-19 14:47:44 +04:00
Evgeny Gerashchenko
4366b92656 Minor. Rearranged code. 2014-06-19 14:43:37 +04:00
Evgeny Gerashchenko
f927751ee3 Minor. Inlined method with only one call site. 2014-06-19 14:42:59 +04:00
Evgeny Gerashchenko
6809befa3a Minor. Replaced first invocation of make() with initialMake() (for clearer stack trace). 2014-06-19 14:37:55 +04:00
Evgeny Gerashchenko
7f1e99ecfd Added test with class signature unchanged. 2014-06-19 14:37:08 +04:00
Evgeny Gerashchenko
15d9549477 Minor. Regenerated tests. 2014-06-19 14:22:43 +04:00
Evgeny Gerashchenko
92849dda3b Serializing incremental package fragment from our module instead of random one. 2014-06-19 13:41:27 +04:00
Evgeny Gerashchenko
aa41ae09ed Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko
f6129732a2 Writing incrementalCache attribute to <modules> element of xml module script 2014-06-19 01:03:59 +04:00
Evgeny Gerashchenko
06cafe7f12 Replaced passing MemberFilter to constructor with method overriding. 2014-06-19 01:03:58 +04:00
Zalim Bashorov
865880f196 Minor in JS backend: added missed test case -- when inside when w/o braces. 2014-06-18 23:18:23 +04:00
Evgeny Gerashchenko
d3e5790674 Passing custom class loader for loading incremental cache implementation. 2014-06-18 22:56:44 +04:00
Evgeny Gerashchenko
04f7ad450f Simplified interface of IncrementalCache (depending on JDK only). 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
07365dca1d Extracted interface and moved implementation of IncrementalCache to jps-plugin, accessing cache via Java service loader. 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
820bd911fb Supported cases of removing source files from package fragment. 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
fddc8edc03 Removing caches and rebuilding again in tests.
It helps to find cases when stuck data spoils compilation output.
2014-06-18 22:56:42 +04:00
Evgeny Gerashchenko
205f99bf60 Made incremental compilation test auto-generated. 2014-06-18 22:56:42 +04:00
Evgeny Gerashchenko
f62842343d Added tests for removing files from package. 2014-06-18 22:56:40 +04:00
Evgeny Gerashchenko
2a9721daf3 Supported multiple make iterations in incremental tests. 2014-06-18 22:56:40 +04:00
Evgeny Gerashchenko
5d4823d4ba Storing io files instead of psi (they are converted anyway). 2014-06-18 22:56:38 +04:00
Evgeny Gerashchenko
e07ea4b814 Minor. Suppressed warnings. 2014-06-18 22:56:38 +04:00
Evgeny Gerashchenko
b9f01a6397 Don't report package facade classes as output of sources without top-level members. 2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko
e89b59a745 Checking for constants values in incremental compiler. 2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko
af173484cb Minor. Typo. 2014-06-18 22:56:36 +04:00
Evgeny Gerashchenko
c4e167d7bc Checking for changes in class proto. 2014-06-18 22:56:36 +04:00
Evgeny Gerashchenko
c51cb26046 Fixed computing source file for package facade.
There had been a bug in case when compiling package with some class-only files, but exactly one file with callables.
2014-06-18 22:56:35 +04:00
Evgeny Gerashchenko
018b58b51f Rebuild only if proto changed. 2014-06-18 22:56:35 +04:00
Evgeny Gerashchenko
4cf2dc665e Got rid of redundant constructor. 2014-06-18 22:56:34 +04:00
Evgeny Gerashchenko
a82849f289 Removed member filter from injectors. 2014-06-18 22:56:33 +04:00
Evgeny Gerashchenko
ca1ee69e4c Loading descriptors from incremental cache instead of package classes. 2014-06-18 22:56:33 +04:00
Michael Nedzelsky
209315baad JS backend: fix translation when statement -- now WhenTranslator returns JsBlock instead of hackish adding statements to context block.
It fixed the compiler crashing when translating `for`/`when`/`if` with `when` statement(KT-5234) and KT-5058.

 #KT-5234 fixed
 #EA-57346 fixed
 #KT-5058 fixed
2014-06-18 21:20:28 +04:00
Alexander Udalov
a94f12d8fe Use f/L literal suffixes instead of toFloat()/toLong() 2014-06-18 20:35:25 +04:00
Alexander Udalov
ad23a2d05b Fix equals and hashCode for empty ranges and progressions
Empty range is equal to any other empty range
2014-06-18 20:35:25 +04:00
Alexander Udalov
751f062f23 Add *Range.isEmpty(), *Progression.isEmpty() 2014-06-18 20:22:24 +04:00
Alexander Udalov
07378a74d3 Delete outdated directory creation in build.xml 2014-06-18 20:22:24 +04:00
Alexander Udalov
607694c3c9 Fix range inclusivity in String.indices 2014-06-18 20:22:23 +04:00
Evgeny Gerashchenko
976d5df1eb KT-5244 Crash from Kotlin JPS plugin when creating module script
#KT-5244 fixed
2014-06-18 19:52:15 +04:00
Evgeny Gerashchenko
7fdd4a339e KT-5087 Private members of Java classes should be marked as invisible, not unresolved
#KT-5087 fixed
2014-06-18 19:52:15 +04:00
Evgeny Gerashchenko
cf5fe672de Added test for KT-2381 Can't resolve references to fields inherited from Java class when used Kotlin class is loaded from bytecode
#KT-2381 obsolete
2014-06-18 19:52:12 +04:00
Evgeny Gerashchenko
b65f6e1e0e KT-2303 Support loading private class members from bytecode
#KT-2303 obsolete
2014-06-18 19:52:12 +04:00
Andrey Breslav
2ec285735e Test for EA-41250 - E: _JetLexer.zzScanError - Could not match input 2014-06-18 11:32:28 +04:00
Andrey Breslav
512e4cb75e Support transient, strictfp and synchronized flags
#KT-4377 Fixed
2014-06-18 10:55:57 +04:00
Andrey Breslav
f2bc26888c Add "kotlin.jvm" to default imports on JVM 2014-06-18 10:55:56 +04:00
Pavel V. Talanov
00bd8cee82 Rename: DescriptorDeserializer -> MemberDeserializer 2014-06-17 18:24:02 +04:00
Pavel V. Talanov
f8e5fa1b2f Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader 2014-06-17 18:19:04 +04:00
Pavel V. Talanov
2673510e8b Minor: do not access static method of ScriptHeaderResolver through instance
Clean up after 024ed5a236
2014-06-17 18:19:00 +04:00
Pavel V. Talanov
3d83e09c5b Minor: fix compilation warning 2014-06-17 18:18:58 +04:00
Pavel V. Talanov
b9b0bba7a0 Refactor: Introduce contexts in deserialization subsystem
Rewrite utilities to Kotlin and move them out of DescriptorDeserializer
Include DescriptorDeserializer into context
Use new context in injectors
Drop Deserializers abstraction
2014-06-17 18:18:57 +04:00
Evgeny Gerashchenko
381e8bb205 Extracted PackagePartClassUtils. 2014-06-16 23:30:24 +04:00
Evgeny Gerashchenko
d3ff9e974b Introduced utility method. 2014-06-16 23:29:55 +04:00
Michael Nedzelsky
0332353874 Parser: fix recovery for object literal with no body
#KT-5102 Fixed
2014-06-16 16:25:42 +04:00
Pavel V. Talanov
024ed5a236 Drop JetTypeName and related code 2014-06-11 21:22:28 +04:00
Pavel V. Talanov
8d2038ec1a Minor: Implement LazyJavaResolverContext.resolveTopLevelClassInModule using ModuleDescriptor.resolveTopLevelClass 2014-06-11 21:22:27 +04:00
Pavel V. Talanov
03a4a5ef31 Use module to resolve top level class in SignatureMarkerProviderTest 2014-06-11 21:22:26 +04:00
Pavel V. Talanov
456e83e1fa Use module to resolve top level class in ResolveDescriptorsFromExternalLibraries 2014-06-11 21:22:25 +04:00
Pavel V. Talanov
8789d9b0bf Use module to resolve top level class in DecompiledTextConsistencyTest
Refactor: rename ResolverForDecompiler#resolveClass to resolveTopLevelClass to document assumptions made in implementations
2014-06-11 21:22:24 +04:00
Pavel V. Talanov
f1e6560904 Use module to resolve top level class in AbstractSdkAnnotationsValidityTest 2014-06-11 21:22:23 +04:00
Pavel V. Talanov
083c527f52 Drop JavaDescriptorResolver#getPackageFragment 2014-06-11 21:22:22 +04:00
Pavel V. Talanov
c11df9ce9c Use module to resolve "kotlin" package in DecompiledTextConsistencyTest 2014-06-11 21:22:21 +04:00
Pavel V. Talanov
bd30bc074e Use JavaDescriptorResolver#resolveClass(JavaClass) in KotlinSignatureInJavaMarkerProvider 2014-06-11 21:22:20 +04:00
Michael Bogdanov
cc58ee6b6f KT-5219 Kotlin build fails when using Android Gradle plugin 0.11
#KT-5219 Fixed
2014-06-11 14:12:58 +04:00
Michael Bogdanov
de530be45d KT-5219 Kotlin build fails when using Android Gradle plugin 0.11
#KT-5219 Fixed
2014-06-11 12:42:45 +04:00
Andrey Breslav
fe09bd4fd8 Tests for annotation deserialization when platform names are used 2014-06-10 18:21:37 +04:00
Andrey Breslav
705a081919 KT-5214 Annotation to provide platform name to avoid signature conflict
#KT-5214 Fixed
2014-06-10 18:21:36 +04:00
Valentin Kipyatkov
43cac31722 Java to Kotlin converter: corrected test output 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
00ed2f4955 Java to Kotlin converter: removed trim() in test output because it's not needed anymore 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
30ac2bacde Java to Kotlin converter: better formatting preserving from original code
#KT-4801 Fixed
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
2d4d5e2a34 Java to Kotlin converter: added nullability calculation caching 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
1491e0e5a7 Java to Kotlin converter: better treatment of nullable expressions 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
14efefedd6 Java to Kotlin converter: correct code generated for accessing nullable variables 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
0695f6b3d7 Java to Kotlin converter: more smartness about nullability 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
e947ad7294 Java to Kotlin converter: minor corrections after code review 2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
f652c50c8c Java to Kotlin converter: refactored code to drop ArrayInitializerExpression 2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
60d9e53e9f Java to Kotlin converter: replacing equals call to ==/!= and no redundant parethesis generation
#KT-4426 Fixed
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
d691abb1c4 Java to Kotlin converter: code refactoring - extracted some code from Converter into TypeConverter 2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
0631e4fdbe Java to Kotlin converter: converting usages of Kotlin object members
#KT-5172 Fixed
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
e789026291 Java to Kotlin converter: converting usages of Kotlin class object members 2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
b4ab3983f8 Java to Kotlin converter: converting usages of Kotlin global and extension functions and properties 2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
f343b89501 Java to Kotlin converter: converting usages of Kotlin properties from Java 2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
81caaaf579 Java to Kotlin converter: and even more smartness about nullability
#KT-5162 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
d49b4f86fd Java to Kotlin converter: even more smartness about nullability 2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
15ffb6768c Java to Kotlin converter: more smartness about variables nullability 2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
f96721fa7e KT-4418 Converter from java should honor "@Nullable" annotations
#KT-4418 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
118b23061b Java to Kotlin converter: fixed overriding of Object methods 2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
dcfa396b50 Java to Kotlin converter: refactoring work with modifiers, dropped Modifier.FINAL 2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
7c2473a5ef Java to Kotlin conversion: fixed a few bugs related to modifiers
#KT-4424 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
ef8504eb39 Java to Kotlin conversion: minor 2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
6b11a5b3d9 Java to Kotlin converter: no more 2 conversion modes for each test, just a few tests to test non-standard settings 2014-06-10 14:26:51 +04:00
Valentin Kipyatkov
57d118e13d Java to Kotlin conversion: minor refactorings after code review 2014-06-10 14:26:51 +04:00
Ilya Ryzhenkov
ab45439256 Convert iterable of pairs to map, improve generic toMap(mutableMap) function #KT-4166 Fixed 2014-06-10 11:11:03 +04:00
Ilya Ryzhenkov
3a1b9cc658 Improve iterators' functions deprecation text 2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
f471f7901c Migrate to using join* functions instead of deprecated. 2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
19858b9f74 Created join, joinTo and joinToString functions, deprecated makeString & appendString #KT-3841 Fixed 2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
f5a0701076 Support generating "deprecated" functions. 2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
e6f5c7012c Stream.filterIsInstance has wrong return type #KT-5097 Fixed 2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
a2a93a3830 Fix String.dropWhile & String.takeWhile 2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
5b73fba2d4 Support "key in map" using extension contains() function. #KT-3607 Fixed 2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
5f224efdc1 Make empty list produced by listOf() a singleton List object. 2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
692f60b1d6 Uncommented code in data class test for equality and toString 2014-06-10 11:11:00 +04:00
Ilya Ryzhenkov
178ae83e8d sort and binarySearch methods now have correct default toIndex parameter #KT-4963 Fixed 2014-06-10 11:11:00 +04:00
Ilya Ryzhenkov
9ec78a437d Throw NoSuchElementException in appropriate cases #KT-4998 Fixed 2014-06-10 11:11:00 +04:00
Nikolay Krasko
4ac626c1f2 Create separate scope for seaching sources in libraries
Fix build: avoid situation when GlobalSearchScope.contains() returns false for files
under both class root and source root.
2014-06-10 02:24:43 +04:00
Nikolay Krasko
7e22823652 Remove creating too long chain of scopes for searching Kotlin source file 2014-06-09 19:15:14 +04:00
Pavel V. Talanov
5ce8f4b892 JDR, minor: clarifying comment 2014-06-06 17:15:43 +04:00
Svetlana Isakova
68b4b8e946 KT-5182 Data flow info is lost for 'when' branches
#KT-5158 Fixed
  #KT-4332 Fixed
2014-06-06 15:56:02 +04:00
Svetlana Isakova
cb788579ba Refactoring: extracted 'getDataFlowInfosForEntryCondition'
Removed duplicated code
2014-06-06 15:56:02 +04:00
Svetlana Isakova
1eaf79bd1e Analyzing 'when' expression refactoring
collect data flow infos for branch with many conditions
2014-06-06 15:56:02 +04:00
Evgeny Gerashchenko
c7318b3880 Added slashes in generated tests when they are invoked on directory.
This makes it easier to find directory for test using IDEA's go to file/search everywhere features.
2014-06-06 14:33:21 +04:00
Pavel V. Talanov
a10085efe9 Update to IDEA EAP 135.1019 2014-06-05 22:51:04 +04:00
Evgeny Gerashchenko
2568bf6091 Don't report Kotlin JPS versions for modules without Kotlin. 2014-06-05 20:59:07 +04:00
Evgeny Gerashchenko
3a2a3e7cd5 Saving module XMLs in temp directory instead of output. 2014-06-05 20:59:06 +04:00
Pavel V. Talanov
7d9742417f JDR: Remove LazyJavaClassResolver#resolveClassByFqName() 2014-06-05 18:17:07 +04:00
Pavel V. Talanov
53df12598d JDR: Eliminate another usage of LazyJavaClassResolver#resolveClassByFqName()
Refactor Java scopes:
Use abstract functions instead of "is" checks in LazyJavaMemberScope
Move some code to derived classes
2014-06-05 18:17:07 +04:00
Pavel V. Talanov
b69ab12db7 JDR: Use module to resolve special classes 2014-06-05 18:17:06 +04:00
Pavel V. Talanov
ccae693ed2 JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor 2014-06-05 18:17:05 +04:00
Nikolay Krasko
2d72b5afc7 Render short type names in quick documentation and navigation 2014-06-05 17:47:58 +04:00
Natalia Ukhorskaya
57fc2c8301 Android tests: exclude reflection tests 2014-06-05 10:10:30 +04:00
Svetlana Isakova
bc2d2fc2d4 KT-5099 "Remove explicit type arguments" should highlight only type arguments
#KT-5099 Fixed
2014-06-04 22:10:30 +04:00
Svetlana Isakova
1665ef7a00 KT-5028 "remove explicit type arguments" intention shouldn't be applicable
#KT-5028 Fixed
2014-06-04 22:10:29 +04:00
Svetlana Isakova
ae9d2d015e Record 'a!!', 'a ?: b' special calls by operation reference 2014-06-04 22:10:29 +04:00
Svetlana Isakova
cf81a44e02 Added 'getCorrespondingCall' utility function 2014-06-04 22:10:29 +04:00
Svetlana Isakova
8a91ec7964 Record CALL for all invocations, not only for resolved ones 2014-06-04 22:10:29 +04:00
Nikolay Krasko
432eabdbcb Don't process val and var keywords in lambda parameters forever (KT-5170)
#KT-5170 Fixed
2014-06-04 18:53:59 +04:00
Evgeny Gerashchenko
8f6c2b96f3 Extracted method to util class and replaced parameter to Project. 2014-06-04 15:34:19 +04:00
Evgeny Gerashchenko
aad719d809 Minor. Rearranged code. 2014-06-04 15:34:18 +04:00
Evgeny Gerashchenko
aaebce2683 Got rid of ModuleChunk (it makes no sense now). 2014-06-04 15:34:18 +04:00
Evgeny Gerashchenko
601a691e18 Corrected and simplified compilation of module chunk. 2014-06-04 15:34:17 +04:00
Evgeny Gerashchenko
ad8affe07c Renamed and refactored test. 2014-06-04 11:36:42 +04:00
max-kammerer
010776fe08 Merge pull request #480 from nskvortsov/master
fix DSL in Android plugin
2014-06-04 10:16:22 +04:00
Alexey Sedunov
4463c67e28 Extract Function: Fix replacement of type references and constructor references 2014-06-03 18:17:14 +04:00
Alexey Sedunov
3d6fc6e015 Extract Function: Fix replacement of references with class receivers (objects, class objects, enum classes) 2014-06-03 18:17:13 +04:00
Alexey Sedunov
240f033f4f Extract Function: Fix NPE caused by unmatched offset-to-reference maps
#KT-5001 Fixed
2014-06-03 18:17:12 +04:00
Alexey Sedunov
f4c21d3a28 Extract Function: Treat multi declarations as local variables
#KT-5054 Fixed
2014-06-03 18:17:10 +04:00
Alexey Sedunov
3a75aa27f0 Extract Function: Fix extraction of reference to class object property
#KT-5053 Fixed
2014-06-03 18:17:10 +04:00
Alexey Sedunov
1a7e6eab61 Extract Function: Utilize pseudo-value usage for return type inference 2014-06-03 18:17:09 +04:00
Alexey Sedunov
164338d6f5 Remove unused field 2014-06-03 18:17:08 +04:00
Alexey Sedunov
4a5d2e6728 Add tests for element -> pseudo-value mapping 2014-06-03 18:17:07 +04:00
Alexey Sedunov
d2c055e9da Pseudocode: Introduce pseudo-value analysis 2014-06-03 18:17:05 +04:00
Valentin Kipyatkov
3ce96671d9 Java to Kotlin conversion: minor 2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
b47c5975b2 Java to Kotlin conversion: fixed test data 2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
6604af0bdf Java to Kotlin conversion: dropped "NOT_OPEN" pseudo-modifier 2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
66a83a4322 Java to Kotlin conversion: artificial constructors (when no primary detected) use var/val parameters 2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
1be836a956 Java to Kotlin conversion: artificial constructor (when no primary detected) is generated private 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
ebcb04b73b Java to Kotlin conversion: keep constructor access modifier 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
ffa3ff3bbd Generating test output when file is missing: removing trailing whitespaces 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
86d718de29 Java to Kotlin convertor: no empty class body 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
abfd2d68b9 Java to Kotlin convertor: generating of val/var constructor parameters when possible 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
846f2d9954 Java to Kotlin convertor: more code improvements 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
aa8b968756 Java to Kotlin convertor: improving code related to primary constructors 2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
1e39021bd3 Java to Kotlin convertor: making code more "Kolin-like" + numerous micro refactorings 2014-06-03 17:29:00 +04:00
Nikita Skvortsov
6df803ce2f fix DSL in Android plugin 2014-06-03 16:09:30 +04:00
Andrey Breslav
37532e8d02 Compare return types when structurally comparing callables 2014-06-02 22:05:34 +04:00
Andrey Breslav
7f60ccf663 Support equalityAxioms in isSubtypeOf() 2014-06-02 22:05:33 +04:00
Andrey Breslav
9cfbfd2806 Overridability and overloadability checks separated 2014-06-02 22:05:33 +04:00
Andrey Breslav
3f151a022e Checking return value supported in OverridingUtil 2014-06-02 22:05:32 +04:00
Andrey Breslav
e50a17e668 Do not compare local classes by FqNames 2014-06-02 22:05:32 +04:00
Andrey Breslav
93031c1245 OverridingUtil parameterized with equalityAxioms 2014-06-02 22:05:30 +04:00
Andrey Breslav
f54e2bc498 OverridingUtil turned into a singleton 2014-06-02 22:05:30 +04:00
Andrey Breslav
67b8d3a875 Minor. Methods reordered 2014-06-02 22:05:29 +04:00
Andrey Breslav
b022395cb8 Using strategy instead of BiMap 2014-06-02 22:05:29 +04:00
Andrey Breslav
a0d8cefe16 Minor. If's with the same condition merged 2014-06-02 22:05:28 +04:00
Andrey Breslav
204fa76691 When checking overrides, compare methods structurally
Because they may come from different copies of the same class from different modules
2014-06-02 22:05:28 +04:00
Andrey Breslav
5a864dbc62 Fix "rewrite at slice" problems with resolving same Java class many times over the same trace 2014-06-02 21:49:20 +04:00
Nikolay Krasko
848863ef93 Completion fails with exception "Toplevel class has no fqName" (KT-5119)
Groovy scripts files can create PsiClasses with null qualfied names (getQualifiedName()) and names (getName()).

 #KT-5119 Fixed
2014-06-02 20:36:42 +04:00
Alexey Sedunov
1c0d1630e5 Extract Function: Replace IDEA "Extract Method..." action with "Extract Function..." 2014-06-02 19:48:40 +04:00
Alexey Sedunov
07c19b1c9b Extract Function: Create separate action for extraction to arbitrary code block 2014-06-02 19:48:39 +04:00
Alexey Sedunov
ee52073488 Extract Function: Limit the set of allowed containers for the default action 2014-06-02 19:48:38 +04:00
Alexey Sedunov
966def6c77 Replace accessor functions with property 2014-06-02 19:48:37 +04:00
Alexey Sedunov
6ce0ac8187 Move skipVisibility check to createTempCopy() 2014-06-02 19:48:36 +04:00
Alexey Sedunov
3c5c0248a7 Extract Function: In case of top-level and member declarations place extracted function after the original container 2014-06-02 19:48:35 +04:00
Alexander Udalov
ae7ad6d61c Regenerate tests 2014-06-02 18:52:37 +04:00
Alexander Udalov
69dd2bbf10 Fix StringBuilder.append generation
append(StringBuilder) is private and should not be called
2014-06-02 18:29:39 +04:00
Laszlo Hornyak
9dec0fb779 Correct the argument types of the StringBuilder.append
Modified AsmUtil to generate calls to more specific append methods
in the StringBuilder class in order to save computation time and make
less temporary objects.

Also adds unit-test to verify that the append(Object) method was
invoked 0 times while the append(String) 3 times

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-06-02 16:34:44 +04:00
Mikhael Bogdanov
34e8cae89e KT-5112 - test file update 2014-06-02 15:21:28 +04:00
Mikhael Bogdanov
c80901bafa KT-5112 Generic signature lost for a field copied from class object to containing class
#KT-5112 Fixed
2014-06-02 13:12:25 +04:00
Valentin Kipyatkov
4a7d4dffdf Fixed KT-5142 Code completion of parameter type inserts FQ-name
#KT-5142 Fixed
2014-05-30 19:28:06 +04:00
Pavel V. Talanov
7973c9bfca Do not load Icon in LightVariableBuilder constructor 2014-05-30 14:58:50 +04:00
Valentin Kipyatkov
073dcd024c Fixed KT-5101 Partly qualified name is inserted by code completion
#KT-5101 Fixed
2014-05-30 14:31:20 +04:00
Valentin Kipyatkov
4be1cc2786 KT-5079 Support smart completion for when values
#KT-5079 Fixed
2014-05-30 14:30:36 +04:00
Nikolay Krasko
1bc8812613 Don't add space if it has been already added or it's not yet needed 2014-05-30 00:04:10 +04:00
Nikolay Krasko
a5505a6f39 Test for showing kotlin enums with "Show Inherited" option enabled in file structure view 2014-05-30 00:04:09 +04:00
Nikolay Krasko
9c68beb7bc Tests for showing synthetic methods in file structure view 2014-05-30 00:04:09 +04:00
Nikolay Krasko
be6d68741b Show delegated methods when "Show inherited" enabled in file structure view 2014-05-30 00:04:08 +04:00
Nikolay Krasko
582c5874b7 Tune location string in structure view 2014-05-30 00:04:08 +04:00
Nikolay Krasko
3797210b43 Fix empty name for class initializer in project view when "Show Members" enabled 2014-05-30 00:04:07 +04:00
Nikolay Krasko
c309dbe76c Better caching: do not recount when field true value is null 2014-05-30 00:04:07 +04:00
Nikolay Krasko
3494853cc3 Add location string showing where method or property is defined 2014-05-30 00:04:06 +04:00
Nikolay Krasko
f1f13d1f2a Show members from supertypes in file structure view (KT-4448)
#KT-4448 Fixed
2014-05-30 00:04:06 +04:00
Nikolay Krasko
d941deb17c Enable members sorting in file structure view 2014-05-30 00:04:05 +04:00
Nikolay Krasko
58d9375a25 Set up rendering for structure elements 2014-05-30 00:04:04 +04:00
Nikolay Krasko
2d6dc5db68 Revise JetStructureViewElement
- remove 'my' prefix
- inline ItemPresentation
- use descriptor renderer instead of custom one
2014-05-30 00:04:04 +04:00
Nikolay Krasko
dfd66440b4 Tests for file structure 2014-05-30 00:04:03 +04:00
Nikolay Krasko
63d5897d93 Add structure view source roots 2014-05-30 00:04:03 +04:00
Nikolay Krasko
484fa3b7cd Fix invalidating built-ins psi in consecutive test runs 2014-05-30 00:04:02 +04:00
Nikolay Krasko
dd00d7d004 Introduce utility method for working with multifile tests 2014-05-30 00:04:02 +04:00
Nikolay Krasko
82ddbb9d39 Minor: remove warnings 2014-05-30 00:04:01 +04:00
Alexander Udalov
796912bfcb Provide implicit receiver to extension property initializer
This is safe because initializers for extension properties are forbidden
anyway, we'll just won't be generating noisy error messages about non-existent
'this'
2014-05-29 21:24:06 +04:00
Alexander Udalov
a78b7fb31f Don't add initializer to extension property on override/implement 2014-05-29 21:24:06 +04:00
Alexander Udalov
d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov
ea31f372aa Check for syntax/diagnostic errors in some tests 2014-05-29 21:24:05 +04:00
Alexander Udalov
2b5bc6b63d Fix logic of forcing method return type to be wrapped
Return type must be wrapped if any super-method in the hierarchy, not just the
direct super-method, returns a reference type (as opposed to a primitive type)

Actually there was a test reflecting this, but it wasn't running because of an
unfixed diagnostic error
2014-05-29 21:24:02 +04:00
Alexander Udalov
33f8c49275 Minor, change test case according to its name 2014-05-29 21:07:34 +04:00
Alexander Udalov
6210e45fbc Minor, improve test case for KT-1157
Multithreaded version was not working correctly and was throwing NPEs in the
log sometimes
2014-05-29 21:07:34 +04:00
Alexander Udalov
8a84d07645 Fix warnings in JVM codegen tests
Add generics where needed, add nullability annotations, etc.
Also delete some testcases from ArrayGenTest which will never be supported
2014-05-29 21:07:34 +04:00
Svetlana Isakova
beb7dc4524 Supported moving a labeled lambda outside parentheses 2014-05-29 17:18:47 +04:00
Svetlana Isakova
41df522234 Merge pull request #472 from wutalman/move_lambda
KT-4889: (Bug fix) Intention to move lambda outside parentheses now handles commas
2014-05-29 17:11:41 +04:00
Alexey Sedunov
4678a5866a Light Classes: Track original declaration for Kotlin light fields
#KT-4902 Fixed
2014-05-28 21:06:01 +04:00
Alexey Sedunov
ab5e0c8c9c Move: Retain imports when moving top-level declaration
#KT-5049 Fixed
2014-05-28 21:06:00 +04:00
Andrey Breslav
df413c0b47 cast() method in DiagnosticFactory 2014-05-28 14:53:30 +04:00
Natalia Ukhorskaya
d6cc62e12c Merge remote-tracking branch 'origin/pr/465'
Conflicts:
	libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
2014-05-28 12:12:07 +04:00
Andrey Breslav
caeb978c7a Fix for EA-41250 - E: _JetLexer.zzScanError - Could not match input 2014-05-27 18:49:31 +04:00
Andrey Breslav
e50eb73fb1 Throw exceptions (not errors) from lexer
+ Add more data to the exception message
2014-05-27 18:17:46 +04:00
Evgeny Gerashchenko
453fdb0dbe Moved tool window factory into tool window class. 2014-05-27 16:37:32 +04:00
Evgeny Gerashchenko
cd3ffb6564 Removed resolve tool window since it is not used. 2014-05-27 16:37:31 +04:00
Natalia Ukhorskaya
3557977588 Evaluate expression: ClassCastException trying evaluate kotlin expression from java file
EA-56624 Fixed
2014-05-27 13:42:56 +04:00
Natalia Ukhorskaya
0c2120b578 Evaluate expression: add debug expression inside block for function literals
EA-56887 Fixed
2014-05-27 13:42:55 +04:00
Natalia Ukhorskaya
545b8ac7c3 Add information about codeFragment and sourceFile for exceptions from Evaluate Expression 2014-05-27 13:42:55 +04:00
Natalia Ukhorskaya
ec6809ccae Evaluate expression: pass this as first parameter 2014-05-27 13:42:54 +04:00
Nikolay Krasko
a2f369b610 Update to IDEA 135.909 (13.1.3) 2014-05-27 12:34:51 +04:00
Alexander Udalov
cc94010d07 Fix broken test data file 2014-05-26 16:49:10 +04:00
Alexander Udalov
afd3127054 Create and store necessary codegens in MemberCodegen 2014-05-26 16:48:20 +04:00
Alexander Udalov
5b99b0ceb0 Make ClassBuilderOnDemand extend ClassBuilder
Introduce DelegatingClassBuilder, refactor RemappingClassBuilder to use it
2014-05-26 16:48:20 +04:00
Alexander Udalov
9e325b3ebe Remove heuristic from PackageCodegen
Implement the logic in a more straightforward way, move the heuristic to
JavaElementFinder where it was also used
2014-05-26 16:48:19 +04:00
Alexander Udalov
9dd81bdb3d Refactor PackageCodegen and ClassBuilderOnDemand
Make ClassBuilderOnDemand non-abstract and create its instance directly in
PackageCodegen's constructor
2014-05-26 16:48:19 +04:00
Alexander Udalov
4ee7d2e72a Simplify ClassFileFactory
Get rid of outdated assertions, mark createText() as TestOnly, add
NotNull/Nullable annotations.

Inline useless forClass/forTraitImpl/... methods, because this way it's simpler
and some code was already using newVisitor() anyway
2014-05-26 16:48:18 +04:00
Alexander Udalov
ae27ac1661 Minor, reorder code in ExpressionCodegen 2014-05-26 16:48:18 +04:00
Alexander Udalov
7857bc32de Merge ParentCodegenAware and ParentCodegenAwareImpl
Unextend ExpressionCodegen from ParentCodegenAware and make its
getParentCodegen() non-null. This fixes some nullability warnings related to
getParentCodegen()
2014-05-26 16:48:17 +04:00
Alexander Udalov
a1d752c7ae Minor, fix parameter type in MemberCodegen 2014-05-26 15:31:32 +04:00
Alexander Udalov
4ec8000121 Minor cleanup in FieldOwnerContext 2014-05-26 15:31:32 +04:00
Mikhael Bogdanov
69ef648005 Write outer class info for closures 2014-05-26 14:48:37 +04:00
Mikhael Bogdanov
9773015548 Fix visibility for main script function 2014-05-26 14:48:37 +04:00
Mikhael Bogdanov
449e26ce6d New tests for outer class info 2014-05-26 14:48:34 +04:00
Mikhael Bogdanov
1a164cade8 OuterClassInfo refactoring 2014-05-26 12:43:41 +04:00
Valentin Kipyatkov
2ddcae68e8 Fixed KT-5077 Code completion inserts FQ names inside lambda
#KT-5077 Fixed
2014-05-23 19:16:23 +04:00
Zack Grannan
b2858e5b82 Added ConvertToConcatenatedStringIntention 2014-05-23 16:27:46 +04:00
Nikolay Krasko
8e2878a6eb Minor: annotate parameter 2014-05-23 15:36:31 +04:00
Nikolay Krasko
80d6b0800e Make ResolveSessionForBodies.resolveToDescriptor() work for local declarations (EA-56877)
Fix (EA-56877)
2014-05-23 15:36:31 +04:00
Nikolay Krasko
89f80db98f Refactoring: more suitable method 2014-05-23 15:36:30 +04:00
Nikolay Krasko
a8642c8636 Refatoring: rewrite in PsiTreeUtil style 2014-05-23 15:36:29 +04:00
Nikolay Krasko
84fb54fcdb More information for EA-48954 2014-05-23 15:36:29 +04:00
Nikolay Krasko
34a9d9e91d Minor: remove warnings 2014-05-23 15:36:28 +04:00
Mikhael Bogdanov
950840b8c7 KT-5076 Error on inlining into object
#KT-5076 Fixed
2014-05-23 11:59:05 +04:00
Alexander Udalov
0bd482d271 Minor, don't create unnecessary map in OverrideResolver 2014-05-22 19:32:11 +04:00
Alexander Udalov
f3e8ba072d Minor, fix "visibility modifier" positioning strategy for objects
It's not reproducible at the moment, but will matter if more diagnostics use
this positioning strategy
2014-05-22 19:32:11 +04:00
Alexander Udalov
3c3d120004 Prohibit implicit overrides with lesser visibility
A non-abstract super-declaration is allowed to stand as 'an implementation' of
a fake override only if its visibility is not less than visibilities of all
other super-declarations

 #KT-2491 Fixed
2014-05-22 19:32:10 +04:00
Alexander Udalov
1706bd4a00 Render the descriptor in "cannot infer visibility" message
Otherwise it's unclear what member is problematic if it's a fake override
(because the diagnostic in that case is reported on the whole class)
2014-05-22 19:32:10 +04:00
Alexander Udalov
db25f568dc Don't report "cannot infer visibility" on property accessors
If the diagnostic is already reported on the corresponding property, no need to
report it again for accessors
2014-05-22 19:32:10 +04:00
Alexander Udalov
9760f30c99 Don't allow fake override to inherit implementation with wrong return type
#KT-4763 Fixed
2014-05-22 19:32:10 +04:00
Pavel V. Talanov
05a04293ab Update to EAP idea 135.908 2014-05-22 17:08:56 +04:00
Pavel V. Talanov
9ef700b081 Use HintManager instead of JBPopupFactory to notify of intention failure 2014-05-22 15:48:01 +04:00
Pavel V. Talanov
ca15d77f1d Simplify logic in ReplaceWithInfixFunctionCallIntention 2014-05-22 15:47:59 +04:00
Pavel V. Talanov
3334857870 Merge PR#471: Bug Fix: KT-4613 2014-05-22 15:24:22 +04:00
Andrey Breslav
fe9de64487 Enabling creating different descriptors for different Java classes 2014-05-21 23:31:32 +04:00
Andrey Breslav
bee4dbc672 Error types should not be compared by FqName 2014-05-21 23:31:32 +04:00
Andrey Breslav
a66f44e4f5 TypeConstructor's equality for classes relies on FqNames
This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
 Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
  (think intellij-core vs idea-full).
2014-05-21 23:31:32 +04:00
Andrey Breslav
f714382bd8 ErrorClassDescriptor moved to ErrorUtils 2014-05-21 23:31:31 +04:00
Pavel V. Talanov
e2efae3f46 Fix copying filename raising an exception
#KT-4990 Fixed
2014-05-21 19:21:50 +04:00
Natalia Ukhorskaya
903f262a79 Rewrite suppressing visibility errors for debugger 2014-05-21 18:37:51 +04:00
Pavel V. Talanov
2f878c1b69 Increase stub version before pushing to master 2014-05-21 16:51:03 +04:00
Pavel V. Talanov
c8a9381904 Minor: reformat JetStubElementTypes
After a series of messy merges :(
2014-05-21 16:51:01 +04:00
Pavel V. Talanov
b4b24262a0 Build stubs for insides of local objects and classes 2014-05-21 16:50:59 +04:00
Pavel V. Talanov
e33144f89a Define toString() for stub impl classes via reflection
Update outdated test data for stub builder test
2014-05-21 16:50:55 +04:00
Pavel V. Talanov
ab4d4a309a Remove redundant isAnnotation(), isEnum() and isInner() from PsiJetClassStub 2014-05-21 15:40:45 +04:00
Pavel V. Talanov
f5495a21d2 Minor: rename and move constant 2014-05-21 15:40:44 +04:00
Pavel V. Talanov
ed7e3b558a Array factory used in JetDotQualifiedExpression 2014-05-21 15:40:43 +04:00
Pavel V. Talanov
0a576995c7 Use getDebugText() in LazyImportScope 2014-05-21 15:40:42 +04:00
Pavel V. Talanov
15574a2026 Store fqName as StringRef in PsiJetParameterStub 2014-05-21 15:40:41 +04:00
Pavel V. Talanov
dee1437d92 Use stub in JetImportDirective#isValidImport() 2014-05-21 15:40:40 +04:00
Pavel V. Talanov
2858552ba2 Add isValid() to PsiJetImportDirectiveStub 2014-05-21 15:40:39 +04:00
Pavel V. Talanov
fedbe424df Use getDebugText() in AnalyzingUtils 2014-05-21 15:40:38 +04:00
Pavel V. Talanov
d50c50c0ec Use getDebugText() in CallMaker 2014-05-21 15:40:37 +04:00
Pavel V. Talanov
ef4c15a2c8 Implement getDebugText() which should be used instead of getText() for debug purposes 2014-05-21 15:40:36 +04:00
Pavel V. Talanov
409f677559 Move getImportPath and related utils from JetPsiUtil to JetImportDirective 2014-05-21 15:40:35 +04:00
Pavel V. Talanov
c8d2bda880 Add visitJetConstructorCalleeExpression to visitors 2014-05-21 15:40:34 +04:00
Pavel V. Talanov
69890bd6ec Refactor: Store token in JetProjectionKind 2014-05-21 15:40:33 +04:00
Pavel V. Talanov
bf20377759 Remove redundant field and constructor from PsiJetTypeParameterStubImpl 2014-05-21 15:40:32 +04:00
Pavel V. Talanov
c9193818e7 Remove unused PsiJetFunctionStub#getAnnotations() 2014-05-21 15:40:31 +04:00
Pavel V. Talanov
c9eb313ec4 Add MultiFileHighlightingTest which checks that other files are not parsed during highlighting 2014-05-21 15:40:30 +04:00
Pavel V. Talanov
b3898cfb0d Force the user of AstAccessControl to write at least one test violating restriction, implement such tests for existing tests
This is needed because the slightest change in the test setup can make the check useless without the client knowing
The solution is ugly but gives at least some protection against this
2014-05-21 15:40:29 +04:00
Pavel V. Talanov
071553c66b Extract and use ModifiersChecker#reportIllegalModifiers() 2014-05-21 15:40:28 +04:00
Pavel V. Talanov
4e9103f7ab Remove redundant PsiJetParameterStub#isVarArg() 2014-05-21 15:40:27 +04:00
Pavel V. Talanov
dd92132eff Make JetPackageDirective extend JetModifierListOwnerStub
Simplify check in DeclarationsChecker to avoid AST access
2014-05-21 15:40:26 +04:00
Pavel V. Talanov
ce68fe93f6 Use stubs to get parent in DiagnosticsWithSuppression 2014-05-21 15:40:25 +04:00
Pavel V. Talanov
64731e526d Rename JetStubbedPsiUtil#getContainingDeclaration(PsiElement, Class, boolean) to getPsiOrStubParent 2014-05-21 15:40:24 +04:00
Pavel V. Talanov
fd280abcce JetClassBody#getAllClassObjects() by stub 2014-05-21 15:40:23 +04:00
Pavel V. Talanov
e42e923d4e JetPackageDirective#getPackageNameExpression() by stub 2014-05-21 15:40:22 +04:00
Pavel V. Talanov
b7c1054198 JetFile#getPackageDirective() by stub 2014-05-21 15:40:21 +04:00
Pavel V. Talanov
760b5e8d3b JetClassBody#getProperties() by stub 2014-05-21 15:40:20 +04:00
Pavel V. Talanov
f83bcf47b7 Get enclosing property for property accessor by stub in ScopeProvider 2014-05-21 15:40:19 +04:00
Pavel V. Talanov
3099ca6501 Stubs for dot qualified expression built inside package directive 2014-05-21 15:40:18 +04:00
Pavel V. Talanov
0eebdfcd7b Fix positioning strategy for OVERRIDING_FINAL_MEMBER
Remove unneeded call to AST
2014-05-21 15:40:17 +04:00
Pavel V. Talanov
cf015f2526 Stubs for JetPackageDirective 2014-05-21 15:40:16 +04:00
Pavel V. Talanov
16f4477c38 JetClass#isLocal() by stub 2014-05-21 15:40:15 +04:00
Pavel V. Talanov
8354233f85 Add multi file test for completion of enum entry 2014-05-21 15:40:14 +04:00
Pavel V. Talanov
4c39886edc Minor: fix test data 2014-05-21 15:40:13 +04:00
Pavel V. Talanov
e10a0cca59 JetObjectDeclaration#isLocal() by stub 2014-05-21 15:40:13 +04:00
Pavel V. Talanov
fbf2cded0d Refactor AbstractMultiFileJvmBasicCompletionTest to extend CompletionTestCase
Extract common code from JetFixtureCompletionBaseTestCase to CompletionTestUtil.kt
Reason for this change is that I couldn't get the check that prohibits tree loading to work with fixture test case
2014-05-21 15:40:12 +04:00
Pavel V. Talanov
1bc4872baf Avoid accessing stubs in JetFileStubBuilder
Probable fix of SOE in file stub building
2014-05-21 15:40:10 +04:00
Pavel V. Talanov
1f5b0b5abb Minor: use getBody() in JetObjectDeclaration instead of obtaining it manually 2014-05-21 15:40:10 +04:00
Pavel V. Talanov
0d4feb3bf3 JetInitializerList#getInitializers() by stub 2014-05-21 15:40:09 +04:00
Pavel V. Talanov
72bdacb074 Add explicit return types to several test data files so that AST access is not needed
Test cases are chosen so that addition/removal of explicit type will not interfere with the original purpose of the test
2014-05-21 15:40:08 +04:00
Pavel V. Talanov
a807712ce7 Mark test data files for cases which can't be resolved without AST access 2014-05-21 15:40:07 +04:00
Pavel V. Talanov
fd3d322300 Add LazyResolveByStubTest
Tests that lazy resolve uses stubs instead of AST
2014-05-21 15:40:05 +04:00
Pavel V. Talanov
977f4ac070 Get parent by stub in ScopeProvider 2014-05-21 15:40:04 +04:00
Pavel V. Talanov
2f72731d85 Get parent by stub in DescriptorResolver 2014-05-21 15:40:04 +04:00
Pavel V. Talanov
ba014552c8 Get parent by stub in LazyTypeParameterDescriptor 2014-05-21 15:40:03 +04:00
Pavel V. Talanov
97ad9320ad Get parent by stub in PsiCodegenPredictor 2014-05-21 15:40:02 +04:00
Pavel V. Talanov
f15d363087 Do not invoke getDelegateExpression before it is needed 2014-05-21 15:40:01 +04:00
Pavel V. Talanov
5078be1564 JetFunctionTypeReceiver#getTypeReference() by stub 2014-05-21 15:40:00 +04:00
Pavel V. Talanov
c7c9b5f584 JetEnumEntry#getDelegationSpecifiers() by stub 2014-05-21 15:39:59 +04:00
Pavel V. Talanov
77cb81f282 Stubs for JetInitializerList 2014-05-21 15:39:58 +04:00
Pavel V. Talanov
5ad1fac2b2 JetPropertyAccessor#isGetter(), isSetter(), hasBody(), getReturnTypeReference() by stub 2014-05-21 15:39:57 +04:00
Pavel V. Talanov
b9aaab12d4 Introduce JetParameter#hasDefaultValue() and use it instead of getDefaultValue() where appropriate 2014-05-21 15:39:56 +04:00
Pavel V. Talanov
5bf5dfc5a4 Use hasInitializer() instead of getInitializer() in DescriptorResolver 2014-05-21 15:39:55 +04:00
Pavel V. Talanov
b67b5f92f8 Remove AST query in DescriptorResolver#resolvePrimaryConstructorParameterToAProperty() 2014-05-21 15:39:54 +04:00
Pavel V. Talanov
24ffe3dbb9 Do not call getInitializer() for variables before it is needed when computing compile time constants 2014-05-21 15:39:53 +04:00
Pavel V. Talanov
9aba5beec7 Add hasInitializer() to JetWithExpressionInitializer interface 2014-05-21 15:39:52 +04:00
Pavel V. Talanov
6759d625f7 JetProperty#getAccessors() by stub 2014-05-21 15:39:51 +04:00
Pavel V. Talanov
ada9845b5f JetProperty#getReceiverTypeRef() and getReturnTypeRef() by stub 2014-05-21 15:39:50 +04:00
Pavel V. Talanov
abda0deac8 Stubs for JetPropertyAccessor 2014-05-21 15:39:49 +04:00
Pavel V. Talanov
ba578422cd Add hasReceiverTypeRef() and hasReturnTypeRef() to PsiJetPropertyStub 2014-05-21 15:39:48 +04:00
Pavel V. Talanov
86ac8bbd65 Use stubs in has* methods of JetProperty 2014-05-21 15:39:47 +04:00
Pavel V. Talanov
736465f1c6 Add hasDelegate(), hasDelegateExpression() and hasInitializer() to PsiJetPropertyStub 2014-05-21 15:39:46 +04:00
Pavel V. Talanov
a61ab440d7 Extract JetProperty#hasInitializer() and use it where appropriate 2014-05-21 15:39:45 +04:00
Pavel V. Talanov
58651d02c2 Extract JetProperty#hasDelegate() and hasDelegateExpression() and use it where appropriate 2014-05-21 15:39:44 +04:00
Pavel V. Talanov
e424b89d82 Extract JetProperty#hasDelegateExpressionOrInitializer() and use it where appropriate 2014-05-21 15:39:43 +04:00
Pavel V. Talanov
c14843bc49 Remove unused fields and redundant constructor from PsiJetPropertyStubImpl 2014-05-21 15:39:42 +04:00
Pavel V. Talanov
bfd5489e90 Rewrite DescriptorResolver#checkParameterHasNoModifier() to avoid accessing tree before illegal modifier is detected 2014-05-21 15:39:41 +04:00
Pavel V. Talanov
904e2fe1fc JetAnnotation#getEntries() by stub 2014-05-21 15:39:40 +04:00
Pavel V. Talanov
40311144f4 JetTypeConstraint#getBoundTypeReference() by stub 2014-05-21 15:39:39 +04:00
Pavel V. Talanov
31bebf924a JetTypeConstraint#getStubTypeParameterName() and isClassObjectConstraint() by stub 2014-05-21 15:39:38 +04:00
Pavel V. Talanov
cbbcb861bb JetTypeConstraintList#getConstraints() by stub 2014-05-21 15:39:37 +04:00
Pavel V. Talanov
dce4d259d9 Stubs for JetTypeConstraint 2014-05-21 15:39:36 +04:00
Pavel V. Talanov
9aa5681d80 Introduce JetParameter#hasValOrVarNode() and use it instead of getValOrVarNode() 2014-05-21 15:39:35 +04:00
Pavel V. Talanov
26452c845c Positioning strategy used in "conflicting upper bounds" error messages 2014-05-21 15:39:34 +04:00
Pavel V. Talanov
94270e3486 Use stubs in JetAnnotationEntry#getValueArgumentList() 2014-05-21 15:39:33 +04:00
Pavel V. Talanov
f0a36ae4e0 Add hasValueArguments() to PsiJetAnnotationEntryStub 2014-05-21 15:39:32 +04:00
Pavel V. Talanov
12d701b071 JetAnnotationEntry#getCalleeExpression() by stub 2014-05-21 15:39:31 +04:00
Pavel V. Talanov
46d2d95de6 JetConstructorCalleeExpression#getTypeReference() by stub 2014-05-21 15:39:30 +04:00
Pavel V. Talanov
8b95fd1d0c JetDelegatorToSuperCall#getCalleeExpression() by stub 2014-05-21 15:39:29 +04:00
Pavel V. Talanov
029a792165 JetNullableType#getInnerType() by stub 2014-05-21 15:39:28 +04:00
Pavel V. Talanov
3dbc77c809 Stubs for JetConstructorCalleeExpression 2014-05-21 15:39:27 +04:00
Pavel V. Talanov
f22e9e185a Move utility to JetStubbedPsiUtil
Extract utility to obtain child of several possible element types
2014-05-21 15:39:26 +04:00
Pavel V. Talanov
b08f37345e JetDelegationSpecifier#getTypeReference() by stub 2014-05-21 15:39:25 +04:00
Pavel V. Talanov
e5cec5aaeb JetDelegationSpecifierList#getDelegationSpecifiers() by stub 2014-05-21 15:39:24 +04:00
Pavel V. Talanov
5d8d743600 JetObjectDeclaration#getBody() by stub 2014-05-21 15:39:23 +04:00
Pavel V. Talanov
ea42b77cdb JetObjectDeclaration#getDelegationSpecifierList() by stub 2014-05-21 15:39:22 +04:00
Pavel V. Talanov
e4ab5b93b1 Retrieve containing class for JetClassObject by stub in ResolveSession#getClassObjectDescriptor() 2014-05-21 15:39:21 +04:00
Pavel V. Talanov
cb4dadb9aa Retrieve JetClassObject element by stub in ResolveSession#getClassDescriptor() 2014-05-21 15:39:20 +04:00
Pavel V. Talanov
faa7f8fc6b Add util class for stubbed PSI
Implement methods to find parent by stub
2014-05-21 15:39:19 +04:00
Pavel V. Talanov
c5977bff96 JetClassObject#getObjectDeclaration() by stub 2014-05-21 15:39:18 +04:00
Pavel V. Talanov
76608ff01b Stubs for delegation specifiers 2014-05-21 15:39:17 +04:00
Pavel V. Talanov
1f3797ffb2 JetModifierList#getAnnotations() and getAnnotationEntries() by stub 2014-05-21 15:39:16 +04:00
Pavel V. Talanov
70f85bd2a2 JetFile#getDeclarations() by stub 2014-05-21 15:39:15 +04:00
Pavel V. Talanov
7046168868 Add isLocal() to JetClassOrObject, use it where appropriate 2014-05-21 15:39:14 +04:00
Pavel V. Talanov
77a6b4444b Add missing types to DECLARATION_TYPES and move to JetStubElementTypes 2014-05-21 15:39:13 +04:00
Pavel V. Talanov
ffdc11c356 Stubs for JetClassInitializer 2014-05-21 15:39:12 +04:00
Pavel V. Talanov
6a824fd568 JetModifierList#hasKeyword() by stub 2014-05-21 15:39:11 +04:00
Pavel V. Talanov
35121643b1 Fix stubs for JetModifierList, store modifier tokens in stub 2014-05-21 15:39:10 +04:00
Pavel V. Talanov
b7d029368e JetTypeProjection#getTypeReference() by stub 2014-05-21 15:39:09 +04:00
Pavel V. Talanov
a2a7b8a37a JetTypeProjection#getProjectionKind() by stub 2014-05-21 15:39:08 +04:00
Pavel V. Talanov
f74c1aeb98 JetTypeArgumentList#getArguments() by stub 2014-05-21 15:39:08 +04:00
Pavel V. Talanov
254bfdd879 Extract JetModifierListOwnerStub, make JetTypeProjection extend JetModifierListOwnerStub 2014-05-21 15:39:07 +04:00
Pavel V. Talanov
b4ec9a5d1a Stubs for JetTypeProjection 2014-05-21 15:39:06 +04:00
Pavel V. Talanov
f9a051e71e JetNamedFunction#hasTypeParameterListBeforeFunctionName() by stub 2014-05-21 15:39:05 +04:00
Pavel V. Talanov
1d112c3358 Add hasTypeParameterListBeforeFunctionName() to PsiJetFunctionStub 2014-05-21 15:39:04 +04:00
Pavel V. Talanov
0418085bc9 Inline constructor of PsiJetFunctionStubImpl 2014-05-21 15:39:03 +04:00
Pavel V. Talanov
edc7b8a81d JetTypeParameter#getExtendsBound() by stub 2014-05-21 15:39:02 +04:00
Pavel V. Talanov
7e56311d6f Add isTopLevel() to PsiJetClassStub 2014-05-21 15:39:01 +04:00
Pavel V. Talanov
6a6a52e53c Minor: inline consturctor of PsiJetClassStubImpl 2014-05-21 15:39:00 +04:00
Pavel V. Talanov
b5374584bb Add and use JetClassOrObject#isTopLevel() 2014-05-21 15:38:59 +04:00
Pavel V. Talanov
0bc176892f JetObjectDeclaration#getModifierList() by stub 2014-05-21 15:38:58 +04:00
Pavel V. Talanov
cf5b35fbe6 JetFunctionType#getReturnTypeRef() by stub 2014-05-21 15:38:57 +04:00
Pavel V. Talanov
08335938aa JetFunctionType#getParameterList() by stub 2014-05-21 15:38:56 +04:00
Pavel V. Talanov
b165e3f6da JetFunctionType#getReceiverTypeRef() by stub 2014-05-21 15:38:55 +04:00
Pavel V. Talanov
b6f507c0ae Stubs for JetFunctionTypeReceiver 2014-05-21 15:38:54 +04:00
Pavel V. Talanov
1e04ff670d Stubs for JetFunctionType 2014-05-21 15:38:53 +04:00
Pavel V. Talanov
735188e76f JetClassBody#getClassObject() by stub 2014-05-21 15:38:52 +04:00
Pavel V. Talanov
19cf463831 JetClass#getBody() by stub 2014-05-21 15:38:51 +04:00
Pavel V. Talanov
40369f1e3b REVIEW: JetClassBody#getDeclarations() by stub 2014-05-21 15:38:50 +04:00
Pavel V. Talanov
741dba111b JetClass#getDeclarations() by stub 2014-05-21 15:38:49 +04:00
Pavel V. Talanov
bceb5c3970 JetClass#getDelegationSpecifierList() by stub 2014-05-21 15:38:48 +04:00
Pavel V. Talanov
cc3b1ed07b Stub for JetDelegationSpecifierList 2014-05-21 15:38:47 +04:00
Pavel V. Talanov
276cd58b98 JetImportDirective#getAliasName() by stub 2014-05-21 15:38:46 +04:00
Pavel V. Talanov
abcff9c3a1 Add aliasName to PsiJetImportDirectiveStub 2014-05-21 15:38:45 +04:00
Pavel V. Talanov
440441899b getReceiverExpression() and getSelectorExpression() in JetDotQualifiedExpression using stubs 2014-05-21 15:38:44 +04:00
Pavel V. Talanov
1002999921 isAllUnder(), inAbsoluteInPackage() and getImportedReference() for JetImportDirective using stubs 2014-05-21 15:38:43 +04:00
Pavel V. Talanov
b423ff3cd7 Add ArrayFactory to JetExpression 2014-05-21 15:38:42 +04:00
Pavel V. Talanov
95f9610f06 Add isAbsoluteInRootPackage and isAllUnder to PsiJetImportDirectiveStub 2014-05-21 15:38:41 +04:00
Pavel V. Talanov
927b1971de Stub for JetDotQualifiedExpression 2014-05-21 15:38:40 +04:00
Pavel V. Talanov
1112198e42 Make JetDotQualifiedExpression extend JetElementImplStub 2014-05-21 15:38:39 +04:00
Pavel V. Talanov
fed01eb003 Rewrite JetQualifiedExpression to kotlin and make it a trait
Move implementation to JetQualifiedExpressionImpl class
2014-05-21 15:38:38 +04:00
Pavel V. Talanov
28f169df4a Introduce JetExpressionImplStub 2014-05-21 15:38:37 +04:00
Pavel V. Talanov
52dc053061 JetObjectDeclaration#isObjectLiteral() by stub 2014-05-21 15:38:36 +04:00
Pavel V. Talanov
c123cfba59 Add isObjectLiteral() to PsiJetObjectStub 2014-05-21 15:38:35 +04:00
Pavel V. Talanov
24d0d23144 Minor: inline redundant constructor of PsiJetObjectStubImpl 2014-05-21 15:38:34 +04:00
Pavel V. Talanov
1661a2e4f5 Stubs for JetClassObject 2014-05-21 15:38:33 +04:00
Pavel V. Talanov
8835063188 JetObjectDeclaration#getClassObject() by stub 2014-05-21 15:38:32 +04:00
Pavel V. Talanov
4392e47210 Use psi methods in JetObjectInfo to determine if object is in fact class object 2014-05-21 15:38:31 +04:00
Pavel V. Talanov
9df3e8a036 JetClass#getPrimaryConstructorParameterList by stub 2014-05-21 15:38:30 +04:00
Pavel V. Talanov
fe82fff099 Use stub in JetParameter#getDefaultValue() 2014-05-21 15:38:29 +04:00
Pavel V. Talanov
e8d065a80f Add PsiJetParameterStub#hasDefaultValue 2014-05-21 15:38:28 +04:00
Pavel V. Talanov
f8d9a69aa9 Remove unused fields in PsiJetParameterStub 2014-05-21 15:38:27 +04:00
Pavel V. Talanov
b33e43c416 Use stub in JetParameter#getValOrValNode() 2014-05-21 15:38:27 +04:00
Pavel V. Talanov
420cae5307 Add PsiJetParameterStub#hasValOrValNode 2014-05-21 15:38:26 +04:00
Pavel V. Talanov
b52474381b JetUserType#getTypeArgumentList by stub 2014-05-21 15:38:25 +04:00
Pavel V. Talanov
0576dd15f0 Stubs for JetTypeArgumentList 2014-05-21 15:38:24 +04:00
Pavel V. Talanov
895dd51009 JetUserType#getQualifier by stub 2014-05-21 15:38:23 +04:00
Pavel V. Talanov
0ac56dd393 JetUserType#isAbsoluteInRootPackage by stub 2014-05-21 15:38:22 +04:00
Pavel V. Talanov
2d1b765943 JetUserType#getReferenceExpression by stub 2014-05-21 15:38:21 +04:00
Pavel V. Talanov
da9d57f7ac JetNameReferenceExpression#getReferencedName() by stub 2014-05-21 15:38:20 +04:00
Pavel V. Talanov
0674d2495c Stubs for JetNameReferenceExpression 2014-05-21 15:38:19 +04:00
Pavel V. Talanov
19a60dda3f Missing JetElementImplStub#getReferences() and getReference() implementation 2014-05-21 15:38:18 +04:00
Pavel V. Talanov
3ea5011549 Make JetSimpleNameExpression#isImportDirectiveExpression extension function and move it to util class 2014-05-21 15:38:17 +04:00
Pavel V. Talanov
5940353552 More specific return type for JetUserType#getReferenceExpression 2014-05-21 15:38:16 +04:00
Pavel V. Talanov
60efb13b11 JetTypeReference#getTypeElement() by stub 2014-05-21 15:38:15 +04:00
Pavel V. Talanov
faa30da399 Fix KotlinImportOptimizer after change to imports 2014-05-21 15:38:14 +04:00
Pavel V. Talanov
bb26e08b7b JetTypeReference#getAttributeAnnotations() by stubs 2014-05-21 15:38:13 +04:00
Pavel V. Talanov
2e23d27b0d Stubs for JetAnnotation 2014-05-21 15:38:12 +04:00
Pavel V. Talanov
7e59f0d68c Rename: AnnotationStub -> AnnotationEntryStub 2014-05-21 15:38:11 +04:00
Pavel V. Talanov
a604efebd9 JetNamedFunction#hasBody() by stub 2014-05-21 15:38:10 +04:00
Pavel V. Talanov
66aae37bc6 Refactor: add hasBody() to JetDeclarationWithBody interface
Use it where appropriate
2014-05-21 15:38:09 +04:00
Pavel V. Talanov
e7fd8c4118 Add PsiJetFunctionStub#hasBody() 2014-05-21 15:38:08 +04:00
Pavel V. Talanov
737177a56e JetNamedFunction#hasBlockBody() by stub 2014-05-21 15:38:07 +04:00
Pavel V. Talanov
1592e649d7 Add PsiJetFunctionStub#hasBlockBody() 2014-05-21 15:38:06 +04:00
Pavel V. Talanov
ab0b529f05 JetValueParameter#getTypeReference() by stub 2014-05-21 15:38:05 +04:00
Pavel V. Talanov
581ecda0f2 JetNamedFunction#getReceiverTypeRef and getReturnTypeRef by stub 2014-05-21 15:38:04 +04:00
Pavel V. Talanov
56e3500eaa Stubs for JetUserType 2014-05-21 15:38:03 +04:00
Pavel V. Talanov
2b3175a0bf Stubs for JetTypeReference 2014-05-21 15:38:02 +04:00
Pavel V. Talanov
be2f77d0f9 Stubs for JetNullableType 2014-05-21 15:38:01 +04:00
Pavel V. Talanov
1d3a3aea09 Introduce helper method to get stub or psi children as list
Add ArrayFactory to JetStubElement
Remove redundant array factories
2014-05-21 15:38:00 +04:00
Pavel V. Talanov
eb27020340 Stubs: reduce the amount of boilerplate code
Extract a common type for placeholder stub elements
2014-05-21 15:37:59 +04:00
Pavel V. Talanov
512d1c05df Minor: make JetTypeElement an interface 2014-05-21 15:37:58 +04:00
Pavel V. Talanov
c504082eb7 JetTypeParameterListOwnerStub#getTypeConstraintList() by stub 2014-05-21 15:37:57 +04:00
Pavel V. Talanov
5c0202c735 Stubs for JetTypeConstraintList 2014-05-21 15:37:56 +04:00
Pavel V. Talanov
3b5ee6fdf0 JetDeclaration#getModifierList() by stub
JetClass#getPrimaryConstructorModifierList() by stub
2014-05-21 15:37:55 +04:00
Pavel V. Talanov
97d19d4b16 Stubs for JetModifierList 2014-05-21 15:37:54 +04:00
Pavel V. Talanov
78c1717eed JetFile#getImportList() and JetImportList#getImports() by stubs 2014-05-21 15:37:53 +04:00
Pavel V. Talanov
2ab81d3b79 JetTypeParameterListOwnerStub#getTypeParameterList by stub 2014-05-21 15:37:52 +04:00
Pavel V. Talanov
b19288cd47 Stubs for JetImportDirective 2014-05-21 15:37:51 +04:00
Pavel V. Talanov
684ead7b58 Stubs for JetImportList 2014-05-21 15:37:50 +04:00
Pavel V. Talanov
43e22ab5c1 Make JetSimpleNameExpression#getReceiverExpression extension function and move it to util class 2014-05-21 15:37:49 +04:00
Pavel V. Talanov
e84eebec5b Make JetSimpleNameExpression a trait 2014-05-21 15:37:48 +04:00
Pavel V. Talanov
6413691c33 Rewrite JetSimpleNameExpression and inheritors to Kotlin 2014-05-21 15:37:47 +04:00
Pavel V. Talanov
c2f28a16b4 Make JetReferenceExpression an interface 2014-05-21 15:37:46 +04:00
Pavel V. Talanov
00eabde4ec Make JetSimpleNameExpression abstract, create subclasses for each element type
It's not a good practice to have one PSI class to correspond to several element types
2014-05-21 15:37:45 +04:00
Andrey Breslav
5c1cb6cbd1 Minor. More specific return type 2014-05-21 15:26:05 +04:00
Andrey Breslav
773cb9efbe Signature comparison used to find super functions in SignaturesPropagationData
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Andrey Breslav
44849f8504 Move JvmMethodSignature to frontend.java 2014-05-21 15:26:04 +04:00
Mikhael Bogdanov
a622638e45 Code clean 2014-05-21 13:56:09 +04:00
Mikhael Bogdanov
6ad2814b01 Suppot inlining default methods, inlining function into its default. 2014-05-21 13:56:09 +04:00
Mikhael Bogdanov
b3fef4a7a0 Substitute Call with JetElement in InliningContext to support default inlining (there is no call) 2014-05-21 13:56:08 +04:00
Mikhael Bogdanov
086208f7b9 Code clean 2014-05-21 13:56:08 +04:00
Mikhael Bogdanov
d73ffc2f48 Diagnostic update to support default parameters in inline methods 2014-05-21 13:56:08 +04:00
Andrey Breslav
3bd1329846 Fix file name case 2014-05-21 13:38:08 +04:00
Andrey Breslav
269e4ae828 SwapBinaryExpression: implementation cleaned up, tests renamed
#KT-4868 Fixed
2014-05-21 12:56:43 +04:00
Lingzhang
acf1dc1912 KT-4868 Bug Fix for Swap Binary Expression Intention 2014-05-21 12:56:39 +04:00
Natalia Ukhorskaya
7e66d67b95 EvaluateExpression: pass invokePolicy flag to eval4j 2014-05-21 12:26:58 +04:00
Natalia Ukhorskaya
51b95181f0 Eval4j: add invokePolicy flag to jdiEval 2014-05-21 12:26:58 +04:00
Alexander Udalov
9c04c9ea38 Fix stdlib tests on JVM
#KT-5064 Open
2014-05-21 02:04:36 +04:00
Alexander Udalov
af3d56b44e Fix JVM type mapping of arrays of type variables
#KT-4262 Fixed
 #KT-5056 Fixed
2014-05-20 19:22:53 +04:00
Alexander Udalov
4e8d6d4882 Report ABI version errors before diagnostics and other errors
Otherwise they're difficult to find in the end of the compiler messages
2014-05-20 19:22:53 +04:00
Valentin Kipyatkov
c56b5bfd61 Added 2 tests 2014-05-20 18:56:48 +04:00
Valentin Kipyatkov
5ce3df4845 KT-5025 Unnecessary qualifier inserted for class
#KT-5025 Fixed
2014-05-20 18:56:48 +04:00
Natalia Ukhorskaya
58b82baa2b Remove unnecessary error report from extract function 2014-05-20 16:12:55 +04:00
Natalia Ukhorskaya
d263621ef5 Evaluate expression: refactor error messages 2014-05-20 16:12:53 +04:00
Natalia Ukhorskaya
47ecfd0f8d Evaluate expression: rethrow exceptions from evaluate expression 2014-05-20 15:38:14 +04:00
Svetlana Isakova
cab8709f1c Rename: JetNodeTypes.LABEL_REFERENCE -> LABEL
There is LABEL_REFERENCE node in LabeledExpression, but it isn't a reference there
2014-05-20 15:07:03 +04:00
Svetlana Isakova
e0f37bbef0 Generate parse error on label without name '@' 2014-05-20 15:07:03 +04:00
Svetlana Isakova
f109cfc303 Replaced PrefixExpression with LabeledExpression
where labeled expression is used

Added 'visitLabeledExpression'
2014-05-20 15:07:02 +04:00
Svetlana Isakova
04729f5985 Added JetLabeledExpression; added support to parser 2014-05-20 15:07:01 +04:00
Svetlana Isakova
f187c4f093 Minor: added annotation, used util method 2014-05-20 15:07:01 +04:00
Svetlana Isakova
07c0d87a8f Rename
JetLabelQualifiedExpression -> JetExpressionWithLabel
JetLabelQualifiedInstanceExpression -> JetInstanceExpressionWithLabel
2014-05-20 15:07:00 +04:00
Svetlana Isakova
9b70ab7d16 Removed AT, ATAT tokens
Checks 'in LABELS token set' replaced with LABEL_IDENTIFIER equality
2014-05-20 15:07:00 +04:00
Svetlana Isakova
012953529c Don't parse @, @@ as independent tokens
Regenerated lexer
2014-05-20 15:06:59 +04:00
Svetlana Isakova
69e5444ddf Added tests on labels
#KT-1703 Fixed
 #KT-361 Fixed
 #KT-3920 Fixed
 #KT-3988 Fixed
 #KT-4247 Fixed
 #KT-4586 Fixed
 #KT-4603 Fixed
 #KT-591 Fixed
2014-05-20 15:06:59 +04:00
Svetlana Isakova
a02af7344e LabelResolver refactoring: rename public methods
resolveLabel -> resolveControlLabel
resolveThisLabel -> resolveThisOrSuperLabel
+ small improvements
2014-05-20 14:58:50 +04:00
Svetlana Isakova
8c8db832f1 LabelResolver refactoring: removed 'reportUnresolved' parameter 2014-05-20 14:58:50 +04:00
Svetlana Isakova
2952ff558a Made LabelResolver a singleton 2014-05-20 14:58:50 +04:00
Svetlana Isakova
f3f2bf5123 Removed cache for labeled elements
Resolve labels on the fly
2014-05-20 14:58:50 +04:00
Svetlana Isakova
3bcdbee2bf Removed LabelName class, used Name instead 2014-05-20 14:58:49 +04:00
Alexander Udalov
98f80fe1e0 Increase ABI version after changes to FunctionImpl* classes 2014-05-19 19:50:59 +04:00
Alexander Udalov
54c21ffbf3 Delete K*FunctionNImpl classes
In favor of KFunctionImpl, KMemberFunctionImpl and KExtensionFunctionImpl
2014-05-19 19:50:59 +04:00
Alexander Udalov
8f7c0f0b65 Introduce KFunctionImpl, KMemberFunctionImpl, KExtensionFunctionImpl
Old 23*3 classes will be dropped, since they have no value.

Simplify JvmFunctionImplTypes significantly because of that
2014-05-19 19:50:59 +04:00
Alexander Udalov
ccead8e337 Replace some usages of ERROR_CLASS with new instance creation
Because when some class is unresolved, we can still hold some information such
as its FQ name, for debugging purposes and better error messages
2014-05-19 19:50:59 +04:00
Alexander Udalov
54a44b1533 Introduce AbstractTypeParameterDescriptor
- pull the logic up from TypeParameterDescriptorImpl and
  AbstractLazyTypeParameterDescriptor (it was mostly duplicated)
- delete some unused methods
2014-05-19 19:50:59 +04:00
Alexander Udalov
31e8622471 Remove suspicious JetTypeImpl constructors
Most of the time they were used for classes without type parameters, and
getDefaultType() is supposed to be used there (additionally it may be cached)
2014-05-19 19:50:59 +04:00
Alexander Udalov
3ffa7cdcf8 Minor optimization in KotlinBuiltIns.isSpecialClassWithNoSupertypes 2014-05-19 19:50:58 +04:00
Alexander Udalov
5fdb9e6218 Change logic of loading "suppress" annotation class descriptor
Instead of loading the descriptor and checking equals(), we now check if the
annotation is in fact "suppress" by simply comparing its FQ name. This allows
us to suppress warnings while compiling built-ins: the problem is that
built-ins have its own "suppress" annotation class (defined in the sources)
which differs from the one loaded by the compiler (from kotlin-compiler.jar)
2014-05-19 19:50:58 +04:00
Alexander Udalov
5488a8402f Move and rename KFunctionImpl classes
Move from package "kotlin.reflect" to "kotlin.reflect.jvm.internal". They are
internal detail of the compiler and should not be used directly (especially now
that "kotlin.reflect" is in default import paths).

Also rename "KFunctionImplN" to "KFunctionNImpl", because this name makes more
sense
2014-05-19 19:50:58 +04:00
Alexander Udalov
de8b2b3668 Fix generic signature for SAM adapters and constructors
SAM-related code in codegen was using JavaClassDescriptor directly, which has
an erased signature. Create and use a new abstraction SamType which has a full
generic signature of a type which was used in the SAM construct
2014-05-19 19:50:58 +04:00
Alexander Udalov
51a16fe491 Drop FunctionImplN and ExtensionFunctionImplN
We have FunctionImpl and ExtensionFunctionImpl classes now (2 classes, not 46)
2014-05-19 19:50:58 +04:00
Alexander Udalov
41eb0deaa0 Introduce FunctionImpl and ExtensionFunctionImpl classes
Old FunctionImpl0,1,2,... will be dropped since they had no purpose
2014-05-19 19:50:58 +04:00
Alexander Udalov
845e3323f9 Create error type if reflection class isn't found
Introduce a new diagnostic fired when reflection types aren't found in the
classpath
2014-05-19 19:50:57 +04:00
Alexander Udalov
9503056dd5 Add default import "kotlin.reflect" 2014-05-19 19:50:57 +04:00
Alexander Udalov
0c2c203e96 Move KFunctionN classes to package "kotlin.reflect" 2014-05-19 19:50:57 +04:00
Alexander Udalov
3dc92c209f Don't compile Java sources of built-ins
Module 'builtins' no longer has (and is not supposed to have) Java sources
2014-05-19 19:50:57 +04:00
Alexander Udalov
c7a7f31e82 Introduce module 'reflection', move KFunctionN to it
Metadata for KFunction classes is now longer serialized along with built-in
classes. This effectively means that it's no longer possible to find KFunction
classes via dependency on built-ins. There should be a kotlin-runtime library
in the specified classpath for reflection types to be resolvable.

A lot of tests were moved and changed, because tests on callable references
require stdlib in classpath from now on
2014-05-19 19:50:57 +04:00
Alexander Udalov
c1cd8bf069 Use module instead of KotlinBuiltIns in ReflectionTypes 2014-05-19 19:50:56 +04:00
Alexander Udalov
357fe5cb17 Pass module to GenerationState
- get rid of a hack there which was used to obtain any module, to be used in
  ReflectionTypes
- delete unused getError() in LightClassConstructionContext which was always
  null
- fix some minor warnings
2014-05-19 19:50:56 +04:00
Alexander Udalov
b27b8bf8b2 Extract DescriptorUtils.getContainingModule() 2014-05-19 19:50:56 +04:00
Alexander Udalov
a26ed665d9 Don't log stack trace for warning
These stack traces are confusing and create a feeling that an exception was
thrown
2014-05-19 19:50:56 +04:00
Alexander Udalov
972ef525ed Regenerate tests 2014-05-19 19:48:30 +04:00
Alexander Udalov
7b21c5c8c3 Fix .gitignore
Specific paths needs to be excluded only from the root directory. Otherwise you
couldn't for example create a directory named 'dependencies' somewhere in tests
2014-05-19 19:45:55 +04:00
Andrey Breslav
7bce9060e2 Better handling of PackageTypes in KotlinBuiltIns 2014-05-19 19:28:14 +04:00
Andrey Breslav
a05c8a3d96 Minor. Duplication eliminated 2014-05-19 18:56:38 +04:00
Andrey Breslav
38954fc2ba Utility method used instead of manual creation of an injector 2014-05-19 18:56:38 +04:00
Andrey Breslav
f72dcb8ee2 Fix for EA-53605 - UOE: PackageType.throwException 2014-05-19 17:02:18 +04:00
Andrey Breslav
8885d5709e Private inside a package should be visible only inside this package in the same module 2014-05-19 13:02:25 +04:00
Andrey Breslav
9983a567d4 Multi-module diagnostic tests supported
Test added for internal visibility
2014-05-19 13:02:25 +04:00
Andrey Breslav
236f38a26b Support modules in multi-file tests 2014-05-19 11:39:37 +04:00
Andrey Breslav
0ccb82344d Error message fixed 2014-05-19 11:39:36 +04:00
Zack Grannan
42f186b33f Added String Concat -> Interpolation Intention (KT-4750) 2014-05-16 19:00:25 +04:00
Mikhael Bogdanov
380f1875b8 Don't generate default method implementation in package facade (just delegation) 2014-05-16 18:34:07 +04:00
Nikolay Krasko
391d40e792 Fix error alignment for binary expression parts 2014-05-16 17:10:04 +04:00
Nikolay Krasko
d4ddf06ebd Fix problem with alignment in assignments and other binary expressions 2014-05-16 17:10:04 +04:00
Nikolay Krasko
356cb80e7f Indent for multideclarations 2014-05-16 17:10:03 +04:00
Nikolay Krasko
b958e0d6b8 Allow empty blocks for classes and function literals 2014-05-16 17:10:02 +04:00
Nikolay Krasko
3d588acd2d Add space between 'when' and '(' 2014-05-16 17:10:02 +04:00
Nikolay Krasko
6b8ab1a604 Minor: remove warning 2014-05-16 17:10:01 +04:00
Nikolay Krasko
9eb2615ac3 Don't remove linebreak after smb. else's statement } 2014-05-16 17:10:00 +04:00
Nikolay Krasko
8eb8e5a928 Fix spacing after return (KT-4947)
#KT-4947 Fixed
2014-05-16 17:10:00 +04:00
Nikolay Krasko
3f96b4775f Better indententation on enter in lambdas 2014-05-16 17:09:59 +04:00
Nikolay Krasko
109f7992b4 Format functions with function literal arguments (KT-2934)
#KT-2934 Fixed
2014-05-16 17:09:58 +04:00
Nikolay Krasko
eeea34ec9e Refactoring: rename class 2014-05-16 17:09:58 +04:00
Nikolay Krasko
47400f90ce Refactoring: rename method, extract method, static import 2014-05-16 17:09:57 +04:00
Nikolay Krasko
2b847cd885 Formatting enum delegations lists 2014-05-16 17:09:57 +04:00
Nikolay Krasko
5839fda22f Fix recovery in enum initializers 2014-05-16 17:09:56 +04:00
Nikolay Krasko
ad0e6dadf4 Minor: code clean up 2014-05-16 17:09:55 +04:00
Nikolay Krasko
650a3533f1 Refactoring: use extension functions to modify API 2014-05-16 17:09:55 +04:00
Nikolay Krasko
2a693bcada Formatting index calls 2014-05-16 17:09:54 +04:00
Nikolay Krasko
cd3aa06a83 Fix 'In multiline class declaration the indent before parent's name is destroyed' (KT-3848)
#KT-3848 Fixed
2014-05-16 17:09:53 +04:00
Nikolay Krasko
850987748e Fix 'Formatting after braceless class declaration' (KT-3858)
It's irrelevant that element is incompleted when new node is being add to the middle

 #KT-3858
2014-05-16 17:09:53 +04:00
Nikolay Krasko
5e50b98103 Fix comment to KT-3370 about no formatting of spaces around colon in objects
#KT-3370 Fixed
2014-05-16 17:09:52 +04:00
Nikolay Krasko
17699f7f0e Fix 'Formatter doesn't remove redundant spaces between modifiers, name, and opening brace'
#KT-3370 Fixed
2014-05-16 17:09:52 +04:00
Nikolay Krasko
d49d42a409 Add spaces around elvis operator 2014-05-16 17:09:51 +04:00
Nikolay Krasko
45013ce8af Fix formatting for multiline binary expressions
#KT-4797 Fixed
2014-05-16 17:09:50 +04:00
Nikolay Krasko
055859888e Refactoring: class rename with minor code enhancements 2014-05-16 17:09:50 +04:00
Nikolay Krasko
195d4c54bf Indent for ?. calls (KT-3913)
#KT-3913 Fixed
2014-05-16 17:09:49 +04:00
Nikolay Krasko
c42908eff7 Rewrite tests for formatting during typing with auto generator 2014-05-16 17:09:48 +04:00
Nikolay Krasko
13dce4dd11 Run formatter in function context for converted expression and statements 2014-05-16 17:09:48 +04:00
Nikolay Krasko
f11e35f988 Don't check trailing spaces because idea removes them by default 2014-05-16 17:09:47 +04:00
Natalia Ukhorskaya
da4e62e4be Gradle plugin: add compatibility with android-gradle-plugin 0.10.+
#KT-4984 Fixed
2014-05-16 16:37:29 +04:00
Mikhael Bogdanov
35802640cb Object transformation: store captured field before super constructor call 2014-05-16 15:56:02 +04:00
Mikhael Bogdanov
dce8d5d3e1 Inline context refactoring & proper generation of outer class info 2014-05-16 15:55:58 +04:00
Mikhael Bogdanov
b025d0b76c Rename LambdaTransformert to AnonymousObjectTransformer 2014-05-16 15:55:11 +04:00
Mikhael Bogdanov
30e921fa89 Diagnostic: support anonymous objects in inline functions 2014-05-16 15:55:11 +04:00
Mikhael Bogdanov
c5e9ea0d29 Support anonymous object constructor transformation and inline 2014-05-16 15:55:08 +04:00
Mikhael Bogdanov
9181302ce4 Distinguish captured field from general one 2014-05-16 13:33:57 +04:00
Mikhael Bogdanov
9007ba9c53 Anonymous object transformation 2014-05-16 13:33:57 +04:00
Mikhael Bogdanov
6fb0050575 KT-4982 this$0 is not initialized in the anonymous object
#KT-4982 Fixed
2014-05-16 13:33:39 +04:00
Nikolay Krasko
5d6b4d641b Replace "InvalidArgumentException" with "IllegalArgumentException" 2014-05-16 13:10:05 +04:00
Andrey Breslav
5ab979864b Temporarily revert changes that create separate class descriptors for each PSI class 2014-05-16 12:27:14 +04:00
Natalia Ukhorskaya
9be8501b60 Remove NotNull annotation 2014-05-15 18:02:34 +04:00
Natalia Ukhorskaya
9785c15736 Minor: rename 2014-05-15 17:19:12 +04:00
Natalia Ukhorskaya
fff278e1c6 Support block code fragments in KotlinResolveCache 2014-05-15 17:13:16 +04:00
Andrey Breslav
5815c8c729 Expression code fragments supported in KotlinResolveCache 2014-05-15 16:14:45 +04:00
Alexey Sedunov
34e5460d8a Follow up for PR #458: Generate test data 2014-05-15 15:33:10 +04:00
Natalia Ukhorskaya
355a3eb4e1 Make SpecifyTypeExplicitlyAction inapplicable for code fragments 2014-05-15 13:54:28 +04:00
Natalia Ukhorskaya
fd8d292c02 Add getSignificantElement method in JetCodeFragment 2014-05-15 13:54:27 +04:00
Natalia Ukhorskaya
8c0f99001b Evaluate expression: check for syntactic errors 2014-05-15 13:54:27 +04:00
Natalia Ukhorskaya
d70770afb2 Completion and highlighting for blockCodeFragment 2014-05-15 13:54:26 +04:00
Natalia Ukhorskaya
511d270032 Evaluate expression: evaluate block of code (CODE_BLOCK mode) 2014-05-15 13:54:25 +04:00
Natalia Ukhorskaya
0677075335 Parser for JetBlockCodeFragment 2014-05-15 13:54:25 +04:00
Natalia Ukhorskaya
787f428133 Minor: make properties private 2014-05-15 13:54:24 +04:00
Natalia Ukhorskaya
0725f63028 Minor, fix warning 2014-05-15 13:54:23 +04:00
Natalia Ukhorskaya
f45f1c0d6a Evaluate expression: clarify error message when there are conflicts from extract function 2014-05-15 13:54:23 +04:00
Natalia Ukhorskaya
a0549f0ff5 Evaluate expression: allow to call invisible members
#KT-4935 Fixed
2014-05-15 13:54:22 +04:00
Natalia Ukhorskaya
5237674139 Make call return JetElement instead of PsiElement 2014-05-15 13:54:22 +04:00
Natalia Ukhorskaya
11e4754638 Deprecated java methods are not shown as deprected in kotlin
#KT-4993 Fixed
2014-05-15 13:54:21 +04:00
Natalia Ukhorskaya
d4211c355e Eval4j: get value from top of stack, not after local variables 2014-05-15 13:54:20 +04:00
Zalim Bashorov
3fce2b8f22 Update to IDEA 135.863 EAP 2014-05-14 20:53:36 +04:00
Andrey Breslav
4cb23eb1f1 A test for the case of finding binary class for a nested Java class 2014-05-14 18:58:57 +04:00
Andrey Breslav
a861e5bc5e A test for the case fixed in 291741754b
When Java binaries refer to Kotlin binaries, and then some Kotlin source refers to the same Kotlin binary class, we should load this class consistently
2014-05-14 18:58:57 +04:00
Alexander Udalov
888a6c0c9b Add tests on Kotlin against compiled Java+Kotlin
The original purpose was to create a test that parameter names are inherited on
a K-J-K hierarchy when "K-J" is compiled to bytecode, but that's not possible
right now because of KT-4509
2014-05-14 18:58:57 +04:00
Andrey Breslav
291741754b Guard loading top-level classes with a check that they are not Kotlin binaries 2014-05-14 17:15:01 +04:00
Andrey Breslav
3a9f577d1d All bounds may be specified in 'where' clause
Exception fixed in AlternativeMethodSignatureData
2014-05-13 20:19:43 +04:00
Andrey Breslav
788994283e KT-5007 "Specify Kotlin signature" action doesn't work
Globally cached BindingContext used

(cherry picked from commit 5a641fc)
2014-05-13 19:39:32 +04:00
Andrey Breslav
64f0a8d420 Provide access to package fragments generated for static members of Java classes 2014-05-13 19:39:32 +04:00
Andrey Breslav
87750d633c JavaDescriptorResolver supports resolving classes by PSI elements, not by FqNames 2014-05-13 19:39:31 +04:00
Valentin Kipyatkov
6c5d974284 Completion: added a test 2014-05-13 16:40:48 +04:00
Valentin Kipyatkov
c9bde2de0e Smart completion: added a test 2014-05-13 16:40:48 +04:00
Valentin Kipyatkov
2d850f41f1 Smart completion: fixed addition of tail chars after true, false and null 2014-05-13 16:40:47 +04:00
Valentin Kipyatkov
0e86e628a3 KT-5012 Autocompletion is completing to FQN and not the value
#KT-5012 Fixed
 #KT-5006 Fixed
2014-05-13 16:40:47 +04:00
Jeremy Kaplan
b3842285e8 Implemented Operator To Function intention action.
Converts +a, --a, a * b, a..b, a %= b, a in b, etc. to their function call counterparts.
2014-05-12 21:04:51 +04:00
Pradyoth Kukkapalli
5550924dc5 New Intention Action: Invert If Condition
Inverts the conditional expression in an if expression.
2014-05-12 19:48:43 +04:00
Andrey Breslav
aa20af3cf3 Minor. Unused code removed
Follow-up for db00500404 (commitcomment-6242775)
2014-05-12 19:02:17 +04:00
Alexander Udalov
7c44938151 Drop unused AnalyzerFacadeForEverything 2014-05-12 18:03:02 +04:00
Alexander Udalov
5a0055cbeb Fix message case in JetBundle.properties
Intention names should be lowercase, family names should have each word
except prepositions capitalized
2014-05-12 16:47:00 +04:00
Alexey Sedunov
31a1ec0f05 Improve JetNameValidatorImpl performance 2014-05-12 13:03:03 +04:00
Alexey Sedunov
5cfb8bbf99 Extract Function: Allow the user to proceed with extraction when non-critical errors are found
#KT-4941 Fixed
2014-05-12 13:03:01 +04:00
Alexey Sedunov
1e49dcda27 Extract Function: Make member/top-level function private by default 2014-05-12 12:55:09 +04:00
Alexey Sedunov
3ac3edd1bd Extract Function: Allow to select fragments which start with comment 2014-05-12 12:55:08 +04:00
Alexey Sedunov
243ba62b65 Extract Function: Allow to combine throws with other exit points 2014-05-12 12:55:07 +04:00
Alexey Sedunov
2cfd7de8d9 Fix containment check 2014-05-12 12:55:06 +04:00
Alexey Sedunov
1f36ad0bfc Fix warnings 2014-05-12 12:55:04 +04:00
Alexey Sedunov
1e964551f3 Extract Function: Enable visibility selection when target container is class/object 2014-05-12 12:55:03 +04:00
Alexey Sedunov
5fc1725b33 Extract Function: Type parameters inference 2014-05-12 12:55:02 +04:00
Zalim Bashorov
399c9c1175 JS backend: fixed compiler crash when use compareTo in infix call.
#EA-54661 fixed
2014-05-08 19:57:28 +04:00
Zalim Bashorov
a578fc6762 JS backend: fixed infix calls.
#KT-3998   fixed
#EA-56241 fixed
2014-05-08 19:57:28 +04:00
Zalim Bashorov
898275e658 JS backend: added tests for infix calls.
#KT-3998   in progress
 #EA-56241 in progress
2014-05-08 19:57:28 +04:00
Zalim Bashorov
235b03c407 Minor in JS backend: added useful message to assert(for EA-48931) and drop unnecessary code. 2014-05-08 19:57:27 +04:00
Tal Man
814b558bcf Inspection to report negated binary expressions that can be simplified 2014-05-08 19:02:58 +04:00
Alexander Udalov
22e21b4db0 Unextend InlineCodegen from ParentCodegenAware 2014-05-08 18:42:35 +04:00
Alexander Udalov
13728e1598 Minor, pull non-null getParentContext() to MethodContext 2014-05-08 17:48:40 +04:00
Alexander Udalov
5fe7bfdd83 Move 'earlierScripts' from ScriptCodegen to ScriptContext
To get rid of a questionable usage of getParentCodegen() in ExpressionCodegen
2014-05-08 17:48:40 +04:00
Alexander Udalov
6bd46d38f5 Add missing copyrights 2014-05-08 17:38:51 +04:00
Alexander Udalov
271f2f562c Delete unused parameter in SamWrapperCodegen 2014-05-08 17:21:11 +04:00
Alexander Udalov
8041cac9dd Remove GenerationStateAware 2014-05-08 16:45:16 +04:00
Alexander Udalov
985e9a5f31 Make JvmFunctionImplTypes lazy
It shouldn't compute all FunctionImpls at least until first asked
2014-05-08 16:45:16 +04:00
Alexander Udalov
3a0aac4857 Simplify type mapping logic in CodegenBinding
- inline asmType to calling getAsmType, which does something more
- refactor getJvmInternalName to use getAsmType as well
- simplify getAsmType and fix a probable bug in mapping singletons nested in
  enums (which wasn't reproduced, though a test is added)
- delete unnnecessary ASM_TYPE recording for enum entries in
  CodegenAnnotatingVisitor
2014-05-08 16:45:15 +04:00
Alexander Udalov
372bf17982 Remove BindingTraceAware, TypeMapperAware, BindingContextAware
- delete suspicious caching logic from CodegenBinding.getAsmType(), which makes
  JetTypeMapper now depend only on BindingContext
- inline all of these classes into GenerationStateAware and the latter into
  JetTypeMapper
2014-05-08 16:45:15 +04:00
Alexander Udalov
fb54ecf443 Rename FunctionTypesUtil -> JvmFunctionImplTypes
It's not an util class anymore
2014-05-08 16:45:15 +04:00
Alexander Udalov
c7277250d9 Use ReflectionTypes instead of KotlinBuiltIns in type checker 2014-05-08 16:45:15 +04:00
Alexander Udalov
6004c6cefe Introduce ReflectionTypes, use it in JVM back-end
Make FunctionTypesUtil a component
2014-05-08 16:45:14 +04:00
Alexander Udalov
3ac89030c7 Make CodegenBinding.ASM_TYPE a collective slice
Change Type->JetFile mapping logic in PsiCodegenPredictor to be less hackish,
but probably the compiler will start requiring a little more memory due to a
collective slice multimap
2014-05-08 16:45:14 +04:00
Alexander Udalov
d737932bc7 Remove usages of CodegenBinding.initTrace
This is a low level JVM back-end detail; clients should be using
GenerationState instead
2014-05-08 16:45:14 +04:00
Alexander Udalov
d42598a935 Move default inline flag to JVM back-end
- other back-ends are likely to have its own value of this flag
- get rid of DEFAULT_INLINE_FLAG_FOR_TEST
- the main goal was to simplify the default GenerationState constructor, which
  now always uses default inline flag value
2014-05-08 16:45:14 +04:00
Tal Man
9679e3ce4a insert type intention now only applicable in function names (KT-4950)
#KT-4950 Fixed
2014-05-08 14:11:21 +04:00
Tal Man
0032fb3575 Bug fix in intention to move lambda outside parentheses, handles commas better 2014-05-07 19:33:40 -04:00
Pradyoth Kukkapalli
65e670ef15 Bug Fix: KT-4613
Fix replace with infix function intention to be inapplicable in the
case of package function calls, such as “kotlin.io.println(“”).”
2014-05-07 15:25:39 -04:00
Valentin Kipyatkov
442f47bbe5 Removed unused constructor 2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
dab6045f6a Fixed Code completion does not work inside function variable invocation
#KT-4978 Fixed
2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
7bb84c139d Smart completion: fixed logic in elvis operator 2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
ab563bd891 Added utility extension methods to not use TypeUtils 2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
a65bd1a74d Added test data for future use 2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
1b034c5fc3 Smart completion works for block's result 2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
45f518a907 Smart completion after ?: works incorrectly
#KT-4926 Fixed
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
5e34791e68 Smart completion should not suggest variants for private signatures
#KT-4899 Fixed
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
57c41ce0b0 Smart completion: added test for KT-4929 fixed by svtk 2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
0920ab2c25 Fixed mock jdk 2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
e7c87b2391 Minor rename 2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
d781626201 Smart completion: only overloads with all previous arguments matched are considered 2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
717977af61 No more java lookup elements in code completion (except for one case) 2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
33de0e8393 Smart completion for then and else branches of if
#KT-4910 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
7aa11a4207 Smart completion: auto-cast to non-null type is not recognized for field from constructor
#KT-4906 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
3c75e9ec28 Smart completion: "null" when nullable value expected 2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
32405e57e6 Smart completion: checking constructor's visibility + true and false for Boolean
#KT-4916 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
9ae59db329 Smart completion: more correct Tab key handling
#KT-4954 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
5f931be39b Smart completion after == and !=
#KT-4912 Fixed
2014-05-07 22:50:19 +04:00
Alexander Udalov
74da6929a6 Update to IDEA 135.815 EAP 2014-05-07 21:12:56 +04:00
Pradyoth Kukkapalli
33fd82cf45 New Intention: Replace for loop with forEach
Replaces an expression of the form “for (i in list) { … }” with an
expression of the form “list.forEach { i -> … }”
2014-05-07 14:01:37 +04:00
Pradyoth Kukkapalli
dbb28c571b New Intention Action: Replace a call to forEach function with for loop.
Replaces an expression of form x.forEach { … } with for (a in x) { … }.
2014-05-07 14:00:50 +04:00
Alexander Udalov
bd056d037f Init slice debug names for CodegenBinding 2014-05-07 03:30:24 +04:00
Alexander Udalov
02e805b06e Minor, rename accidentally named "context1" back to "context" 2014-05-07 03:30:24 +04:00
Alexander Udalov
68313172c2 Don't use KFunctionN types in smart completion
FunctionN should be enough
2014-05-07 03:30:14 +04:00
Alexander Udalov
c2594d7695 Delete "println" from production code in KotlinResolveCache 2014-05-07 03:28:48 +04:00
Alexander Udalov
d271be7f60 Add a test for an obsolete issue 2014-05-07 03:08:24 +04:00
Zalim Bashorov
d02e4bd1ec Minor in JS backend: added test for the overriding in data class. 2014-05-06 15:45:28 +04:00
Peter Rybin
ab81d2e261 Supporting data class for JS backend 2014-05-06 15:45:28 +04:00
Peter Rybin
535cc3eed8 Inline methods. 2014-05-06 15:45:27 +04:00
Peter Rybin
59a09c04af Extract data class generation logic into backend-independent module 2014-05-06 15:45:27 +04:00
Peter Rybin
00e65c8771 Add JVM prefix to CodegenUtil name to give way for backend-independent CodegenUtil 2014-05-06 12:51:57 +04:00
Alexander Udalov
981b6fdaff Don't render stack trace in a warning
These stack traces are confusing: they make it seem as if an exception was
thrown
2014-05-05 20:43:35 +04:00
Alexander Udalov
42d167d17e Add missing copyrights across the project 2014-05-05 20:43:35 +04:00
Alexander Udalov
b7746cbee7 Move module 'serialization' to core/ 2014-05-05 20:43:34 +04:00
Alexander Udalov
16daeb9544 Misc refactorings in KotlinBuiltIns
- delete fields which were supposed to be used for caching, but mistakenly were
  never used
- delete/inline unused methods and constants
- delete useless logic related to root package fragment: package fragment
  providers are only supposed to find packages they're aware of
2014-05-05 20:42:35 +04:00
Alexander Udalov
52070dcf9e Minor, static import BindingContext.* in ExpressionCodegen 2014-05-05 17:51:09 +04:00
Alexander Udalov
e4f4ea4027 Minor, add ExpressionCodegen.resolvedCall() utility
To obtain a resolved call by an expression with a non-null assertion
2014-05-05 17:31:32 +04:00
Alexander Udalov
fc3db8db38 Minor, get rid of ExpressionCodegen.asmTypeOrVoid() 2014-05-05 17:22:48 +04:00
Alexander Udalov
51b01b5d7d Replace some REFERENCE_TARGET calls with RESOLVED_CALL
Also don't do unnecessary and failing casts in CodegenAnnotatingVisitor for SAM
adapters

 #KT-3173 Fixed
 #KT-3999 Fixed
 #KT-4682 Fixed
2014-05-05 16:49:23 +04:00
Natalia Ukhorskaya
13f7ca51b0 Regenerate tests 2014-05-05 16:17:37 +04:00
Natalia Ukhorskaya
020c127831 Fix typo in inspection description 2014-05-05 16:16:50 +04:00
Natalia Ukhorskaya
475d87f48b Merge remote-tracking branch 'origin/pr/460' 2014-05-05 16:15:45 +04:00
Natalia Ukhorskaya
98532f321d Evaluate expression: add ability to import class 2014-05-05 16:12:38 +04:00
Natalia Ukhorskaya
3f95cdb7bb Return firstChildNode for codeFragments in doParseContents as expected 2014-05-05 16:12:36 +04:00
Natalia Ukhorskaya
54cc5d1440 Make JetCodeFragment implements JavaCodeFragment 2014-05-05 16:12:35 +04:00
Natalia Ukhorskaya
876878a54c Delete interface for JetTypeCodeFragmentImpl 2014-05-05 16:12:33 +04:00
Natalia Ukhorskaya
8bbbe8f0f6 Convert JetCodeFragment to Kotlin 2014-05-05 16:12:32 +04:00
Natalia Ukhorskaya
eb8b5c0823 Remove interface for JetExpressionCodeFragment 2014-05-05 16:12:30 +04:00
Natalia Ukhorskaya
429be58685 Rename JetCodeFragmentImpl to JetCodeFragment 2014-05-05 16:12:29 +04:00
Nikita Skvortsov
4bcfec1f7b cleanup Gradle API deprecation warnings to make plugin compatible with upcoming Gradle 2.0. This includes moving minimum compatible version from 1.4 to 1.6 2014-05-04 14:30:52 +04:00
Nikita Skvortsov
573f6b61fd update gradle-api artifact to version 1.6 this is required to make kotlin gradle plugin compatible with upcoming Gradle 2.0 2014-05-04 13:46:21 +04:00
Tal Man
ab2ca539fe Inspection to report explicit type arguments that can be removed from function calls 2014-05-01 10:56:46 -04:00
Andrey Breslav
0004948023 Per-file caching introduced in KotlinResolveCache for granular analysis 2014-04-30 20:00:20 +04:00
Andrey Breslav
a128eacf53 KotlinCacheService extracted to a separate file 2014-04-30 19:43:12 +04:00
Andrey Breslav
f64f792ede CompositeBindingContext introduced 2014-04-30 18:04:21 +04:00
Andrey Breslav
3be8da5607 Minor. More convenient function used 2014-04-30 16:30:17 +04:00
Andrey Breslav
db00500404 Unused code removed 2014-04-30 16:30:17 +04:00
Andrey Breslav
775c941f8a hasSynthesizedParameterNames() pulled up into CallableDescriptor 2014-04-30 16:30:17 +04:00
Svetlana Isakova
73cd776715 Added test for KT-4640
#KT-4640 Obsolete
2014-04-30 13:54:21 +04:00
Svetlana Isakova
b33147d3eb Do not complete type inference for all candidates for inner calls 2014-04-30 13:34:35 +04:00
Svetlana Isakova
69f3a64408 Added test for KT-4929
Smart completion should work for generic method argument
 #KT-4929 Fixed
2014-04-30 13:34:35 +04:00
Svetlana Isakova
3df6eb8ffa Refactored ResolutionResultsCacheImpl
Used map instead of trace to store data
Rewrote it to Kotlin
2014-04-30 13:34:34 +04:00
Svetlana Isakova
5a84ed4497 KT-4866 Resolve does not work inside brackets with unresolved reference before
#KT-4866 Fixed
2014-04-30 13:34:34 +04:00
Svetlana Isakova
1632025913 Added check that resolved calls are completed in diagnostics
to tests
2014-04-30 13:34:34 +04:00
Svetlana Isakova
775606f80a Do not remove trivial substitutions
to avoid substituting a new type parameter by default instead of leaving the same
 #KT-4887 Fixed
2014-04-30 13:34:34 +04:00
Svetlana Isakova
808cf75060 Fixed bug: resolution task wasn't recreated
The old resolved calls were used
2014-04-30 13:34:34 +04:00
Svetlana Isakova
a57b4f6459 Render inferred and not inferred type parameters
while rendering a resolved call
2014-04-30 13:34:34 +04:00
Svetlana Isakova
aa40fd6b56 Refactoring: extracted 'renderParameter' function 2014-04-30 13:34:33 +04:00
Svetlana Isakova
02647820bc Rewrote rendering a resolved call to kotlin 2014-04-30 13:34:33 +04:00
Svetlana Isakova
b89f260d25 Fixed bug: do not lose all candidates when updating status
to success
2014-04-30 13:34:33 +04:00
Svetlana Isakova
b915ff2faf Invoke 'markCallAsCompleted' directly after completing inference for call 2014-04-30 13:34:33 +04:00
Svetlana Isakova
18ccd0d230 Removed 'getCallToCompleteTypeArgumentInference' 2014-04-30 13:34:33 +04:00
Svetlana Isakova
a2ddce65f4 Used MutableResolvedCall instead of ResolvedCallImpl
during resolve process
2014-04-30 13:34:33 +04:00
Svetlana Isakova
703e4d7c4e Refactoring: separated VariableAsFunctionResolvedCall interface and implementation 2014-04-30 13:34:32 +04:00
Svetlana Isakova
cdd88cdaa7 Rename: ResolvedCallWithTrace -> MutableResolvedCall 2014-04-30 13:34:32 +04:00
Svetlana Isakova
90bf5ad823 Refactoring: use ResolvedCall instead of ResolvedCallWithTrace where possible 2014-04-30 13:34:32 +04:00
Svetlana Isakova
e59fa2083e Substituted special error type for not inferred parameter
Rendered it as T (of red color) in the renderer HTML_FOR_NOT_INFERRED_TYPE_PARAMETERS
 instead of '???' without information about type parameter
2014-04-30 13:34:32 +04:00
Svetlana Isakova
4a8255a606 Trace usage in renderer replaced with usage of argument to parameter map 2014-04-30 13:34:31 +04:00
Svetlana Isakova
928b28e080 Complete type inference for nested calls
inside non resolved invocation
2014-04-30 13:34:31 +04:00
Svetlana Isakova
2db392036c Complete type inference for all candidates 2014-04-30 13:34:31 +04:00
Svetlana Isakova
e747b08e81 Refactoring: removed ResolutionResultsCache.MemberType 2014-04-30 13:34:31 +04:00
Svetlana Isakova
636e818f35 Refactoring: moved code
to 'completeTypeInferenceDependentOnExpectedType'
2014-04-30 13:34:31 +04:00
Svetlana Isakova
f03f9684ad Refactoring: moved code
Moved check for not generic call to CandidateResolver
2014-04-30 13:34:31 +04:00
Svetlana Isakova
efa00782a4 Reformat html test data for DiagnosticMessageTest 2014-04-30 13:34:30 +04:00
Svetlana Isakova
1e8a8d2861 Added argument to parameter mapping to resolved call 2014-04-30 13:34:30 +04:00
Svetlana Isakova
022c68cfb2 Set all candidates (empty collection) if no candidates found 2014-04-30 13:34:30 +04:00
Andrey Breslav
cb127a5a62 Diagnostics rewritten in Kotlin 2014-04-29 19:12:56 +04:00
Andrey Breslav
71ad59fdf8 Minor. Unused slice and comments removed 2014-04-29 19:12:56 +04:00
Andrey Breslav
a1b0b07824 Support top-down analysis starting from anonymous initializers 2014-04-29 19:12:56 +04:00
Andrey Breslav
bac82935c3 Minor. Unused method removed 2014-04-29 19:12:56 +04:00
Andrey Breslav
6509868ba4 Ignore multi-declarations in LazyTopDownAnalyzer 2014-04-29 19:12:55 +04:00
Andrey Breslav
550c0ed998 Report "UNSUPPORTED" on usages of typedef 2014-04-29 19:12:55 +04:00
Andrey Breslav
469042dea1 Support top-down analysis starting from import directives 2014-04-29 19:12:55 +04:00
Andrey Breslav
9f8fd5c5ae Support top-down analysis starting from package directives 2014-04-29 19:12:55 +04:00
Andrey Breslav
31e859356f A test that fails in lazy mode (currently disabled) 2014-04-29 19:12:55 +04:00
Andrey Breslav
5c23021163 Minor. Rename 2014-04-29 19:12:55 +04:00
Andrey Breslav
4bbde707c0 Minor. Unneeded getContainingJetFile() calls removed 2014-04-29 19:12:54 +04:00
Andrey Breslav
64f60b3458 Minor. getAnalysisResults(x).getBindingContext() replaced by getBindingContext(x) 2014-04-29 19:12:54 +04:00
Andrey Breslav
112109f93e Minor. Unused method removed 2014-04-29 19:11:48 +04:00
Andrey Breslav
23205c17c0 Utilities for analyzing expressions in given context introduced 2014-04-29 19:11:48 +04:00
Andrey Breslav
a708b915db Explicit predicate passed to JetNameValidatorImpl 2014-04-29 19:11:48 +04:00
Andrey Breslav
c6bd4a22ef Iterators replaced with streams where appropriate 2014-04-29 19:11:47 +04:00
Andrey Breslav
19719f9747 Deprecated _tmp functions replaced by library ones 2014-04-29 19:11:47 +04:00
Andrey Breslav
4181bcc319 JavaCallableMemberDescriptor.hasSynthesizedParameterNames() introduced 2014-04-29 19:11:47 +04:00
Nikolay Krasko
9482706b81 Fix compilation on JDK 1.6 and stay compatible with JDK 1.7
Move ClassCandidateListCellRenderer back to Java because JList. JList has one type parameter in 1.7 and no parameters in 1.6.
Kotlin unlike Java can't support both cases without modifications in code.
2014-04-29 14:47:33 +04:00
Steven Allen
1415ac1c04 Convert CreateFunctionFromUsageFix to Kotlin. 2014-04-29 14:47:32 +04:00
Steven Allen
1a04b887a4 Fix JetSimpleNameExpression.getReceiverExpression
The receiver of `in` expressions is on the right, not the left.
2014-04-29 14:47:31 +04:00
Andrey Breslav
4f1061c337 Better memory cleanup in tests 2014-04-29 13:37:02 +04:00
Natalia Ukhorskaya
68c77e6384 SmartStepInto from kotlin to java functions 2014-04-28 14:24:01 +04:00
Natalia Ukhorskaya
5a2f1ca65f Add package directive with fileName for InspectionTests to avoid names clashing 2014-04-28 14:12:57 +04:00
Svetlana Isakova
335587c74e Update to IDEA 135.760 EAP 2014-04-25 21:02:45 +04:00
Denis Zharkov
cb1e762fc4 Optimizations of When expression with int constants:
Added test with dense constants (tableswitch should be used)
2014-04-25 18:17:37 +04:00
Denis Zharkov
298742ae69 Optimizations of When expression with int constants: heuristics from openJDK for decision about using tableswitch/lookupswitch 2014-04-25 18:17:37 +04:00
Denis Zharkov
a83d600f5e Optimizations of When expression with int constants: pull request review fixes 2014-04-25 18:17:36 +04:00
Denis Zharkov
3bc1c45fde Refactored tests for switch optimization of When expression 2014-04-25 18:17:36 +04:00
Denis Zharkov
95345a9bd4 Tests for switchOptimization: shuffled and added sparse version 2014-04-25 18:17:36 +04:00
Denis Zharkov
ad14ee9061 Switch in when-expression: choice between lookupswitch and table switch (heuristically) 2014-04-25 18:17:36 +04:00
Denis Zharkov
1952781e4b SwitchOptimization: generating `lookupswitch' opcode for 'when' in case of integral types 2014-04-25 18:17:36 +04:00
Denis Zharkov
c73533d214 Switch Optimization 2014-04-25 18:16:24 +04:00
Ross Hanson
ecaa7b61dd KT-4568 Bugfix: Reformatted code to adhere to style guides. Removed unreachable cases in when expression for ConvertNegatedExpression. Fixed last element access. Changed array list to simple list. 2014-04-25 16:59:50 +04:00
Ross Hanson
a5f7ac63a8 KT-4568: Cleaned up some of the code in ConvertNegatedBooleanSequence to match the other DeMorgan intention 2014-04-25 16:59:49 +04:00
Ross Hanson
4de6960443 KT-4568 Bug Fix: Refactored the convertNegatedExpressionWithDemorgansLaw intention to better handle longer and more complex expressions. Fixed bug and added appropriate test cases as well. 2014-04-25 16:59:49 +04:00
Alexander Udalov
de273c0418 Minor, use kotlin.Pair instead of intellij 2014-04-24 18:17:50 +04:00
Lingzhang
6066d19de5 Added KT-4579 makeTypeExplicitInLambda and makeTypeImplicitInLambda intentions 2014-04-24 18:11:43 +04:00
Natalia Ukhorskaya
1ef785eb1a Eval4j: delete IDEA project files 2014-04-24 16:48:17 +04:00
Natalia Ukhorskaya
73f1ea3bcc Eval4j: fix ReadMe 2014-04-24 16:48:02 +04:00
Natalia Ukhorskaya
f23d95031c Remove MockPsiDocumentManager: it is registered in CoreProjectEnvironment 2014-04-24 16:38:50 +04:00
Natalia Ukhorskaya
805da98fa1 Remove hamcrest library, it is included in idea full 2014-04-24 16:38:48 +04:00
Natalia Ukhorskaya
aefed988a3 Add run configuration for Eval4j tests 2014-04-24 16:38:34 +04:00
Natalia Ukhorskaya
a8ea10de27 add common test suite for eval4j 2014-04-24 16:37:14 +04:00
Natalia Ukhorskaya
1e0a4ddbdd Eval4j: always cast int to byte, short, boolean and char when they are expected 2014-04-24 16:35:47 +04:00
Andrey Breslav
5536f4da07 Test data generated from both files separated in 717f03f474 2014-04-24 16:22:43 +04:00
Alexander Udalov
1efdd33dbd Refactor codegen hierarchy
- pull generate() and a bunch of abstract methods from ClassBodyCodegen up to
  MemberCodegen
- implement these methods in ScriptCodegen and PackagePartCodegen
- make MemberCodegen generic on the type of the element it is generating
2014-04-24 16:10:16 +04:00
Alexander Udalov
ff8e282c4a Simplify mapToCallableMethod 2014-04-24 16:10:16 +04:00
Alexander Udalov
722c15b747 Simplify mapOwner/mapToCallableMethod 2014-04-24 16:10:15 +04:00
Alexander Udalov
61675de305 Optimize PropertyMetadataImpl instance creation
Create all property metadatas in <clinit> and save them to a static array
$propertyMetadata. Getter/setter of each delegated property will then just
obtain the corresponding instance from that array

 #KT-4232 Fixed
2014-04-24 16:10:15 +04:00
Alexander Udalov
925b27238c Minor, simplify StackValue.ArrayElement 2014-04-24 16:10:15 +04:00
Alexander Udalov
678520364a Refactor property initialization codegen
Move a lot of the code from ImplementationBodyCodegen up to MemberCodegen, make
methods non-static (consequently get rid of a lot of parameters), reuse the
same code in PackagePartCodegen
2014-04-24 16:10:14 +04:00
Alexander Udalov
6803fec053 Simplify clinit codegen, delete code duplication
Logic for <clinit> generation was present both in PackagePartCodegen and in
ClassBodyCodegen, move it to MemberCodegen
2014-04-24 16:10:14 +04:00
Alexander Udalov
be47897e18 Minor, ValueArgument.asElement returns JetElement 2014-04-24 16:10:14 +04:00
Alexander Udalov
f7235e9d82 Fix abstract nested class in enums in JVM back-end
It caused InstantiationError because the enum had an incorrect ACC_ABSTRACT
flag
2014-04-24 16:10:13 +04:00
Alexander Udalov
129b643898 Minor, reformat in ImplementationBodyCodegen 2014-04-24 16:10:13 +04:00
Alexander Udalov
7f873026be Remove code duplication in property accessor codegen 2014-04-24 16:10:12 +04:00
Alexander Udalov
55836884d5 Minor refactorings in JetTypeMapper: renames, inlines, etc. 2014-04-24 16:10:12 +04:00
Alexander Udalov
d913dfb1aa Correctly map declaration owner in JVM codegen
"context.contextKind()" was incorrect in
ExpressionCodegen.intermediateValueForProperty(), because it represents the
context of the call site, not the context of the property declaration

 #KT-4878 Fixed
2014-04-24 16:10:12 +04:00
Alexander Udalov
fbf9f5f7d0 Don't generate bridges for equals(), hashCode(), toString()
Otherwise an assertion is failing in the algorithm which is related to an
inconsistency of java.lang.Object inheritance in JDR (KT-4890)
2014-04-24 16:10:12 +04:00
Alexander Udalov
6b348bfc6e Make Ref fields volatile
Otherwise local shared variables are not safe to use from several threads
2014-04-24 16:10:11 +04:00
Alexander Udalov
af421f53da Rename FQNAMES -> FQ_NAMES 2014-04-24 16:10:11 +04:00
Zalim Bashorov
525709bced Added MIN_JAVA_VERSION directive for intentions and fixed failed test(convertIfToAssert/inapplicableCauseSent.kt). 2014-04-24 15:37:35 +04:00
Tal Man
f61db2decc Intention to transform an if an AssertionError throw into an assert 2014-04-24 15:36:34 +04:00
Ilya Ryzhenkov
d06b9abd4f Add platform independent part of Range tests to JS stdlib test run 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
717f03f474 Split tests into platform independent and JVM parts to run subset of tests in JS 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
ee8a7d6825 Include Ranges extension functions and Numbers NaN checks for JS 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
a6c01f82b2 Make isNaN check language independent, working in JVM & JS 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
a825b13a4b Restore tests on streams, add test for filterNotNull 2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
87745c05ae Fix filterNotNull and mapNotNull for streams. 2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
118126c744 Add toList() operation on Maps 2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
5537ff5f3c Add toSortedList operation for Streams 2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
9a7758bf4e Remove bogus filterIsInstance* on strings. 2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
6562ee4967 Rename "collection" parameter to "destination" in *To() functions. 2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
e43d08d228 Fix typo 2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
89c1260627 Fix formatting in Engine and templates 2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
f14ca2cf89 Extension method to convert Enumeration to List 2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
cbc0e6404e Support String in generators, and migrate generated functions. 2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
d9d5631a16 Optimize selection functions, add guard checks. 2014-04-24 12:59:41 +04:00
Amal Samally
a3ad79e5d9 KT-4614: Add String.format(Locale, args) 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
d54fb97c5d Make all *Array.fill() extensions returning an array #KT-4760 Fixed 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
1db035a0aa Slice functions for arrays and lists. 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
aee199b5b0 Add reverse() function to js version of StringBuilder 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
962a738f1e Fix js RangeIterator and NumberProgression. 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
df310ac362 Minor: restore generated line break so that file do not get dirty on every regeneration 2014-04-24 12:59:40 +04:00
mikhael.bogdanov
629ca66d93 CollectionElement.dupReceiver simplification 2014-04-24 12:25:52 +04:00
mikhael.bogdanov
f57bcbb411 Removed redundant dupReceiver: local and expression stack value don't have it 2014-04-24 12:25:45 +04:00
Valentin Kipyatkov
ae9f6fa5fc Fix compilation 2014-04-23 19:27:47 +04:00
Valentin Kipyatkov
cd2cf2d987 Code completion: minor changes after code review 2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
6808e82b81 Code completion: another way of import insertion on class name completion.
#KT-4905 Fixed
2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
7905d32c14 Smart completion: static members insertion reworked to support single lambda parameter, more correct reference shortening in range 2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
e8805f69bf Code completion: template item for function taking lambda with 2 or more parameters (KT-4855) + better handling of type instantiation in smart completion 2014-04-23 19:21:28 +04:00
Natalia Ukhorskaya
0057843c08 debugger: create KotlinCodeFragment only on expression mode of evaluate expression 2014-04-23 18:52:05 +04:00
Natalia Ukhorskaya
931b628988 Editor for evaluate expression: implement highlighting and completion using ResolveElementCache 2014-04-23 18:10:02 +04:00
Natalia Ukhorskaya
2eff4e2300 Create ExpressionCodeFragment only for expression mode in evaluate expression 2014-04-23 18:10:01 +04:00
Natalia Ukhorskaya
f54aee150e Debugger: replace one read action with lock for extract variable and for analyze file 2014-04-23 18:10:00 +04:00
Natalia Ukhorskaya
2ffcc5124e Debugger: use extract method to get function arguments 2014-04-23 18:09:59 +04:00
Natalia Ukhorskaya
084c72f91c Debugger tests: specify expression for evaluate expression test when test failed 2014-04-23 18:09:58 +04:00
Natalia Ukhorskaya
fa482bca80 Use lazy analysis for debug file 2014-04-23 18:09:57 +04:00
Natalia Ukhorskaya
45d78dae5a Debugger: implement findExpression method correctly to make work Alt+Click in debugger 2014-04-23 18:09:56 +04:00
Natalia Ukhorskaya
bd737a32fb Debugger: add imports from file on breakpoint 2014-04-23 18:09:55 +04:00
Natalia Ukhorskaya
347e6d9058 Debugger: Implement EvaluatorBuilder for evaluate expression for kotlin files 2014-04-23 18:09:53 +04:00
Natalia Ukhorskaya
417ec25fb8 Debugger: implement CodeEditor for evaluate expression action 2014-04-23 18:09:52 +04:00
Natalia Ukhorskaya
2309751ee9 CodeFragment: find inner expression correctly 2014-04-23 18:09:51 +04:00
Natalia Ukhorskaya
a1fa366e8f Make JetExpressionCodeFragmentImpl implement JavaCodeFragment 2014-04-23 18:09:49 +04:00
Natalia Ukhorskaya
bc20e31685 Convert JetExpressionCodeFragmentImpl to kotlin 2014-04-23 18:09:48 +04:00
Natalia Ukhorskaya
133aea9c4b Debugger: add test for evaluate expression 2014-04-23 18:09:47 +04:00
Natalia Ukhorskaya
b9ed52e630 Debugger: compile TINY_APP in test once 2014-04-23 18:09:46 +04:00
Natalia Ukhorskaya
70ade1e931 Add JDK for debugger tests 2014-04-23 18:09:45 +04:00
Natalia Ukhorskaya
2337042d83 Add kotlin-runtime as library, not only to classpath 2014-04-23 18:09:44 +04:00
Natalia Ukhorskaya
3b5ef0c866 Extract helper functions 2014-04-23 18:09:43 +04:00
Natalia Ukhorskaya
85caff9df4 Add copyright 2014-04-23 18:09:42 +04:00
Natalia Ukhorskaya
9fea5460a8 Find method in class that is on stack, not in method owner class 2014-04-23 18:09:41 +04:00
Natalia Ukhorskaya
4f84d4d2db Load classes mentioned in method arguments before invokeMethod 2014-04-23 18:09:40 +04:00
Natalia Ukhorskaya
964b81ce6a CHECKCAST always succeeds on null 2014-04-23 18:09:38 +04:00
Natalia Ukhorskaya
92edc8299e Cast method arguments to method parameter types 2014-04-23 18:09:37 +04:00
Natalia Ukhorskaya
56e0746814 Support checkcast instruction for array 2014-04-23 18:09:36 +04:00
Natalia Ukhorskaya
ca877f1413 Use ASM5 2014-04-23 18:09:34 +04:00
Natalia Ukhorskaya
c9fc9aa005 Add annotations from eval4j 2014-04-23 18:09:33 +04:00
Natalia Ukhorskaya
86414bbb7f Remove annotations from eval4j module 2014-04-23 18:09:32 +04:00
Natalia Ukhorskaya
86fffab86f Fix separators for JdiTests 2014-04-23 18:09:30 +04:00
Natalia Ukhorskaya
ae3419879d Fix errors caused by new kotlin version 2014-04-23 18:09:29 +04:00
Natalia Ukhorskaya
32132a8b3e Rename org.objectweb.asm to org.jetbrains.org.objectweb.asm 2014-04-23 18:09:28 +04:00
Natalia Ukhorskaya
68397d9421 Add module eval4j 2014-04-23 18:09:27 +04:00
Natalia Ukhorskaya
a99ec0c5fa Merge remote-tracking branch 'eval4j/master' 2014-04-23 18:08:55 +04:00
Andrey Breslav
34f437cc00 Analyze all relevant files in JetPositionManager 2014-04-23 15:21:08 +04:00
Andrey Breslav
94693bf8dc Unused method removed 2014-04-23 14:06:15 +04:00
Andrey Breslav
93d3eab9f9 More granular locks in KotlinResolveCache 2014-04-23 14:06:14 +04:00
Andrey Breslav
04b28b14e5 Synchronization logic extracted into a method 2014-04-23 14:06:14 +04:00
Andrey Breslav
35b2d6536e Unneeded synchronization removed 2014-04-23 14:06:14 +04:00
Andrey Breslav
3275e52290 Got rid of unneeded caching in KotlinCacheService 2014-04-23 14:06:13 +04:00
Andrey Breslav
af9694738e JvmResolveUtil extracted for methods that are used only for tests 2014-04-23 14:06:13 +04:00
Andrey Breslav
2a3d1c1b18 AnalyzerFacadeWithCache.getLazyResolveSessionForFile() inlined 2014-04-23 14:06:12 +04:00
Andrey Breslav
9b01eb15ce KotlinCacheManager removed in favor of KotlinCacheService 2014-04-23 14:06:12 +04:00
Andrey Breslav
523faed696 AnalyzerFacadeWithCache simply redirects to KotlinCacheService now 2014-04-23 14:06:12 +04:00
Andrey Breslav
00ebd967e2 AnalyzerFacadeWithCache.analyzeFileWithCache() is inlined 2014-04-23 14:06:11 +04:00
Andrey Breslav
7ee483fbc8 getDeclarationsFromProject() is replaced by lazy resolve 2014-04-23 14:06:11 +04:00
Andrey Breslav
54f3dd20b3 KotlinCacheManagerUtil usages replaced by lazy resolve 2014-04-23 14:06:10 +04:00
Andrey Breslav
1a92964250 JavaDescriptorResolver is cached by KotlinResolveCache
Accessible via JavaResolveExtension
2014-04-23 14:06:10 +04:00
Andrey Breslav
ed79be6d2d AnalyzerFacade.Setup introduced 2014-04-23 14:06:10 +04:00
Andrey Breslav
45a90a8f20 Eager methods removed from AnalyzerFacade 2014-04-23 14:06:09 +04:00
Andrey Breslav
d45347688d Create consolidated caching service to provide all lazily resolved data
Other caches are to be removed later
2014-04-23 14:06:09 +04:00
Andrey Breslav
4d425aff11 Methods pulled up into the interface 2014-04-23 14:06:09 +04:00
Andrey Breslav
143b78d031 KotlinCacheManagerUtil uses lazy resolve 2014-04-23 14:03:14 +04:00
Andrey Breslav
0ce4e5e113 Minor. One utility method reused in the other 2014-04-23 14:03:14 +04:00
Andrey Breslav
99b5fa1f47 Minor. Method replaced by a more convenient one from the same class 2014-04-23 14:03:13 +04:00
Zalim Bashorov
82e26ff856 Generated tests 2014-04-22 22:33:09 +04:00
Zack Grannan
aec5ae5dd4 Added IfThenToDoubleBangIntention 2014-04-22 22:33:08 +04:00
Zack Grannan
8476a790bd Added DoubleBangToIfThenIntention 2014-04-22 22:33:08 +04:00
Zack Grannan
f58e1811e4 Added methods to IfThenUtils 2014-04-22 22:33:08 +04:00
Zack Grannan
e5054a4a54 Modified IfThenToElvis to not apply when using '!!' would be better 2014-04-22 22:33:08 +04:00
Zack Grannan
9f63f7c488 Updated AbstractJetInspectionTest to use runtime if necessary 2014-04-22 22:33:08 +04:00
Zack Grannan
f4beffd451 Added getOperationToken method to JetUnaryExpression 2014-04-22 22:33:07 +04:00
Alexey Sedunov
a600606cac Extract Function: UI support for validation 2014-04-22 18:45:56 +04:00
Alexey Sedunov
0e9676173b Extract Function: Implement validation 2014-04-22 18:45:55 +04:00
Alexey Sedunov
e052a64767 Introduce Variable: Compare receivers (both implicit and explicit) when looking for expression occurrences
#KT-4819 Fixed
2014-04-22 18:45:54 +04:00
Zalim Bashorov
40ee454e67 Merge pull request #450 from wutalman/assert_to_if
KT-4576: (Bug fix) Intention to transform an if an AssertionError throw into an assert
2014-04-22 17:30:22 +04:00
Valentin Kipyatkov
19aa35ffeb Smart completion: minor changes 2014-04-22 14:15:07 +04:00
Valentin Kipyatkov
e017f4d952 Smart completion: auto-popup parameter info when comma is inserted 2014-04-22 11:44:32 +04:00
Valentin Kipyatkov
134496d182 Smart completion: special items with "!!" and "?:" for nullable members 2014-04-21 22:14:20 +04:00
Valentin Kipyatkov
710e61dea7 Fixed duplicated "Shorten FQ names" checkbox in live templates 2014-04-21 22:06:16 +04:00
Valentin Kipyatkov
cedf6b2b54 Renamed method 2014-04-21 22:06:16 +04:00
Valentin Kipyatkov
0e28cf1561 Minor code corrections after review 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
e3682befe0 Fixed some tests 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
28e0f3013b Smart completion: no fq-names in types 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
4968377969 Smart completion: lambda item uses template to allow change parameter names 2014-04-21 22:06:15 +04:00
Andrey Breslav
767eb04930 JetElement.getContainingJetFile() introduced 2014-04-21 21:55:00 +04:00
Nikolay Krasko
da0efe2a9e Refactoring: rename method and optimize cycles in methods 2014-04-21 18:47:05 +04:00
Nikolay Krasko
3a5592ee34 Performance hit in getModulesWithKotlinFiles(Project) after git update (KT-4809)
- Wait for indices are ready
- Try to do only one final check
- Better method to check Kotlin files are present in modules

 #KT-4809 Fixed
 #KT-4875 Fixed
2014-04-21 18:47:05 +04:00
Pavel Talanov
9127902a28 Merge pull request #433 from kuity/ReplaceInfixCallFix
Bug Fix for KT-4652 Replace with Infix Call
2014-04-21 04:44:44 -07:00
Tal Man
3713f50800 Intention to convert assert into an if with throw - bug fix for when the call is dot qualified 2014-04-20 12:45:31 -04:00
Andrey Breslav
feece3c326 Temporarily disabling a blinking test 2014-04-18 21:28:24 +04:00
Andrey Breslav
1d3cc306c4 Allow to only resolve declaration headers in classes, without forcing everything to be resolved 2014-04-18 21:28:24 +04:00
Andrey Breslav
b2ea2e1a15 Prohibit inheritance loops through containing classes
Example

class A : B {
  trait C
}

class B : A.C

Here we have a loop in the hierarchy: A -> B -> A.C => A

"=>" represents class nesting
2014-04-18 21:28:24 +04:00
Andrey Breslav
fef2968e1d Order the computations in LazyTopDownAnalyzer
- First, all class descriptors are created
- Then, all functions and properties
- Then the rest
2014-04-18 21:28:24 +04:00
Andrey Breslav
b017b87093 Minor. Unused methods removed 2014-04-18 21:28:24 +04:00
Andrey Breslav
f58aca5ddf Excluding top-level members of library source files when analyzing them lazily 2014-04-18 21:28:24 +04:00
Andrey Breslav
d4eb5e58c5 Minor. Methods made static 2014-04-18 21:28:23 +04:00
Andrey Breslav
5e2630bc12 Unused parameter removed 2014-04-18 21:28:23 +04:00
Andrey Breslav
fdc42c6c1d Debugger behavior fixed: backend relies on all relevant files being analyzed, not only one 2014-04-18 21:28:23 +04:00
Andrey Breslav
9da2cbd5e8 Duplicating diagnostics removed from test data 2014-04-18 21:28:23 +04:00
Andrey Breslav
f0a29f190b USELESS_HIDDEN_IMPORT diagnostic fixed for LAZY mode 2014-04-18 21:28:23 +04:00
Andrey Breslav
a3638eacef Blinking class object tests fixed
Now lazy descriptors for all class objects are retained by the owning class
2014-04-18 21:28:22 +04:00
Andrey Breslav
e4e60bc377 Function object replaced by a normal function
+ unneededly public member made protected
2014-04-18 21:28:22 +04:00
Andrey Breslav
ebd44816d0 Function object replaced by a normal function 2014-04-18 21:28:22 +04:00
Andrey Breslav
54d3f6df19 Minor. Unused constant removed 2014-04-18 21:28:22 +04:00
Andrey Breslav
1d7bd354d5 Use lazy analysis for highlighting and other purposes 2014-04-18 21:28:22 +04:00
Andrey Breslav
4839f7a230 Make lazy analysis accessible to clients 2014-04-18 21:28:22 +04:00
Andrey Breslav
7d688e5bec LazyTopDownAnalyzer extracted as a separate component 2014-04-18 21:28:21 +04:00
Andrey Breslav
3184b9ddba Special factory method for local analysis
- No need to pass the same flags all the time
- No need to check for local mode when in LAZY mode
2014-04-18 21:28:21 +04:00
Andrey Breslav
b02195e9ae LAZY flag is moved to TopDownAnalysisParameters 2014-04-18 21:28:21 +04:00
Andrey Breslav
bb87a6bb59 Only create lazy annotations for descriptors from code 2014-04-18 21:28:21 +04:00
Andrey Breslav
c57243035e Factory method introduced for TopDownAnalysisParameters 2014-04-18 21:28:21 +04:00
Alexander Udalov
cdceaec79f Fix unjustified descriptorToDeclaration in bridge codegen
Delegated and synthesized members don't usually have a declaration as well as
fake overrides
2014-04-18 17:18:51 +04:00
Alexey Sedunov
45073c5a1c Do not show description hint for declaration with diagnostic message
#KT-4815 Fixed
2014-04-18 14:38:20 +04:00
Alexey Sedunov
e5777129e2 Introduce utility functions for operations on search scopes 2014-04-18 14:38:19 +04:00
Alexey Sedunov
191ea2533e Dot not lengthen references to declarations contained in the moving element 2014-04-18 14:38:17 +04:00
Alexey Sedunov
5f92c22df3 Smart Selector: Do not suggest expressions contained in the super-expression
#KT-4824 Fixed
2014-04-18 14:38:17 +04:00
Nikolay Krasko
068c9636fc Refactoring: rename TEXT to FQNAMES_IN_TYPES 2014-04-18 13:25:58 +04:00
Nikolay Krasko
962044f887 Use render with short types names in completion lookup elements 2014-04-18 13:18:18 +04:00
Nikolay Krasko
f6276cc10b Fix ClassCastExceptions from LocalVariableDescriptor to PropertyDescriptor (EA-55534). 2014-04-18 13:18:18 +04:00
Nikolay Krasko
37c6727413 Report message with context for KT-4464 2014-04-18 13:18:17 +04:00
Lingzhang
6feee57d5e Bug Fix for KT-4652 Replace with Infix Call 2014-04-18 02:15:02 -04:00
Alexander Udalov
5e138a606b Report "cannot infer visibility" for delegated members 2014-04-17 19:51:32 +04:00
Alexander Udalov
369472a6e2 Log.warn when descriptors reach TO_STRING diagnostic renderer 2014-04-17 19:51:32 +04:00
Alexander Udalov
a5cc894ecd Fix "name in constraint is not a type parameter" diagnostic message
TO_STRING renderer was used for PSI elements, so things like "CLASS", "FUN"
were displayed in the message
2014-04-17 19:51:32 +04:00
Alexander Udalov
72dfca1698 Fix "cannot override invisible member" diagnostic message
Fix "cannot has", delete "in class ..." as it's already present in the message
(function ... defined in class ...)
2014-04-17 19:51:32 +04:00
Alexander Udalov
1deb55bfde Add positioning strategy for diagnostics on illegal fake overrides
"funcitonTypes.kt" test data file was changed because now that there is a
positioning strategy, it takes the liberty of filtering out those diagnostics
that were reported on syntactically invalid elements
2014-04-17 19:51:31 +04:00
Alexander Udalov
146498ec32 Sort out renderers for diagnostics
- change NAMED to be Renderer<Named> and render Named's name. It was used in
  multiple places with arbitrary arguments, not only Named: change renderers in
  those places to TO_STRING
- add STRING, which is Renderer<String> and renders string itself. Change all
  places where strings were used with either TO_STRING or NAMED to STRING
- change NOT_AN_ANNOTATION_CLASS diagnostic to be reported on descriptor, not
  any string
- change "unused variable/parameter" diagnostics to be reported on
  VariableDescriptor, not Object
2014-04-17 19:51:31 +04:00
Alexander Udalov
4c973b79ee Get rid of poorly named NotInferredVisibilitySink
Also make TraceBasedErrorReporter invoke OverrideResolver to report "cannot
infer visibility", because there's some additional logic there
2014-04-17 19:51:31 +04:00
Alexander Udalov
5ae339d940 Fix "Cannot infer visibility" for fake overrides
#KT-4785 Fixed
2014-04-17 19:51:31 +04:00
Alexander Udalov
55b28fcd0e Minor, provide a nicer API in OverrideResolver for plugin 2014-04-17 19:51:30 +04:00
Alexander Udalov
34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Alexander Udalov
3dffd428ad Refactor OverrideResolver and OverridingUtil
Fix warnings, simplify code. Untangle a very complex code related to
diagnostics on multiple default values and different names of parameters in
supertypes; fix a bug there, add test
2014-04-17 19:51:30 +04:00
Alexander Udalov
adec89f74d Don't print descriptors' toString() in diagnostic messages
Use DescriptorRenderer.TEXT instead, it doesn't print the debug information
2014-04-17 19:51:29 +04:00
Alexander Udalov
5be2a4945b Render FQ name of default package as "root package" in OverloadResolver 2014-04-17 19:51:29 +04:00
Alexander Udalov
4f9f5d231b Fix incorrect diagnostic message for CONFLICTING_OVERLOADS
- the member and the container were mixed up
- don't output "defined in" part of the message, because we tell later where
  it's already defined in
- fix an instability of the diagnostic order in OverloadResolver by using
  LinkedHashSet
2014-04-17 19:51:29 +04:00
Alexey Sedunov
0d90dcf010 Extract Function: Add test data 2014-04-17 19:01:20 +04:00
Alexey Sedunov
4dec0508a6 ExtractionTest: Change test data layout 2014-04-17 19:01:17 +04:00
Alexey Sedunov
24d8557a5a Translate AbstractJetExtractionTest to Kotlin 2014-04-17 19:01:15 +04:00
Alexey Sedunov
a951734ec2 Generalize "Introduce variable" test 2014-04-17 19:01:13 +04:00
Alexey Sedunov
074471c0ed Get rid of unnecessary write action 2014-04-17 19:01:11 +04:00
Alexey Sedunov
6006f53e68 Auto-generate test class for "Introduce variable" refactoring 2014-04-17 19:01:09 +04:00
Alexey Sedunov
a72d785d62 Use lazy analysis in JetNameValidatorImpl 2014-04-17 19:01:07 +04:00
Alexey Sedunov
1fe6df268a Extract Function: UI and refactoring handler 2014-04-17 19:01:04 +04:00
Alexey Sedunov
424c5f296f Extract Function: Analysis and code generation 2014-04-17 19:01:02 +04:00
Alexey Sedunov
cceaa3b66f Fix bug in ShortenReferences visitor (do not skip PSI elements after modication) 2014-04-17 19:01:00 +04:00
Alexey Sedunov
95b4ec2058 Drop ReturnInstruction 2014-04-17 19:00:58 +04:00
Alexey Sedunov
3952a121fb Pseudocode: Track PSI elements which correspond to jump instructions 2014-04-17 19:00:56 +04:00
Alexey Sedunov
103165d674 Move Maybe class and its inheritors to util package 2014-04-17 19:00:54 +04:00
Alexey Sedunov
cf55102697 Move "Introduce..." classes to separate package
Rename Jet -> Kotlin
2014-04-17 19:00:52 +04:00
Valentin Kipyatkov
f11a05e504 Smart completion: auto popup parameter info for constructor 2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
df299655a7 Smart completion: one more working test and one more test to fix later 2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
164fb84cbe Smart completion: ExpectedTypeInfo renamed to ExpectedInfo 2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
9609a9fff1 Smart completion: refactored one big class into a set of smaller ones 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
c53da996c4 Smart completion: refactored static members processing 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
ad791d0480 Smart completion: some code improvements 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
f682dc36e0 Smart completion: lambda items 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
1ba4c656a5 Smart completion: bugfix - no function reference after dot 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
5bff98c164 Smart completion: minor code refactoring 2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
73329af7b1 Smart completion: refactored all code into a class to avoid passing the same data into many functions 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
06b1f1ec2f Smart completion: code improvements and refactorings after code review 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
6b1ecc3fb0 Smart completion: "::functionName" items when value of function type is expected 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
7d5b86e000 Smart completion: no duplicates among static members 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
4b5d175aa7 Smart completion: no more duplicates among type instantiation items 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
5d8c5cfa31 Smart completion inserts closing parenthesis as well 2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
f984dbc5b6 Smart completion to insert comma when in argument list 2014-04-17 14:39:28 +04:00
Zalim Bashorov
7b8f2fe396 Updated to IDEA 135.689 (13.1.2 EAP) 2014-04-17 13:28:03 +04:00
Alexander Udalov
3b7c743acc Minor fix in assert<->if+throw intention description 2014-04-17 03:20:14 +04:00
Zalim Bashorov
23922c1387 Fixed line separators for fix maven build on Windows. 2014-04-16 20:33:42 +04:00
Zalim Bashorov
361c81bbe5 IDEA plugin: fixed using SimplifyNegatedBinaryExpressionIntention and dependent tests.
+ minor reformat.
2014-04-16 18:14:11 +04:00
Tal Man
9cff3ba049 Intention to convert assert to an if with throw 2014-04-15 19:26:39 -04:00
Alexey Sedunov
db38f420f3 Move Refactoring: Do not replace references to local declaration with qualified names. Update and fix test data
#KT-4851 Fixed
2014-04-15 16:19:28 +04:00
Svetlana Isakova
58b8eab620 Merge pull request #406 from wutalman/explicit_type_arguments
KT-4583 Intention for removing explicit type arguments at function calls
2014-04-15 12:09:15 +04:00
Andrey Breslav
d28ca5bdfa Empty parameter list should go before '->' in a lambda
Example:

  val x = { -> foo() }
2014-04-14 19:15:08 +04:00
Tal Man
b9e248b006 Intention for removing explicit type arguments at function calls 2014-04-14 11:14:09 -04:00
Alexander Udalov
4a60c59f39 Minor, fix KotlinSignature of DFS methods 2014-04-14 16:02:10 +04:00
Alexander Udalov
79e7ee91e4 Generate bridges for trait implementations properly
The intent was to keep the bridge codegen model as simple as possible: we
should be able to figure out all necessary bridges only by a minimal interface
that FunctionHandle provides (isAbstract, isDeclaration, getOverridden)

Add different tests for bridges

 #KT-318 Obsolete
2014-04-11 21:57:47 +04:00
Alexander Udalov
4a12ea9bda Don't generate bridges in light classes mode 2014-04-11 21:57:46 +04:00
Alexander Udalov
b0db6a4526 Rewrite bridge generation to Kotlin, make it abstract 2014-04-11 21:57:46 +04:00
Alexander Udalov
fc838dbb53 Refactor ImplementationBodyCodegen.getTraitImplementations()
Make it static, extract a method which finds an implementation in a trait for a
fake override
2014-04-11 21:57:46 +04:00
Alexander Udalov
5967befa6a Minor, catch all exceptions in asm verification in tests
E.g. ClassFormatError
2014-04-11 21:57:45 +04:00
Alexander Udalov
28940256e3 Minor, add bytecode text test on bridges for fake overrides 2014-04-11 21:57:45 +04:00
Alexander Udalov
478766815d Consider all real functions, not only declarations in bridge codegen
There should be bridges to all of the functions present in bytecode
2014-04-11 21:57:45 +04:00
Alexander Udalov
04c237cc22 Generate bridges for fake overrides when needed
#KT-3985 Fixed
 #KT-4145 Fixed
2014-04-11 21:57:44 +04:00
Alexander Udalov
2c2c918447 Refactor bridges algorithm in codegen
- fix a typo (which apparently didn't matter)
- queue now always contains originals, no need to invoke getOriginal()
- no need to add current descriptor's original anymore, this was a hack working
  around a problem with trait-impl which was fixed by another change
- a small optimization: don't do anything for constructors
2014-04-11 21:57:44 +04:00
Alexander Udalov
320a17739d Minor, move and rename getExceptions
Should only be used in FunctionCodegen from now on, because every method
generation should go through FunctionCodegen
2014-04-11 21:57:43 +04:00
Alexander Udalov
11386c0f7a Simplify codegen for trait methods with implementations
- use existing framework (FunctionCodegen.generateMethod) which will take care
  of all subtleties of method generation (bridges, annotations, thrown
  exceptions, etc)
- call to "generateThisOrOuter" was not needed, since when we're generating
  delegation to TImpl, "this" is always "ALOAD 0"
2014-04-11 21:57:43 +04:00
Alexander Udalov
089cba5791 Warn about unwrapFakeOverride in a comment 2014-04-11 21:39:56 +04:00
Evgeny Gerashchenko
b9ddc107ba Merge pull request #443 from Stebalien/fix-eqeqeq
Accepted, thank you
2014-04-11 21:06:42 +04:00
Steven Allen
6de114366f Correctly unparse EQEQEQ and EXCLEQEQEQ into === and !== (instead of == and !=).
Reported by Pradyoth Kukkapalli on the kotlin-students mailing list.
2014-04-11 12:46:26 -04:00
Natalia Ukhorskaya
ed7a156553 Merge remote-tracking branch 'origin/pr/435'
Conflicts:
	idea/src/META-INF/plugin.xml
	idea/tests/org/jetbrains/jet/plugin/codeInsight/JetInspectionTestGenerated.java
2014-04-11 12:11:44 +04:00
Natalia Ukhorskaya
f6a4cce3ae Merge pull request #434 from zgrannan/if_then_to_elvis_inspection
KT-4555 Inspection to detect if's that are foldable to elvis operator
2014-04-11 11:59:42 +04:00
Zack Grannan
867925d5a1 Added ifThenToSafeAccessInspection 2014-04-10 15:44:59 -07:00
Zack Grannan
328607a3ab Added ifThenToElvisInspection
Conflicts:
	idea/src/META-INF/plugin.xml
2014-04-10 14:43:18 -07:00
Tal Man
cfc16b410e Intention for adding explicit type arguments at function calls 2014-04-10 16:28:42 +04:00
Natalia Ukhorskaya
f8db722011 Merge pull request #392 from wutalman/simplify_booleans
KT-4569: Intention to simplify boolean expressions with constants #KT-4569 Fixed
2014-04-10 11:00:16 +04:00
Natalia Ukhorskaya
c8abe91c25 Move files to subdirectory before merge them to kotlin/master 2014-04-10 10:25:01 +04:00
Tal Man
0feb0d35e6 Intention to simplify boolean expressions that have expressions in them that can be simplified to constants 2014-04-09 14:47:13 -04:00
Tal Man
aeb5bae556 Refactoring of CompileTimeConstant, introduce flag to represent a constant being referenced by a variable 2014-04-09 14:47:05 -04:00
Pavel Talanov
32651ec05f Merge pull request #431 from gavinkeusch/split_if_new
KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword
2014-04-09 09:10:50 -07:00
gavinkeusch
216ea4940d KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword 2014-04-08 11:29:30 -07:00
Evgeny Gerashchenko
c32bb67365 Updated to IDEA 135.667 (13.1.2 EAP) 2014-04-08 19:29:44 +04:00
Alexey Sedunov
f5fb2ea0ab Reuse intention test data in inspection tests 2014-04-08 15:34:51 +04:00
asedunov
32a2e63ae5 Merge pull request #386 from pk382/operator-assign-intention
Intention: Convert between "+=" and "a = a + b"
#KT-4563 Fixed
2014-04-08 11:03:08 +02:00
Pradyoth Kukkapalli
eb3ddf50bf New Intention Action: Replace with traditional assign.
This takes an expression of the form a += b and converts it to an
expression form a = a + b.
2014-04-07 09:43:02 -04:00
Pradyoth Kukkapalli
249af96d3c New Intention Action: Replace with operator assign
Replaces a statement of the form a = a + b with a statement of the form
a += b.
2014-04-07 09:43:01 -04:00
Andrey Breslav
8777ab9ee8 Extra instructions added 2014-04-05 12:39:33 +03:00
Nikolay Krasko
f41f48b112 Use lazy resolve in name suggester 2014-04-05 04:41:31 +04:00
Nikolay Krasko
dd45da01d1 Fix "Extract variable" for anonymous object suggests name "nonameprovided" (KT-4813)
#KT-4813 Fixed
2014-04-05 04:41:31 +04:00
zarechenskiy
43b41f6db9 Implement formatMethod in JavaSignatureFormatter without PSI 2014-04-04 17:40:37 +04:00
zarechenskiy
fe48051041 Remove acces to JavaPropertyInitializerEvaluator through ServiceLoader by injecting it in GenerateInjectors 2014-04-04 17:40:37 +04:00
zarechenskiy
2e4028ba3a Move method createArrayType to JavaType and drop JavaElementFactory 2014-04-04 17:40:36 +04:00
zarechenskiy
735df2e340 Drop getExternal method from JavaSignatureFormatter 2014-04-04 17:40:36 +04:00
zarechenskiy
d7337fbe94 Remove PSI in TraceBasedExternalSignatureResolver, AlternativeFieldSignatureData, AlternativeMethodSignatureData 2014-04-04 17:40:35 +04:00
Alexander Udalov
77b2b29641 Show uninitialized descriptor's name in DeclarationDescriptor.toString() 2014-04-04 17:40:34 +04:00
Nikolay Krasko
5606c21f89 Remove synchronous VFS refresh to avoid deadlocks (KT-4584)
#KT-4584 Fixed
2014-04-04 02:10:31 +04:00
Nikolay Krasko
48570ebc64 Automatically enable Kotlin plugin if it was disabled 2014-04-04 02:10:30 +04:00
Nikolay Krasko
6e8c1df5ee Minor: fix always null warning 2014-04-04 02:10:29 +04:00
Nikolay Krasko
a7bc9ec96c Minor: use directive with current ABI version in test data 2014-04-04 02:10:29 +04:00
Alexander Udalov
8006fcc819 Minor, add assertion message 2014-04-03 19:33:22 +04:00
Alexander Udalov
750d3e8de7 Drop MutableClassDescriptorLite
Inline it into MutableClassDescriptor
2014-04-03 19:13:11 +04:00
Alexander Udalov
cbe6e49a93 Consider outer classes when topsorting hierarchy
- when building a topsorted hierarchy, consider not only edges to the class'
  superclasses, but also from inner/nested classes to their container. This
  effectively means that a class cannot inherit from its nested class. Similar
  cases (see the tests) are disallowed in Java.
- filter classes by their presence in TopDownAnalysisContext, not by being a
  MutableClassDescriptor (otherwise analysis for local classes ends up trying
  to do something with outer superclasses)
- delete outdated comment: topsort is needed not only for better diagnostics,
  but also for correct order of fake overrides construction
2014-04-03 19:12:56 +04:00
Alexander Udalov
9b2291d381 Fix StackOverflowError on cyclic hierarchy Java<->Kotlin
Report errors not only when superclasses are MutableClassDescriptorLite, but
any classes

 #KT-2115 Fixed
2014-04-03 19:04:12 +04:00
Alexander Udalov
4241eb9661 Regenerate tests 2014-04-03 19:02:56 +04:00
Alexander Udalov
a485f24217 Don't serialize signature to string to check against toString/hashCode/equals 2014-04-03 01:24:39 +04:00
Alexander Udalov
9fbe2c7cbc Minor, remove read check in WriteThroughScope
Without this, it's difficult to debug errors related to writing to the already
locked scope: if you set a conditional breakpoint in checkMayRead() on a
scope's toString(), its toString() will call getContainingDeclaration(), which
will call checkMayRead() again, resulting in StackOverflowError
2014-04-03 01:24:38 +04:00
Zalim Bashorov
96d5a1d0e6 JS backend: test both versions of Map(Complex and Primitive) 2014-04-02 17:50:40 +04:00
Zalim Bashorov
336ff43b26 JS backend: - test both versions of Set(Complex and Primitive)
- added size in PrimitiveSet
 - fixed contains in PrimitiveSet

 #KT-4796 fixed
2014-04-02 17:50:40 +04:00
Zalim Bashorov
6c1ed450a2 Added the directive for allow to use runtime classes in intention tests. 2014-04-02 16:00:09 +04:00
Andrey Breslav
4f44c7ba9c Unused mechanism removed
Incomplete traces are not needed for light classes any more, because light classes use lazy resolve
2014-04-02 15:48:58 +04:00
Andrey Breslav
96a812b36e Minor. Rename method BodiesResolveContext.getClasses()
This is done to avoid the clash of meanings with TopDownAnalysisContext.getAllClasses()
2014-04-02 15:48:58 +04:00
Andrey Breslav
98e6b7ddbe Top-down analysis accounts for script classes too 2014-04-02 15:48:57 +04:00
Andrey Breslav
0f422df98f In non-lazy mode, script classes are normal MutableClassDescriptors 2014-04-02 15:48:57 +04:00
Andrey Breslav
989079e4fc Properties from primary constructors added to getAllDescriptors() 2014-04-02 15:48:56 +04:00
Andrey Breslav
9f70364aff Add 'rv' property to getAllDescriptors() in script classes 2014-04-02 15:48:56 +04:00
Andrey Breslav
363fdf4045 Account for script classes in getAllDescriptors() 2014-04-02 15:48:56 +04:00
Andrey Breslav
d51fd634df Script classes are public in LAZY mode 2014-04-02 15:48:55 +04:00
Pavel V. Talanov
6ba8e4c4b1 Switch JetMultifileBasicCompletionTest to generated approach 2014-04-02 13:37:18 +04:00
Pavel V. Talanov
4c634d5c67 Use common infrastructure for JetMultifileBasicCompletionTest 2014-04-02 13:37:17 +04:00
Pavel V. Talanov
4275fa9cd3 Make JetCompletionMultiTestBase extend JetFixtureCompletionBaseTestCase 2014-04-02 13:37:16 +04:00
Pavel V. Talanov
3fdb548a9d Introduce JetModifierKeywordToken to mark keywords which can be used as modifiers
Change JetModifierList and JetModifierListOwner api to accept only those tokens
2014-04-02 13:37:15 +04:00
Andrey Breslav
f0bab0c6d1 Annotations on lazy classes are resolved lazily 2014-04-02 13:28:48 +04:00
Zalim Bashorov
b43958f4b3 Fixed tests after adding error checking for intention tests. 2014-04-01 20:49:24 +04:00
Zalim Bashorov
8d19c7309b Minor: use canonical path to expected file in intention tests. 2014-04-01 18:52:31 +04:00
Zalim Bashorov
3375ed90a4 IDEA plugin: added the error checking to intentions tests. 2014-04-01 17:28:55 +04:00
Andrey Breslav
d5eea09146 Imports moved from under the script node to top level 2014-04-01 12:36:52 +04:00
Andrey Breslav
7bdc56d895 Script-related code extracted to subclasses 2014-04-01 12:36:52 +04:00
Andrey Breslav
64a80baacc Support script return value field in LAZY mode 2014-04-01 12:36:51 +04:00
Andrey Breslav
b8119a57ab Script parameters supported in LAZY mode 2014-04-01 12:36:51 +04:00
Andrey Breslav
1335152625 ResolveSession caches script descriptors 2014-04-01 12:25:33 +04:00
Andrey Breslav
77261330b9 Only use script parameters from definition
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
2014-04-01 12:25:33 +04:00
Andrey Breslav
086e16f67f ResolveSession knows about script classes 2014-04-01 12:25:33 +04:00
Andrey Breslav
b48d9884ee Minor. Better assertion message 2014-04-01 12:25:33 +04:00
Andrey Breslav
d909a03453 Minor. ScriptNameUtil works on scripts, not files 2014-04-01 12:25:32 +04:00
Andrey Breslav
caa80a0552 DeclarationProvider now returns ClassLikeInfo's instead of PSI 2014-04-01 12:25:32 +04:00
Andrey Breslav
06e901e2c7 Minor. Missing final added 2014-04-01 12:25:32 +04:00
Andrey Breslav
7933f07bdd Avoid rewrites between script body checking and class members 2014-04-01 12:25:32 +04:00
Andrey Breslav
6ac2e2da8a Support scripts in LAZY mode 2014-04-01 12:25:32 +04:00
Andrey Breslav
5166c73060 Property descriptor initialization moved to DescriptorResolver 2014-04-01 12:25:32 +04:00
Andrey Breslav
214465a81c Extract method 2014-04-01 12:25:31 +04:00
Andrey Breslav
76e286aacc ScriptParameterResolver extracted 2014-04-01 12:25:31 +04:00
Andrey Breslav
e683a28689 Minor. Extract method 2014-04-01 12:25:31 +04:00
Andrey Breslav
f81bf5ea73 Do not add functions and properties with inferred types as script class memebrs 2014-04-01 12:25:31 +04:00
Andrey Breslav
9a1f8b9cc6 Trace is not injected into ScriptBodyResolver any more 2014-04-01 12:25:31 +04:00
Andrey Breslav
5ef329b713 Store scope for body resolution in ScriptDescriptor 2014-04-01 12:25:31 +04:00
Andrey Breslav
3e957031b9 Minor. Method moved to where it belongs 2014-04-01 12:25:30 +04:00
Andrey Breslav
efd752290e Minor. Extract method 2014-04-01 12:25:30 +04:00
Andrey Breslav
e24a90a73a Minor. Logic moved up the call stack 2014-04-01 12:25:30 +04:00
Andrey Breslav
bbf9523c04 getValueParameters() removed from ScriptDescriptor 2014-04-01 12:25:30 +04:00
Andrey Breslav
04f21eee50 getReturnType() removed from ScriptDescriptor 2014-04-01 12:25:30 +04:00
Andrey Breslav
39c06e19e4 Minor. Comment removed 2014-04-01 12:25:30 +04:00
Andrey Breslav
19e5e322fe Cast moved to the call-site 2014-04-01 12:25:29 +04:00
Andrey Breslav
7191763c17 Extract interface: ScriptDescriptor 2014-04-01 12:25:29 +04:00
Mikhael Bogdanov
e2f3a589e7 KT-3308 Support local generic functions in codegen
#KT-3308 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
4269729b0a KT-3214: Verify error when get array convention is used with varargs
#KT-3214 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
596dc68ea4 KT-4340: Jvm backend generates invalid synthetic accessor for private extension property 2014-04-01 11:18:15 +04:00
Natalia Ukhorskaya
33b1813dd7 Remove KT-4617 workaround 2014-04-01 11:12:23 +04:00
Natalia Ukhorskaya
32a6205d81 SmartStepInto in top level functions. Add test for debugger
#KT-4737 Fixed
2014-04-01 10:41:34 +04:00
Nikolay Krasko
4aa3dff2a2 Update to ASM5 2014-04-01 02:55:05 +04:00
Nikolay Krasko
95fd870988 Update to idea 135.666 EAP with asm5 library 2014-04-01 02:55:00 +04:00
Evgeny Gerashchenko
04a6b10f7a Minor. Renamed annotationDeserializer → deserializers. 2014-03-31 22:39:59 +04:00
Evgeny Gerashchenko
dadc8351b6 Added tests for compiling Java against TraitImpl and extension members. 2014-03-31 22:39:58 +04:00
Evgeny Gerashchenko
93dfc00880 Minor. Renamed enum constants for clarification. 2014-03-31 22:39:58 +04:00
Natalia Ukhorskaya
4a79bfa16d Generate static accessors fro protected functions in different packages
#KT-4617 Fixed
2014-03-31 21:27:13 +04:00
Mikhael Bogdanov
5b5ecca12a Inline test: check that no any inline method is called directly 2014-03-31 20:04:23 +04:00
Mikhael Bogdanov
0d239a3e0e Moving local fun callee generation to CallReceiver 2014-03-31 20:04:10 +04:00
Mikhael Bogdanov
7dc662f613 Optimization for const closures: access it via GETSTATIC 2014-03-31 20:04:09 +04:00
Mikhael Bogdanov
c7c1e33655 Move local fun callee generation to pushArgumentsWithCallReceiver.
Local fun callee generation via resolvedCall.resultingDescriptor not call
2014-03-31 20:03:43 +04:00
Mikhael Bogdanov
94e4c2f0c1 Move call receiver wrapping and generation to pushArgumentsWithCallReceiver 2014-03-31 20:00:46 +04:00
Mikhael Bogdanov
e1e2855887 Removed obsolete pop operation 2014-03-31 19:59:24 +04:00
Mikhael Bogdanov
b3f4b79cdf Fixed misspelling in defaulCallGenerator 2014-03-31 19:59:24 +04:00
Mikhael Bogdanov
ff4ff29d28 CallReceiver calcType and put method identical simplification 2014-03-31 19:59:24 +04:00
Zalim Bashorov
fd165f055f Minor in JS backend:
- use constants from Namer in JsAstUtils#createPackage;
  - dropped extra JsInvoke node when create IIF;
  - create new JsName for Kotlin object in IIF scope.
2014-03-31 16:07:55 +04:00
Zalim Bashorov
0a546ebb40 Merge pull request #428 from alextkachman/kotlin-as-var
added Kotlin as parameter for module wrapping function
2014-03-31 15:58:18 +04:00
Zalim Bashorov
0d61fbb8f7 Merge pull request #427 from alextkachman/master
Avoid unnecessary null checks in'!!' and 'as'
2014-03-31 15:57:24 +04:00
gavinkeusch
a6a1bb2b7c KT-4574 New Intention: Split If - converts if statement containing one or more conjunction operators into two nested if statements 2014-03-31 14:40:00 +04:00
Nikolay Krasko
7c94e8a9af Rename kotlin properties with all usages
#KT-4317 Fixed
 #KT-4316 Fixed
2014-03-31 14:09:51 +04:00
Nikolay Krasko
b779141845 Refactoring: move methods about override to OverridingUtil 2014-03-31 14:09:50 +04:00
Nikolay Krasko
a39537f040 Update Kotlin icons 2014-03-31 14:09:49 +04:00
Alex Tkachman
82a25c8b07 added Kotlin as parameter for module wrapping function. this is for better obfuscation 2014-03-31 10:25:02 +03:00
Alex Tkachman
371dfc6ec4 avoid unnecessary null checks when receiver of '!!' or 'as' operator is not nullable 2014-03-29 21:28:00 +03:00
Alexander Udalov
09a8e284e5 Minor fix in kotlin-stdlib-gen
This change was forgotten in e3fffe2
2014-03-28 22:45:35 +04:00
Alexander Udalov
d75a20bd7c Minor, fix warning 2014-03-28 21:56:04 +04:00
Alexander Udalov
1e611f4df1 Minor refactoring in TypeUtils
Move out unneeded things in runtime, fix warnings
2014-03-28 21:56:04 +04:00
Alexander Udalov
d08da465d4 Module 'serialization' doesn't depend on intellij-core anymore 2014-03-28 21:44:07 +04:00
Alexander Udalov
59c04f5aff Module 'util.runtime' doesn't depend on intellij-core anymore 2014-03-28 21:44:07 +04:00
Alexander Udalov
d719222bc4 Delete CommonSuppliers, use Guava directly 2014-03-28 21:44:07 +04:00
Alexander Udalov
7c4079fd32 Tear down SubstitutionUtils and move to frontend 2014-03-28 21:44:00 +04:00
Alexander Udalov
e3fffe275b Fix implementation of Iterable<T>.take
#KT-4780 Fixed
2014-03-28 19:08:48 +04:00
Evgeny Gerashchenko
829cd95469 KT-4770 Javac fails against Kotlin inner class
#KT-4770 fixed
2014-03-28 16:46:26 +04:00
Andrey Breslav
bcc6843835 Render file name and position in errors from JS library stubs 2014-03-28 13:18:46 +04:00
Nikolay Krasko
c74542c72e Download idea for verify to non-default folder 2014-03-28 12:48:56 +04:00
Alexander Udalov
ea4daed0ac Use FqNameUnsafe instead of FqName in JVM intrinsics
#KT-4777 Fixed
2014-03-27 22:46:44 +04:00
Alexander Udalov
94084fb8e1 Regenerate tests 2014-03-27 22:43:55 +04:00
Valentin Kipyatkov
19bb3ca92a Fixed test (ran GenerateInjectors) 2014-03-27 16:11:36 +04:00
Nikolay Krasko
59137d61fd Remove verify directory before creating (make steps more independent) 2014-03-27 15:44:08 +04:00
Valentin Kipyatkov
50bb90a1e3 Smart completion: support for overloaded method calls 2014-03-27 15:21:57 +04:00
Alexey Sedunov
15364ceae6 Fix bug in test generation (as introduced by earlier commit) 2014-03-27 13:00:37 +04:00
Alexander Udalov
0deea6b83c Add test for obsolete issue
#KT-1936 Obsolete
2014-03-27 03:06:59 +04:00
Evgeny Gerashchenko
3962064bd2 Fixed compilation of KDoc 2014-03-26 23:55:12 +03:00
Andrey Breslav
708694a09d Resolve annotation arguments only once 2014-03-26 21:10:29 +04:00
Andrey Breslav
298ddcf0ad Do not resolve annotation arguments when only a type is requested
This replaces the logic that always did complete constructor call resolution by a request to typeResolver when only a type is needed
2014-03-26 21:10:29 +04:00
Andrey Breslav
1cdfab761a Lazy annotation resolution supported 2014-03-26 21:10:29 +04:00
Andrey Breslav
bb17adc8d7 LazyAnnotations implementation 2014-03-26 21:10:29 +04:00
Andrey Breslav
72b2fa77f7 Test for recursively annotated class object added 2014-03-26 21:10:29 +04:00
Andrey Breslav
b3fb2e2314 Register files in package in LAZY mode 2014-03-26 21:10:29 +04:00
Andrey Breslav
311e7ab5fe Make RecursiveDescriptorProcessorTest happy, it relies on the order of interfaces 2014-03-26 21:10:28 +04:00
Andrey Breslav
3560a9da73 Minor. Extract method 2014-03-26 21:10:28 +04:00
Andrey Breslav
cbb24a7d4e Multiple rewrites to the same key in a map replaced by one write 2014-03-26 21:10:28 +04:00
Andrey Breslav
27d4e583a8 Unneeded field removed 2014-03-26 21:10:28 +04:00
Andrey Breslav
368381a861 Minor. Rename method 2014-03-26 21:10:28 +04:00
Andrey Breslav
f6439ade55 Minor. Extract method 2014-03-26 21:10:28 +04:00
Andrey Breslav
df1f0886c5 Inject a project into TDA for proper lazy session initialization 2014-03-26 21:10:27 +04:00
Andrey Breslav
4b5a192e4c Don't add primary constructors parameters for properties 2014-03-26 21:10:27 +04:00
Andrey Breslav
bf2cc99109 Don't add delegated members from error types 2014-03-26 21:10:27 +04:00
Andrey Breslav
34c6eaec56 Correct scope for property accessors in lazy resolve 2014-03-26 21:10:27 +04:00
Andrey Breslav
4dfb6763b2 Alias importing fixed for the lazy case 2014-03-26 21:10:27 +04:00
Evgeny Gerashchenko
9ecd680fd4 Rewritten PackageFragmentDescriptor to Kotlin. 2014-03-26 00:41:54 +04:00
Evgeny Gerashchenko
00c0c1acd1 Introduced base PackageFragmentDescriptorImpl class, 2014-03-26 00:30:56 +04:00
Evgeny Gerashchenko
b736d1602e Got rid of conustructors zoo in value parameter and getter/setter descriptors. 2014-03-25 21:35:09 +04:00
Evgeny Gerashchenko
cf61446d69 Fixed order of containing and original in property descriptors. 2014-03-25 21:35:09 +04:00
Evgeny Gerashchenko
48f8aa279b Extracted "preserve original" flag. 2014-03-25 21:34:11 +04:00
Evgeny Gerashchenko
1aaea21f63 Got rid of constructors/initializers zoo in property descriptors 2014-03-25 21:33:15 +04:00
Evgeny Gerashchenko
eaad1f9f50 Got rid of constructors/initializers zoo in simple function descriptors 2014-03-25 21:33:14 +04:00
Evgeny Gerashchenko
8d38e74bd9 Got rid of constructors/initializers zoo in constructor descriptors 2014-03-25 21:33:09 +04:00
Nikolay Krasko
23e6ae02bd Update versions pattern in order to support several numbers in version 2014-03-25 19:02:49 +04:00
Nikolay Krasko
d577656815 Download latest android studio by default 2014-03-25 19:02:49 +04:00
Alexey Sedunov
cceb66d632 Implement structural grouping of Kotlin declaration usages
#KT-4742 Fixed
2014-03-25 18:01:06 +04:00
Alexey Sedunov
5d4527d7aa Parser: Fix recovery of constructor parameter list
#KT-4739 Fixed
2014-03-25 16:49:46 +04:00
Alexey Sedunov
028a71273c Fix test data of QuickFixTest 2014-03-25 16:49:44 +04:00
Alexey Sedunov
1bbec14cc0 Inspections: Explicit "get" 2014-03-25 16:49:43 +04:00
Alexey Sedunov
a0bc6a7b39 Base classes for Kotlin inspections 2014-03-25 16:49:40 +04:00
kuity
48b9dcf5ae Added KT-4549 SwapBinaryExpression Intention 2014-03-25 15:55:53 +04:00
Andrey Breslav
80737bdfcf Fix PSI behavior for "val x : ()?' case 2014-03-25 15:55:53 +04:00
Evgeny Gerashchenko
6725b4f1b0 Minor. Unified code. 2014-03-25 14:34:59 +04:00
Evgeny Gerashchenko
5360451022 Minor. Renamed methods. 2014-03-25 14:34:58 +04:00
Evgeny Gerashchenko
33e59103ec Fixed test when JDK 8 is system default. 2014-03-25 14:34:58 +04:00
Evgeny Gerashchenko
74ff77eca4 Added test case to K2JvmCliTest.
Test is already present.
2014-03-25 14:34:57 +04:00
Evgeny Gerashchenko
a502374a62 Added incremental compilation flag. For publishing intermediate implementation. 2014-03-25 14:34:53 +04:00
Evgeny Gerashchenko
3553f0701c Minor. Got rid of useless parameter. 2014-03-25 14:31:45 +04:00
Evgeny Gerashchenko
a44f0c2f2d Removed dependency on asm in descriptor.loader.java
Conflicts:
	compiler/backend/src/org/jetbrains/jet/codegen/JavaSerializerExtension.java
2014-03-25 14:31:45 +04:00
Evgeny Gerashchenko
9f8a16fb1a Unified copying of property and method proto data. 2014-03-25 14:31:44 +04:00
Evgeny Gerashchenko
733de56178 Supported properties in partial compilation of package. 2014-03-25 14:31:44 +04:00
Evgeny Gerashchenko
98401d109f Minor. Dictionary. 2014-03-25 14:31:43 +04:00
Evgeny Gerashchenko
9e815f8560 Extracted Java signature deserialization logic from BaseDescriptorDeserializer.
Java signature deserializer returns asm Method instead of MemberSignature
2014-03-25 14:31:42 +04:00
Evgeny Gerashchenko
5e9e0acc34 Introduced trait for deserialized callable and implementations. 2014-03-25 14:31:42 +04:00
Evgeny Gerashchenko
cb0a85bc50 Simplified code in functions hierarchy.
Minimized constructors variety and reduced code duplication.
2014-03-25 14:31:41 +04:00
Evgeny Gerashchenko
537c03fb1a Added test checking that initialization order in package part is not violated. 2014-03-25 14:31:41 +04:00
Evgeny Gerashchenko
d62bc07437 Partial compilation of package (only functions supported). 2014-03-25 14:31:38 +04:00
Evgeny Gerashchenko
00c2bd60e5 Code cleanup in PackageCodegen.
Converted set to one element (because it's always one element). Checking for all files to be in one package FQ name is redundant.
2014-03-25 14:26:49 +04:00
Evgeny Gerashchenko
5c8253c099 Rendering class or package proto when JPS test fails. 2014-03-25 14:26:48 +04:00
Evgeny Gerashchenko
5f77a4548e Extracted util method reading class header from bytes. 2014-03-25 14:26:48 +04:00
Evgeny Gerashchenko
e1a47deeae Checking class files contents after make and rebuild. 2014-03-25 14:26:47 +04:00
Evgeny Gerashchenko
5acd054c72 Baby steps for incremental compilation. 2014-03-25 14:26:47 +04:00
Evgeny Gerashchenko
9e22c29825 Moved general JPS test data to common directory. 2014-03-25 14:26:47 +04:00
Ross Hanson
55e888604e KT-4568: Created the ConvertNegatedExpressionWithDemorgansLaw intention. Converts an expression of the form !(a &&,|| b) to its expanded equivalent under DeMorgan's law. 2014-03-25 10:25:47 +04:00
Ross Hanson
2147a88ed8 KT-4568: Created the ConvertNegatedBooleanSequence intention. This intention takes an expression of the form !a &&,|| !b &&,|| ... and converts it to the DeMorgan equivalent !(a &&,|| b ...). 2014-03-25 10:25:47 +04:00
Nikita Skvortsov
4088f4a00e remove unneeded resources 2014-03-24 20:14:27 +04:00
Nikita Skvortsov
84314711c6 continue renaming tests 2014-03-24 20:14:26 +04:00
Nikita Skvortsov
d2de398d3e clearly rename test projects 2014-03-24 20:14:24 +04:00
Nikita Skvortsov
0ee97faca1 allow modifying test resources path 2014-03-24 20:14:23 +04:00
Zalim Bashorov
5825b0e9b3 Update to IDEA 13.1.1(135.480) 2014-03-24 18:38:25 +04:00
Tal Man
1c2082fd19 Don't create empty parentheses when lambda is the only argument 2014-03-24 18:20:01 +04:00
Ilya Ryzhenkov
796611702c Test indentation on new line in scripts. 2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
64b4c2d49b Fix scripting formatter to avoid extra indent in invisible block node. 2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
480dd6767c Convert module scripting to .ktm extension. 2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
98c54f39bb Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
4ba423ee16 Retain original file extension to test formatting in scripts 2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
9239fa2ece ScriptName now returns FqName, fully qualified with package name. Update usages and convert to internal format as needed. 2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
d08f2bc7ab Do not dispose classLoader so that dependent types can be loaded on demand, like closures. 2014-03-24 18:17:49 +04:00
Ilya Ryzhenkov
e49f4a0722 Marked scripting points with // SCRIPT: markers. 2014-03-24 18:17:49 +04:00
Pavel V. Talanov
618aea6218 Increase stub version before pushing into master 2014-03-24 17:51:55 +04:00
Pavel V. Talanov
5bc8cc1f9a Stub tests: test for parameters with fq name 2014-03-24 17:51:53 +04:00
Pavel V. Talanov
cbaa515a00 Minor: remove redundant toString override 2014-03-24 17:51:51 +04:00
Pavel V. Talanov
a1dbf221b3 Use instance methods instead of JetPsiUtil for getting fq names
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
2014-03-24 17:51:49 +04:00
Pavel V. Talanov
37538f9524 Delete JetStubResolveTest
This test does not seem meaningful anymore
Since DeclarationProvider based on stubs is used in IDE, it is covered by a vast number of tests(anything that uses lazy resolve)
2014-03-24 17:51:47 +04:00
Pavel V. Talanov
c4de1898ce Minor: remove unused method 2014-03-24 17:51:45 +04:00
Pavel V. Talanov
4a5d88c51d Refactor: extract duplicated logic to util class
Introduce PackageIndexUtil
2014-03-24 17:51:43 +04:00
Pavel V. Talanov
97b4c57f0e Minor: fix misleading method name 2014-03-24 17:51:41 +04:00
Pavel V. Talanov
ece6c8ebfe Stubs tests: treat NO_NAME_FOR_LAZY_RESOLVE specially 2014-03-24 17:51:40 +04:00
Pavel V. Talanov
246466bdc5 Implement stub based package declaration provider for lazy resolve
Implement StubPackageMemberDeclarationProvider
Introduce DeclarationProviderFactoryService to provide difference factories in CLI and Plugin
When indexing treat top level declarations without name specially so that they can be found in index
Implement PluginDeclarationProviderFactoryService which uses file based approach for non indexed files and stub based for others
2014-03-24 17:51:38 +04:00
Pavel V. Talanov
fd5aea7c14 Refactor: use generated approach for stubs test
Remove meaningless assertion
Add comment to NotStorePropertyFromDelegate test
2014-03-24 17:06:07 +04:00
Pavel V. Talanov
105949de53 Refactor: fix stubs and psi having redundant constructor parameters 2014-03-24 17:06:06 +04:00
Pavel V. Talanov
b2f2d43919 Stubs for JetClassBody 2014-03-24 17:06:05 +04:00
Pavel V. Talanov
c6484ab4c3 Use of getFqName instead of JetPsiUtils 2014-03-24 17:06:04 +04:00
Pavel V. Talanov
4ef86bdf9f Add getFqName() to JetNamedDeclaration interface
Use stubs to get fq name in stubbed implementations
2014-03-24 17:06:03 +04:00
Pavel V. Talanov
4c1c69a560 Prevent toString for PSI from mutating 2014-03-24 17:06:02 +04:00
Pavel V. Talanov
22b714cef8 Refactor: rename short name indices 2014-03-24 17:06:01 +04:00
Pavel V. Talanov
1859ce6124 Minor: fix misleading parameter name 2014-03-24 17:06:00 +04:00
Pavel V. Talanov
8d07bc60d0 Refactor: remove redundant getElementType overrides is PSI 2014-03-24 17:05:59 +04:00
Pavel V. Talanov
24364dd63b Get rid of JetNodeTypes#LOOP_PARAMETER 2014-03-24 17:05:58 +04:00
Pavel V. Talanov
8e264a1419 Test for formatting loop parameter with explicit type 2014-03-24 17:05:58 +04:00
Alexander Udalov
0b5e9527d1 Add a code conformance test against com.beust.jcommander.internal.* 2014-03-24 16:40:07 +04:00
Alexander Udalov
d704b37240 Minor, delete outdated suppressions, fix warnings 2014-03-24 16:40:07 +04:00
Alexander Udalov
a78509432e Don't build j2k on 'ant dist'
It was only used in kotlin-web-demo some time ago
2014-03-24 16:40:07 +04:00
Svetlana Isakova
8f1c7aa8f6 Refactoring: made 'resolveFunctionCall' return OverloadResolutionResults
not OverloadResolutionResultsImpl
2014-03-24 16:09:31 +04:00
Svetlana Isakova
9c21fb3b1f Minor: removed "? extends" 2014-03-24 16:09:31 +04:00
Svetlana Isakova
77880f667a Collect all resolved candidate calls if required 2014-03-24 16:09:31 +04:00
Svetlana Isakova
e6a71563ba Added collectAllCandidates flag to ResolutionContext 2014-03-24 16:09:31 +04:00
Svetlana Isakova
d2f70b772d refactoring: extracted method doResolveCallAndRecordDebugInfo 2014-03-24 16:09:31 +04:00
Nikolay Krasko
b05fb38dcd Fix ArrayIndexOutOfBoundsException in named parameters completion 2014-03-24 15:19:26 +04:00
Nikolay Krasko
de891ebc6e Use JB colors to avoid problems with different color schemes
- Fix KT-4725 Project wizard: bad font color
- Some warnings fixed

 #KT-4725 Fixed
2014-03-24 15:19:25 +04:00
Nikolay Krasko
287c1f4c71 Test for Complete class names in expression position (KT-2821, KT-3779)
#KT-2821 Fixed
 #KT-3779 Fixed
2014-03-24 15:19:24 +04:00
Natalia Ukhorskaya
8511c683c6 Fix SmartStepInto tests on ubuntu 2014-03-24 13:50:12 +04:00
Alexey Sedunov
46045a5538 Move top-level declarations to separate file: UI 2014-03-21 19:53:50 +04:00
Alexey Sedunov
5aa75ba3e1 Move top-level declarations to separate file: Refactoring processor and tests 2014-03-21 19:53:49 +04:00
Alexey Sedunov
6ddcd51af2 Rename test data directories 2014-03-21 19:53:47 +04:00
Pavel V. Talanov
6524adee0f KT-4735: Exception from type checker prevents copy/paste
#KT-4735 Fixed
2014-03-21 19:20:23 +04:00
Natalia Ukhorskaya
fdef0b03fe Fix compilation 2014-03-21 17:21:42 +04:00
Natalia Ukhorskaya
e8d2ba197e Debugger: implement Smart Step Into
#KT-4639 Fixed
2014-03-21 16:08:01 +04:00
Andrey Breslav
3bc35adf09 Respect versions in site generator 2014-03-20 20:12:57 +04:00
Mikhael Bogdanov
35174b459a Enable Inline flag for light classes 2014-03-20 17:50:54 +04:00
Mikhael Bogdanov
ca4609dd2a Support inline true/false options 2014-03-20 17:50:52 +04:00
Nikolay Krasko
0b1470b5e5 Remove com.beust.jcommander.internal.Lists usage 2014-03-20 16:38:55 +04:00
Alexander Udalov
7d311cdfa0 Support named arguments for Java constructors annotated with KotlinSignature 2014-03-20 12:49:16 +04:00
Alexander Udalov
d2dc54c14f Add test on named arguments completion for Kotlin library 2014-03-20 12:25:58 +04:00
Alexander Udalov
1c25723764 Don't suggest non-stable parameter names in completion 2014-03-20 12:19:26 +04:00
Svetlana Isakova
b33e3fc9d6 Merge pull request #371 from Stebalien/push-not-in-intention
Add an intention to simplify negated expressions.
2014-03-20 11:15:36 +03:00
Andrey Breslav
2a724a6eb4 Filename case fixed 2014-03-20 11:28:32 +04:00
Mikhael Bogdanov
9577c5c6ff Fixed wrong argument usage and ClassCastException 2014-03-20 10:45:55 +04:00
Svetlana Isakova
d90e6460d1 Added asserts about unfinished state
to ResolutionTaskHolder
2014-03-20 10:06:03 +04:00
Svetlana Isakova
3a14ab0af3 Removed ExpressionAsFunctionDescriptor 2014-03-20 10:06:03 +04:00
Svetlana Isakova
75fbecceda Improved error reporting for invoke on expression 2014-03-20 10:06:02 +04:00
Svetlana Isakova
db253ae7e1 Added CallableDescriptorCollectors
to use it instead List<CallableDescriptorCollector>
2014-03-20 10:06:02 +04:00
Svetlana Isakova
8f269f1806 Refactoring: made explicitExtensionReceiverForInvoke final 2014-03-20 10:06:01 +04:00
Svetlana Isakova
f311da3f8f Supported invoke on expressions on js backend 2014-03-20 10:06:00 +04:00
Svetlana Isakova
f9ebf217a4 Added 'call' reference to ResolvedCall 2014-03-20 10:06:00 +04:00
Svetlana Isakova
a829da185d Resolve invoke on any kind of expressions, not only on simple name expressions 2014-03-20 10:05:24 +04:00
Svetlana Isakova
c7087d170e Refactoring: extracted isInvokeCallOnVariable 2014-03-20 10:05:24 +04:00
Svetlana Isakova
a194756327 Report resolve call errors on JetExpression, not on JetReferenceExpression 2014-03-20 10:05:24 +04:00
Svetlana Isakova
495d6326e5 Refactoring: do not store reference expression in resolution task
Sometimes there is no reference for the call (like '{ ... } ()').
A fake reference can be created, but the case when an error is reported on it can't be easily supported.

There were two usages of this reference: tracing and receiver for invoke.
Tracing strategy is created beforehand. Receiver for invoke uses the callee expression (from variable call), not the reference.
2014-03-20 10:05:23 +04:00
Svetlana Isakova
446aed5cf1 Rename
receiverForVariableAsFunctionSecondCall -> explicitExtensionReceiver
receiverFromVariable -> calleeExpressionAsThisObject
2014-03-20 10:05:23 +04:00
Svetlana Isakova
0a9dbbea79 Remove duplicates from implicit receiver hierarchy while building tasks 2014-03-20 10:05:23 +04:00
Alexander Udalov
1c5df773c5 Disallow named arguments for Java methods
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Alexander Udalov
5fa1774cc1 Support hasStableParameterNames in KotlinSignature and propagation
#KT-1924 In Progress
 #KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Alexander Udalov
7fcd42f40c Fix annoying parameter name override warning
Some corner cases still remain: KotlinSignature, propagation, deserialized
delegates to Java interfaces

 #KT-1239 Obsolete
 #KT-1924 In Progress
 #KT-2081 Fixed
2014-03-19 23:24:27 +04:00
Alexander Udalov
80a374a6e4 Minor, fix typo in diagnostic message 2014-03-19 23:24:27 +04:00
Alexander Udalov
b6b1f2a94a Minor, package "test" in compileJavaAgainstKotlin testData 2014-03-19 23:24:27 +04:00
Alexander Udalov
7b7619d1f3 Refactor CompileKotlinAgainstCustomBinariesTest
Make all filenames start with lowercase letter (instead of half lower / half
upper)
2014-03-19 23:24:27 +04:00
Evgeny Gerashchenko
f61470943a KT-4683 KotlinNullPointerException at remove braces intention
#KT-4683 fixed
 EA-54686 fixed
 EA-54687 fixed
2014-03-19 23:20:24 +04:00
Nikolay Krasko
7b8e6fa462 Add kotlin templates for project create wizard
#KT-4689 Fixed
2014-03-19 21:08:29 +04:00
Ilya Ryzhenkov
a3b45b919c Temporarily replace usages of extension on iterators in compiler by _tmp() calls 2014-03-19 20:25:16 +04:00
Ilya Ryzhenkov
f07b7cc58d Functions on iterators are deprecated 2014-03-19 20:25:16 +04:00
Ilya Ryzhenkov
33415c2333 Uncomment test for TreeSet 2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
fb7034a472 Clean TODOs and commented code which works. 2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
266f6ad81a Clean TODOs, add custom Iterable implementation test. 2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
ceb2aa57f9 Make two overloads of copyOf to preserve nullness when size doesn't change 2014-03-19 20:25:14 +04:00
Ilya Ryzhenkov
108fdc0097 Make stream plus operation actually streaming (lazy). 2014-03-19 20:25:14 +04:00
Ilya Ryzhenkov
c5b0351aa7 Minor. Formatting 2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
94c88695bb Function moved to stdlib 2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
0267e2910d Test data fixed after stdlib updtae 2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
6650b641ea Teach JetTestFunctionDetector to understand subclasses 2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov
06873e9d09 Library paths updated after migration to new stdlib generators 2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov
e37d8174c3 New stdlib generators 2014-03-19 20:25:11 +04:00
Ilya Ryzhenkov
0980f5e40a Minor. Typo fixed 2014-03-19 20:25:11 +04:00
Ilya Ryzhenkov
b60fd5acc1 Stable order in generated code for JS library 2014-03-19 20:25:10 +04:00
Ilya Ryzhenkov
552776f00b Output fixed for builtins serializer 2014-03-19 20:25:10 +04:00
Steven Allen
d198465522 Add an intention to simplify negated binary expressions
Given an expression of the form `!(a op b)`, replace it with `a !op b`.

For example:

    !(a < b)    -> a >= b
    !(a is Int) -> a !is int
2014-03-19 12:10:28 -04:00
Steven Allen
626ec6519c Give tokens a value when possible
When a token can only have one value, store that value along with the
token. This is useful for unparsing kotlin.
2014-03-19 11:40:38 -04:00
Mikhael Bogdanov
fa67ab481b VarRemapper -> LocalVarRemapper 2014-03-19 19:20:36 +04:00
Mikhael Bogdanov
86a02b54fa Fix for debugger to support inlined lambdas 2014-03-19 19:20:36 +04:00
Mikhael Bogdanov
93367ffd3b Generate local variable table for inlined lambda 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
75c57f9827 VarRemapper.ParamRemapper class merged into VarRemapper 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
f000d208a6 Removed generateLocalVarTable method 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
d059467727 Write line numbers for inlined lambdas 2014-03-19 19:20:35 +04:00
Nikolay Krasko
3b60dfa45b Refactoring: rename weight result enums 2014-03-19 17:59:43 +04:00
Nikolay Krasko
607314989c KT-1633 support completion of named function parameters 2014-03-19 17:59:41 +04:00
Nikolay Krasko
5a5f234377 Update dependency to 13.1 (135.475) 2014-03-19 17:53:32 +04:00
Andrey Breslav
3255aaf231 Minor. Grammar rules fixed 2014-03-19 17:41:49 +04:00
Zalim Bashorov
d728f6ba92 JS backend: using JetPsiFactory instead of JetFileUtils. Drop JetFileUtils. 2014-03-19 17:36:45 +04:00
Zalim Bashorov
9bc5cc60ee JS stdlib: added some JSDoc annotations to handwritten js files. 2014-03-19 17:36:44 +04:00
Zalim Bashorov
31d8a75b1a Minor in JS backend: moved the Kotlin.modules declaration from koltin_lib.js to koltin_lib_ecma5.js 2014-03-19 17:36:43 +04:00
Zalim Bashorov
c10e7dd94b JS backend: fixed extra code generation for increment, decrement and operations with assignment. 2014-03-19 17:36:43 +04:00
Alexey Sedunov
482d228253 Allow to move Kotlin file if it contains single top-level class/object 2014-03-19 15:31:30 +04:00
Alexey Sedunov
2f0d0c4d26 Move top-level declarations: Refactoring UI 2014-03-19 15:31:30 +04:00
Alexey Sedunov
abcba89ad3 Move top-level declarations: Implement refactoring processor 2014-03-19 15:31:29 +04:00
Alexey Sedunov
5836bb41b6 Move file/directory-related refactorings to separate package 2014-03-19 15:31:27 +04:00
Alexey Sedunov
1772e453e5 Unwrap light elements before filtering out non-source search targets 2014-03-19 15:31:26 +04:00
Alexey Sedunov
05d93df8b8 Unwrap light elements before getting FqName 2014-03-19 15:31:26 +04:00
Alexey Sedunov
acaa900ee9 Introduce reference shortening mode 2014-03-19 15:31:25 +04:00
Alexey Sedunov
a0ab7f6f22 Add utility function for Kotlin file creation 2014-03-19 15:31:24 +04:00
Alexey Sedunov
e2d0ecc437 Extract utility function 2014-03-19 15:31:23 +04:00
Alexey Sedunov
a094ea6550 Rename class 2014-03-19 15:31:22 +04:00
Mikhael Bogdanov
e4cdde4ebf Rename transformation methods to folding 2014-03-19 11:41:24 +04:00
Mikhael Bogdanov
001945cd12 Fix for duplicated fields in regenerated lambda 2014-03-19 11:41:05 +04:00
Mikhael Bogdanov
961cb7d349 Added nullability annotations 2014-03-19 10:42:41 +04:00
Tal Man
baac1b9b0b Fix to a bug in the intention to move lambda expressions inside parentheses, type arguments were being deleted 2014-03-18 19:25:50 +04:00
Nikolay Krasko
5362b81ea5 Don't search in random directories for existent libraries
#KT-4644 In Progress
2014-03-18 16:16:24 +04:00
Nikolay Krasko
3911a6f54b Search library kinds
#KT-4644 In Progress
2014-03-18 16:16:24 +04:00
Nikolay Krasko
6b0298b933 Silently disable other incompatible framework
#KT-4644 In Progress
2014-03-18 16:16:23 +04:00
Nikolay Krasko
8ddbdab8c8 Support library create with relative paths
#KT-4644 In Progress
2014-03-18 16:16:22 +04:00
Nikolay Krasko
16018ccfe8 Minor: add @TestOnly annotation 2014-03-18 16:16:22 +04:00
Zalim Bashorov
71bfa51ab2 JS backend: fix access to class object members from containing class with implicit receiver.
#KT-4130 Fixed
2014-03-18 13:09:49 +04:00
Zalim Bashorov
1ba0b01456 Minor in JS backend: dropped unnecessary aliasing in ExpressionVisitor when translate local named function. 2014-03-18 13:09:48 +04:00
Zalim Bashorov
8fd38e261f JS backend: fix access to enum entries by implicit receiver and explicit this. 2014-03-18 13:09:47 +04:00
Andrey Breslav
6b72d44929 Report useless and hidden imports in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav
66b4c8d1a9 CONFLICTING_UPPER_BOUNDS reported in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav
db6a6470f9 FINAL_UPPER_BOUNDS checked for classes in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav
f7c5dc179c Eager resolve does not record class object bounds (which are unsupported anyways) 2014-03-17 21:55:17 +04:00
Andrey Breslav
9964ecc883 NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check for classes is moved to DescriptorResolver 2014-03-17 21:55:16 +04:00
Andrey Breslav
39de1f131b Bind references to type parameters in contraints in LAZY mode 2014-03-17 21:55:16 +04:00
Andrey Breslav
2a82c15465 Report UNSUPPORTED on class object constraints in lazy resolve 2014-03-17 21:55:15 +04:00
Andrey Breslav
b72bcfd8ae Type bounds check for class headers moved to DeclarationsChecker 2014-03-17 21:55:15 +04:00
Andrey Breslav
8be40c29cf CYCLIC_INHERITANCE_HIERARCHY reworked
We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
2014-03-17 21:55:15 +04:00
Andrey Breslav
ed81102b2f Minor. Name clash removed (workaround for KT-1) 2014-03-17 21:40:22 +04:00
Andrey Breslav
e70571bafb Register properties declared in primary constructors in c.getMembers() 2014-03-17 21:40:22 +04:00
Andrey Breslav
1e0910f9c6 Redeclaration check supported in LAZY mode 2014-03-17 21:40:21 +04:00
Andrey Breslav
674d990ba1 More precise return type in ClassDescriptorWithResolutionScopes.getClassObjectDescriptor() 2014-03-17 21:40:21 +04:00
Andrey Breslav
c04ce4401f getDeclaredCallableMembers() fixed for lazy classes
Otherwise synthesized members were not included
2014-03-17 21:40:21 +04:00
Andrey Breslav
d97a5a0d63 Report CLASS_OBJECT_NOT_ALLOWED in LazyClassDescriptor 2014-03-17 21:40:20 +04:00
Andrey Breslav
e97c5379af Report MANY_CLASS_OBJECTS upon traversing PSI 2014-03-17 21:40:20 +04:00
Andrey Breslav
c3c769194d Report UNSUPPORTED on annotations on type parameters of classes 2014-03-17 21:40:20 +04:00
Andrey Breslav
5251b3286e Do not process annotations twice in LAZY mode 2014-03-17 21:40:19 +04:00
Andrey Breslav
81f2f79c79 Import directives are resolved in lazy mode 2014-03-17 21:40:19 +04:00
Andrey Breslav
8bf252f98c MISSING_VAL_ON_ANNOTATION_PARAMETER reported in DeclarationsChecker 2014-03-17 21:40:19 +04:00
Andrey Breslav
999c987d6c ANNOTATION_CLASS_WITH_BODY reported in DeclarationsChecker 2014-03-17 21:40:18 +04:00
Andrey Breslav
12f06d032b checkModifiersAndAnnotationsInPackageDirectives() moved to DeclarationsChecker 2014-03-17 21:40:18 +04:00
Andrey Breslav
0243bacab0 checkSupertypesForConsistency() moved to declarations checker 2014-03-17 21:40:18 +04:00
Andrey Breslav
131d6ddd3d DelegatingType extracted 2014-03-17 21:40:17 +04:00
Andrey Breslav
a3075f90db Forced resolution improved to handle type parameter bounds 2014-03-17 21:40:17 +04:00
Andrey Breslav
5ea5d8a9c3 CONSTRUCTOR_IN_TRAIT check moved to DeclarationsChecker 2014-03-17 21:40:17 +04:00
Andrey Breslav
3e22928666 Files in TopDownAnalysisContext are stored explicitly
To avoid the necessity of registering mutable package fragments in order to register files
2014-03-17 21:40:16 +04:00
Andrey Breslav
5c7c494235 Package directives resolved in lazy TDA 2014-03-17 21:40:16 +04:00
Andrey Breslav
63d5855cb4 Minor. ClassDescriptorWithResolutionScopes instead of MutableClassDescriptor 2014-03-17 21:40:16 +04:00
Andrey Breslav
fd9cb59841 TopDownAnalyzer supports lazy mode 2014-03-17 21:40:15 +04:00
Alexey Sedunov
3f09b0e030 Update to IDEA 135.445 2014-03-17 19:51:35 +04:00
Alexander Udalov
8b18309b01 Don't write "ResolvedCall<? extends CallableDescriptor>"
ResolvedCall has a type parameter D which extends CallableDescriptor.
Hence in Java "ResolvedCall<? extends CallableDescriptor>" = "ResolvedCall<?>"

The same story with these classes:
- ResolutionTask
- CallCandidateResolutionContext
- OverloadResolutionResults
2014-03-17 19:09:09 +04:00
Alexander Udalov
7d6423fcf1 Minor, add assertion messages, fix warnings 2014-03-17 19:09:09 +04:00
Alexander Udalov
338bc2f9ec Fix incorrect apidoc for 'kotlin'
KDoc was confused because now there are two package fragments for package
'kotlin' (built-ins and stdlib). KDoc's KPackage now has a list of descriptors,
not only one.

This fixes missing documentation for top-level members in package 'kotlin' in
the apidoc

 #KT-2521 Fixed
2014-03-17 19:09:08 +04:00
Alexander Udalov
93db022059 Minor, fix wrong string template in KAnnotation.toString() 2014-03-17 19:09:08 +04:00
Alexander Udalov
00170357fd Clean code in KDoc
Fix warnings, outdated TODOs, formatting, etc.
2014-03-17 19:09:08 +04:00
Alexander Udalov
0dfacd8b20 Make KDoc generate documentation on red code
KDoc is not a compiler, so it should not care whether or not the code is valid.
Therefore suppress the compiler's exit code, errors and warnings in KDoc plugin
2014-03-17 19:09:08 +04:00
Mikhael Bogdanov
b1d76d6ab0 Maven inline option support 2014-03-17 17:28:46 +04:00
Mikhael Bogdanov
0b11c717c6 Gradle inline option support 2014-03-17 17:28:46 +04:00
Mikhael Bogdanov
22daacefbe Added inline flag to ant build tool 2014-03-17 17:28:46 +04:00
Natalia Ukhorskaya
e06e4b8e74 Merge pull request #416 from nskvortsov/KT-4690
Test common Gradle property for kotlin version
2014-03-17 13:24:01 +00:00
Natalia Ukhorskaya
a9d3543967 Gradle: do not add ext prefix for kotlin_version property
#KT-4690 Fixed
2014-03-17 16:30:25 +04:00
asedunov
85dbd8cf49 Merge pull request #410 from kuity/unnecessaryParensInWhenToIf
Fix KT-4385 "Unnecessary parentheses in "replace when with if"
2014-03-17 13:00:10 +01:00
Nikita Skvortsov
0b6947b722 Test common Gradle property for kotlin version 2014-03-17 15:26:25 +04:00
Natalia Ukhorskaya
0045edbebe Android tests: revert sdk version to 4.1 2014-03-17 14:00:20 +04:00
Alexander Udalov
7a2fce4fba Add regression tests for obsolete issues
#KT-2592 Obsolete
 #KT-2768 Obsolete
2014-03-16 03:18:26 +04:00
Alexander Udalov
65edd6a16e Make KotlinBinaryClassCache thread-local 2014-03-14 17:26:48 +04:00
Alexander Udalov
307f52895a Refactor KotlinJvmBinaryClass, VirtualFileKotlinClass, etc.
VirtualFileKotlinClass now reads its header and name on creation. This is not
lazy enough and may be slower in some circumstances, but has the following
advantage: if anything is wrong in the header, a VirtualFileKotlinClass
instance will not be created at all, making it nearly impossible for the client
code to operate on invalid data causing all kinds of exceptions
2014-03-14 16:00:20 +04:00
Alexander Udalov
9bf0d014d5 Sort out "isSpecialAnnotation" method logic
Remove duplicate method, include all needed annotations (seems that some of
them were forgotten in either of the two methods)
2014-03-14 16:00:19 +04:00
Lingzhang
877b9f2d99 KT4385 Bug Fix for Unnecessary Parentheses in WhenToIfIntention 2014-03-13 21:26:03 -04:00
Zalim Bashorov
7b503bbe6f Minor in JS backend: added regression tests.
#{KT-2219, KT-2470, KT-2507, KT-2222, KT-2995, KT-2221} Obsolete
2014-03-13 22:57:41 +04:00
Svetlana Isakova
604e062f91 Fixed assertion error for incomplete code. 2014-03-13 19:09:01 +04:00
Natalia Ukhorskaya
904217d793 Gradle: set output directory to tmp/kotlin-classes to exclude it in IDE.
This is a temporary workaround: should be removed when Android Studio will get excluded output directories from Gradle Model (see AndroidContentRoot.java:35)
 #KT-4507 Fixed
2014-03-13 17:32:13 +04:00
Mikhael Bogdanov
6ac6bd0a7c KT-4388: Unclear warning for inline function
#KT-4388 Fixed
2014-03-13 16:35:56 +04:00
Zalim Bashorov
a5e74d7db3 JS backend: switch to use Function.call for calling extension lambdas and local extension functions.
Main reason for this change is (simple) interop with native code when pass extension lambda to or from native code.

(#KT-4238, #KT-4345) Fixed
2014-03-13 14:17:09 +04:00
Zalim Bashorov
206be96509 JS backend: added tests which pass an extension lambda to native code and visa versa.
Added workarounds in some tests because Rhino wrongly implicitly converts first parameter of `Function.call` to `Object`. But it's contradicts to ES5 specification(par. 15.3.4.4).

(#KT-4238, #KT-4345) In progress
2014-03-13 14:17:09 +04:00
Zalim Bashorov
597fff45e3 Minor in JS backend: made stable order of function parameters for captured variables. 2014-03-13 14:17:09 +04:00
Mikhael Bogdanov
769f559adf Wise exception propagation for inlines errors 2014-03-13 14:06:58 +04:00
Mikhael Bogdanov
f475f3ba31 Inline checkbox in BytecodeToolWindow 2014-03-13 14:06:57 +04:00
Natalia Ukhorskaya
53e41e94d9 Fix maven tests 2014-03-13 13:56:28 +04:00
Natalia Ukhorskaya
0340aba2ce Tools: add new gradle-test module to root pom.xml 2014-03-13 13:56:27 +04:00
Mikhael Bogdanov
768c565d3f Fix for rubish labels inside captured field access chains 2014-03-13 10:36:55 +04:00
Mikhael Bogdanov
c95001370a Code clean 2014-03-13 10:36:54 +04:00
Mikhael Bogdanov
2dcc0bce46 Inline refactoring: more templates for captured fields
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Natalia Ukhorskaya
4a8bcc614a Resolve compileTimeInitializer for variable in lazy resolve 2014-03-13 10:07:18 +04:00
Natalia Ukhorskaya
89d99d2848 Remove toInt() from rendering IntValue 2014-03-13 10:07:17 +04:00
Natalia Ukhorskaya
a80114d720 Use one method to create compile-time value 2014-03-13 10:07:16 +04:00
Natalia Ukhorskaya
201af666a9 Move isVar check for compile time initializer out of the setter 2014-03-13 10:07:14 +04:00
Natalia Ukhorskaya
000dd4478a Rename 2014-03-13 10:07:13 +04:00
Natalia Ukhorskaya
df3ed5059c StorageManager for compile-time initializer 2014-03-13 10:07:12 +04:00
Natalia Ukhorskaya
17259a052e Write constant initializer for java properties 2014-03-13 10:07:11 +04:00
Natalia Ukhorskaya
74c4234c64 Add test for kotlin compiled property as annotation parameter 2014-03-13 10:07:10 +04:00
Natalia Ukhorskaya
9b5050dddd Serialize compile time constant for property initializer 2014-03-13 10:07:08 +04:00
Natalia Ukhorskaya
bb7312b47f Render property constant 2014-03-13 10:07:07 +04:00
Natalia Ukhorskaya
8c80b41606 Add compileTimeConstant to variable descriptor 2014-03-13 10:07:06 +04:00
Natalia Ukhorskaya
a2879f229a Add serializer for compile-time constant initializer 2014-03-13 10:07:05 +04:00
Natalia Ukhorskaya
073d345841 Extract BaseDeserializer from AnnotationDeserializer. Move storage to separate class 2014-03-13 10:07:04 +04:00
Natalia Ukhorskaya
6089f5e3ef Remove DescriptorSerializationTest 2014-03-13 10:07:03 +04:00
Natalia Ukhorskaya
9672026a53 Add a superclass for byte, short, int, long compile-time constants 2014-03-13 10:07:01 +04:00
Alexey Tsvetkov
1cd7fa65d7 JS backend: fixed compiler crash when use in elvis operator something which is expression in Kotlin and not in Javascript, e.g. return.
#KT-4159 fixed
2014-03-12 19:01:55 +04:00
Alexey Tsvetkov
21f87350b9 JS backend: added tests for KT-4159. 2014-03-12 19:01:55 +04:00
Nikolay Krasko
569f139d8a Update to idea 135.406, support 135 and 136 branch 2014-03-12 18:39:32 +04:00
Zack Grannan
6156a56a4b Generated tests 2014-03-12 16:02:57 +04:00
Zack Grannan
3862a3b5bc Added ifThenToSafeAccessIntention 2014-03-12 16:02:56 +04:00
Zack Grannan
1f720c8559 Added safeAccessToIfThen intention 2014-03-12 16:02:55 +04:00
Zack Grannan
1ca4bb0e79 Added ifThenToElvisIntention 2014-03-12 16:02:55 +04:00
Zack Grannan
673369affe Added elvisToIfThenIntention 2014-03-12 16:02:54 +04:00
Zack Grannan
6b5e46da50 Added IfThenUtils 2014-03-12 16:02:53 +04:00
Zack Grannan
fcbd7b357a Modified doRefactoring to allow occurrences to be specified 2014-03-12 14:43:08 +04:00
Andrey Breslav
aa00862425 Double-checked locking fixed in LockBasedStorageManager
There were two problems here:
 * a volatile field was read and then a local variable used, i.e. the field might have been changed in between the check and the return;
 * this volatile read was unnecessary, because the whole purpose of `_value` local variable is to avoid it.
2014-03-12 13:55:24 +04:00
Andrey Breslav
667afc565e Workaround for EA-54533 - UOE: DeserializedMemberScope.getDeclarationsByLabel 2014-03-12 13:51:04 +04:00
Natalia Ukhorskaya
3f2c43bab1 Remove unused resources 2014-03-12 11:31:09 +04:00
Natalia Ukhorskaya
94ccd8b2f2 Merge remote-tracking branch 'origin/pr/401'
Conflicts:
	libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
	libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt
2014-03-12 11:28:23 +04:00
Natalia Ukhorskaya
f1d2c2de0b Merge pull request #402 from nskvortsov/KT-4612
#KT-4612 Fixed
2014-03-12 06:59:43 +00:00
Zalim Bashorov
209f7e8d51 JS backend: minor -- dropped temporary hack after KT-4517 fixed. 2014-03-11 20:05:40 +04:00
Zalim Bashorov
344ce6c095 JS backend: fixed name clash between public function w/o parameters and non-public function with same name. 2014-03-11 20:05:39 +04:00
Zalim Bashorov
d99e3294d8 JS backend: minor refactoring in TranslationContext -- dropped extra constructors. 2014-03-11 20:05:39 +04:00
Zalim Bashorov
cdf42ef797 JS backend: dropped hack from UsageTracker. 2014-03-11 20:05:38 +04:00
Zalim Bashorov
3455f6adcd JS backend: minor -- dropped some no longer necessary code. 2014-03-11 20:05:37 +04:00
Zalim Bashorov
a3cd1bbfda JS backend : change the capturing variables and rewrite some classes.
#KT-4236 Fixed
 #KT-4600 Fixed
 #KT-4237 Fixed
 #KT-4207 Fixed
 #KT-4218 Fixed
2014-03-11 20:05:23 +04:00
Zalim Bashorov
434a6ed6e2 JS backend: minor -- fix typo in fromFakeClasses.kt 2014-03-11 20:04:05 +04:00
Zalim Bashorov
43d9c383ff JS backend: don't use objects as definition place. 2014-03-11 20:04:05 +04:00
Zalim Bashorov
4c40f3971b Minor: added TypeScript to codeStyleSettings.xml 2014-03-11 20:04:04 +04:00
Zalim Bashorov
fff38954dc JS backend: dropped unnecessary utility methods getExpectedThisDescriptor and getExpectedReceiverDescriptor.
#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4263 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
2014-03-11 20:04:04 +04:00
Zalim Bashorov
e1484d76a7 JS backend: minor refactoring in AliasingContext. 2014-03-11 20:04:03 +04:00
Zalim Bashorov
48a28ed406 JS backend: don't aliasing captured variable foo as foo.v.
Moved isVarCapturedInClosure from CodegenBinding to BindingContextUtils.
2014-03-11 20:04:03 +04:00
Zalim Bashorov
d55548a1c8 Minor change in JS backend: improve exception message. 2014-03-11 20:04:03 +04:00
Zalim Bashorov
fb7165c7fa JS backend: added regression tests for closure bugs.
#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
#KT-4263 Obsolete
2014-03-11 20:04:03 +04:00
Zalim Bashorov
a48dc25c46 JS backend: added more tests for closures. 2014-03-11 20:04:02 +04:00
Zalim Bashorov
ec71a90394 JS backend : added test for local extension function. 2014-03-11 20:04:02 +04:00
Zalim Bashorov
14ed970dc3 JS backend: added the support extension functions as expression. 2014-03-11 20:04:02 +04:00
Zalim Bashorov
396afb05cb JS backend: minor refactorings
- dropped useless constructor and factory method from ClassTranslator.
  - moved method which translate an object expression inside a class code to ClassTranslator.
  - LiteralFunctionTranslator#getSuggestedName -> TranslationUtils#getSuggestedName
2014-03-11 20:04:01 +04:00
Zalim Bashorov
5f847bc7e7 JS backend: fixes after rename testFiles -> testData 2014-03-11 20:04:01 +04:00
Zalim Bashorov
442215e829 JS backend: testFiles -> testData 2014-03-11 20:04:00 +04:00
Zalim Bashorov
bcd579acdd Minor change: reformat js libs. 2014-03-11 20:04:00 +04:00
Zalim Bashorov
38d1142c39 Minor change: reformat code in testData files. 2014-03-11 20:03:59 +04:00
Zalim Bashorov
7374d3ab76 Minor changes: drop the copyright comment from testData files. 2014-03-11 20:03:58 +04:00
Zalim Bashorov
f5b1b4252d JS backend: use constants for default test package(foo) and default test function(box). 2014-03-11 20:03:58 +04:00
Zalim Bashorov
33360c2528 Dropped some TODOs
#KT-2564 Obsolete. Looks like, it's fixed in dcddd04.
2014-03-11 20:03:58 +04:00
Zalim Bashorov
ffa2a84170 Stdlib: remove a workaround which related to KT-2028 2014-03-11 20:03:57 +04:00
Natalia Ukhorskaya
36387c533f Fix kotlin-android plugin for android-gradle:0.9+
#KT-4667 Fixed
2014-03-11 17:21:37 +04:00
asedunov
5975c40e5d Merge pull request #368 from Stebalien/add-operator-intentions
Add operator intentions
#KT-4558 Fixed
2014-03-11 12:17:27 +01:00
Steven Allen
84a8911822 Add replacement intentions for operator functions
Add intentions for replacing attribute calls that correspond to
overloadable operators with their respective operators.

This commit includes call replacements for:
 * Binary Infix Operators: plus, minus, times, rangeTo, mod, div
 * Unary Prefix Operators: plus, minus, not
 * Array Index Operator: get
 * In Operator: contains
2014-03-10 11:15:11 -04:00
Steven Allen
08a8d17e97 Add KotlinSignature annotation to RESOLVED_CALL
A ResolvedCall's CallableDescriptor cannot be null.
2014-03-10 10:46:29 -04:00
Steven Allen
7e1e697a5b Avoid throwing unchecked exceptions
Make `ResolvedCall.getValueArgumentsByIndex` return null instead of
throwing an InvalidStateException when resolving invalid arguments.
Invalid arguments are a user error (the user specified the invalid
arguments in their code), not a program error.
2014-03-10 10:46:29 -04:00
Steven Allen
162ed64706 Add ability to test for expected intention text
If a testData file contains `// INTENTION_TEXT: ...`, the tested
intention's description must match `...`.
2014-03-10 10:46:28 -04:00
Steven Allen
8b88dff205 Add ability to test for expected errors in intentions
If an intention test contains `// SHOULD_FAIL_WITH: my_string`, the test
is expected to throw `IntentionTestException("my_string")`. This is
useful for testing whether or not a function that should be called, is
called (a pop-up dialog is displayed, etc.).
2014-03-10 10:46:28 -04:00
Mikhael Bogdanov
7fb9de2654 Fix for "NoSuchFieldError: this$0$inlined" 2014-03-09 11:21:00 +04:00
Svetlana Isakova
4771986b32 KT-4656 Wrong capturing a function literal variable.
#KT-4656 Fixed
 Reference for calleeExpression is recorded only in 'doResolveCallOrGetCachedResults'.
2014-03-08 20:55:45 +04:00
Nikita Skvortsov
856e35cdf9 refactor tests, use common gradle integration tests module, deduplicate gradle binaries in test data 2014-03-08 18:57:38 +04:00
Nikita Skvortsov
84e832604d Add message about general gradle failure 2014-03-08 18:56:12 +04:00
Nikita Skvortsov
5bfaf75978 Extract Gradle wrapper to avoid duplicating binary resources 2014-03-08 16:46:35 +04:00
Nikita Skvortsov
e5df62d78b use gradle integration tests module 2014-03-08 16:45:44 +04:00
Nikita Skvortsov
1ba842d47f fix test data 2014-03-08 16:44:48 +04:00
Nikita Skvortsov
6bdb37d745 Move Gradle Integration test classes to separate module for better re-use 2014-03-08 16:43:40 +04:00
Svetlana Isakova
92a4bb8c18 Reverted: More memory for the Ant build. 2014-03-08 12:31:19 +04:00
Nikolay Krasko
bbe9be5150 Fix 'No type in binding context for: <some class> from light class generation' exception
#KT-4668 Fixed
2014-03-08 02:55:29 +04:00
Svetlana Isakova
2964bb77b3 extracted method 'canBeReducedToBooleanConstant' 2014-03-07 21:15:12 +04:00
Svetlana Isakova
ec4df2ac0b Formatting. 2014-03-07 21:08:19 +04:00
Svetlana Isakova
8045594abd minor: moved methods 2014-03-07 21:08:19 +04:00
Svetlana Isakova
5d77ae075c rename: in -> incoming, out -> outgoing 2014-03-07 21:08:19 +04:00
Svetlana Isakova
0a4abd2ebd refactoring: inlined createEdges function 2014-03-07 21:08:19 +04:00
Svetlana Isakova
d2bdb3cb6d removed InstructionDataMergeStrategy, InstructionDataAnalyzeStrategy
interfaces from PseudocodeTraverse
(use only in Java as type aliases to simplify function type parameters)
2014-03-07 21:08:19 +04:00
Svetlana Isakova
dab9f6997a rollback: moved 'collectData' to PseudocodeTraverser 2014-03-07 21:08:18 +04:00
Svetlana Isakova
b7f7063bf4 improved postProcess
collect (and cache) reachable instructions for local declarations
after processing all parent instructions
2014-03-07 21:08:18 +04:00
Svetlana Isakova
fbbfb95861 added 'mergeDataWithLocalDeclarations' option
for collecting variable data for pseudocode

  removed using data from outer context
  for local declarations for 'variable initializers' analysis
2014-03-07 21:08:18 +04:00
Svetlana Isakova
eed3dec539 rewrote PseudocodeTraverser to kotlin 2014-03-07 21:08:18 +04:00
Svetlana Isakova
18eaf483d3 added test for pseudocode memory overhead 2014-03-07 21:08:18 +04:00
Svetlana Isakova
a050ebe9d1 rename to kt file 2014-03-07 21:08:17 +04:00
Svetlana Isakova
de4a5bbb5b refactoring: extracted local function updateEdgeDataForInstruction 2014-03-07 21:08:17 +04:00
Svetlana Isakova
7d46ff951e Jump after 'for' cycle to loop parameter change.
Not to the cycle body.
2014-03-07 21:08:17 +04:00
Svetlana Isakova
e34385bbcf added tests to DataFlowTest
to be able to compare difference in the next commit
2014-03-07 21:08:17 +04:00
Svetlana Isakova
35c6a656c9 Store only data for variables declared in current lexical scope.
Remove data for other variables (when leaving a scope).
2014-03-07 21:08:17 +04:00
Svetlana Isakova
9dd23d9289 refactoring: PseudocodeVariableDataCollector
added a reference to pseudocode
2014-03-07 21:08:17 +04:00
Svetlana Isakova
006f3ccbe9 Added/updated tests for LexicalScope. 2014-03-07 21:08:16 +04:00
Svetlana Isakova
2cfcd1783b Added LexicalScope.
Each instruction has a reference to a lexical scope it was generated in.
The lexical scope is: block, for loop, catch clause, a declaration of: function, function literal, class/object, etc.
2014-03-07 21:08:16 +04:00
Svetlana Isakova
6857694d1a added 'getParent' to Pseudocode
fixed DataFlowInfoTest:
variable data shouldn't be built for locals as independent declarations
2014-03-07 21:08:16 +04:00
Svetlana Isakova
88f2c32724 added DataFlowInfoTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova
ab9e470ea9 check edges directions only in ControlFlowTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova
547ee304b6 returned AbstractControlFlowTest
as a subclass of AbstractPseudocodeTest
  moved code to it
2014-03-07 21:08:16 +04:00
Svetlana Isakova
9cb8d17be7 rename AbstractControlFlowTest -> AbstractPseudocodeTest
to make later ControlFlowTest a subclass and preserve a history of the file
2014-03-07 21:08:15 +04:00
Svetlana Isakova
8efd31ffe0 refactoring: added 'getInstructionData' parameter
to 'dumInstructions'
 to be able to dump any instruction data later
2014-03-07 21:08:15 +04:00
Svetlana Isakova
04947fa6a9 refactoring: extracted 'checkPseudocode' 2014-03-07 21:08:15 +04:00
Svetlana Isakova
5de4c5965c removed unused methods 2014-03-07 21:08:15 +04:00
Svetlana Isakova
b9c7e1e328 refactoring: extracted methods
computeInstructionColumnWidth,
computeNextInstructionsColumnWidth
2014-03-07 21:08:15 +04:00
Svetlana Isakova
010937525b extracted CFGraphToDotFilePrinter 2014-03-07 21:08:15 +04:00
Svetlana Isakova
1fc4573a8c removed duplication of pseudocode in tests
for local functions
2014-03-07 21:08:15 +04:00
Svetlana Isakova
ec47821567 restructured control flow tests 2014-03-07 21:08:14 +04:00
Svetlana Isakova
fe349da4d5 rename constants
LAST_READ -> READ
 LAST_WRITTEN -> WRITTEN_AFTER_READ
2014-03-07 21:08:14 +04:00
Svetlana Isakova
58db8d1331 formatting 2014-03-07 21:08:14 +04:00
Svetlana Isakova
69e4346961 minor: added @NotNull annotation 2014-03-07 21:08:14 +04:00
Svetlana Isakova
11c953c220 rewrote PseudocodeVariableDataCollector to kotlin 2014-03-07 21:08:14 +04:00
Svetlana Isakova
1f37a2120e rename to kt file 2014-03-07 21:08:14 +04:00
Svetlana Isakova
4a4e237539 made PseudocodeVariableDataCollector know about variables
(not about abstract data)
2014-03-07 21:08:13 +04:00
Svetlana Isakova
b79df51dab extracted PseudocodeVariableDataCollector 2014-03-07 21:08:13 +04:00
Svetlana Isakova
77bc6c44a1 formatting 2014-03-07 21:08:13 +04:00
Svetlana Isakova
c2b10dc274 removed initial map for start instruction 2014-03-07 21:08:13 +04:00
Andrey Breslav
b1a12608b8 Unused definitions removed from lexer 2014-03-07 19:38:58 +04:00
Andrey Breslav
2a0ccb95b1 Support quotes at the end of a raw string
Fix for KT-4650 Can't use double quote at the end of the raw string

#KT-4650 Fixed
2014-03-07 19:38:58 +04:00
Alexey Sedunov
3cd1af3ba1 Forbid nulls in getPackageNames() collection
#KT-4666 Fixed
2014-03-07 19:24:38 +04:00
Alexey Sedunov
8b0e8ed398 Keep original expression when attempting to bind reference to empty FqName 2014-03-07 19:24:37 +04:00
Alexey Sedunov
ca65e27214 Minor refactoring 2014-03-07 19:24:36 +04:00
Alexey Sedunov
09574d72b8 Translate JetSimpleNameReference to Kotlin 2014-03-07 19:24:35 +04:00
Alexey Sedunov
c9d10cfcd3 Do not postpone reference lengthening
Do not shorten references located in import/package directives
2014-03-07 19:24:34 +04:00
Alexey Sedunov
5327031300 Update references when moving Kotlin file
#KT-1696 Fixed
2014-03-07 19:24:33 +04:00
Alexey Sedunov
e4df997ad0 Fix warnings 2014-03-07 19:24:31 +04:00
Alexey Sedunov
99b8c47276 Extract reference resolver from ShortenReferences 2014-03-07 19:24:30 +04:00
Natalia Ukhorskaya
d9d045cbb2 Fix line separators for windows in tests 2014-03-07 18:05:12 +04:00
Mikhael Bogdanov
1fdd3bd615 Android test fix 2014-03-07 16:29:08 +04:00
Mikhael Bogdanov
e54ece8d12 Field access chain update on lambda regeneration 2014-03-07 16:12:10 +04:00
Mikhael Bogdanov
632061b324 Support nested chain of non-inline lambdas inside inline one 2014-03-07 14:53:50 +04:00
Nikita Skvortsov
b700296620 Fix KT-4168 use proper buildscript classpath 2014-03-07 14:38:25 +04:00
Alexander Udalov
4937812414 Rewrite KotlinClassHeader to Kotlin 2014-03-07 03:43:41 +04:00
Alexander Udalov
39cd3b1e13 Add tests that there's no PSI for all kinds of synthetic classes 2014-03-07 03:43:28 +04:00
Alexander Udalov
0b2c832343 Write KotlinSyntheticClass to anonymous and local classes 2014-03-07 03:08:19 +04:00
Alexander Udalov
cbfb626d50 Write KotlinSyntheticClass to generated classes for functions
That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
2014-03-07 03:08:18 +04:00
Alexander Udalov
8e71fe376f Minor, add toString() to OutputFile for debugging 2014-03-07 03:08:17 +04:00
Alexander Udalov
36936e0a6b Minor fix in tests for sources appearing in libraries 2014-03-07 03:08:16 +04:00
Alexander Udalov
64ac223895 Move DebugProtoBuf to module "compiler-tests"
To help debug serialization-related code in compiler tests
2014-03-07 03:08:16 +04:00
gavinkeusch
2f613638c2 KT-4562 New Intention: Add and Remove braces from control statements that have single line bodies 2014-03-06 23:45:45 +04:00
Nikolay Krasko
b6a9772508 Configuration for Android Studio debug created 2014-03-06 20:03:15 +04:00
Pavel V. Talanov
d05697d3ac Optimize Imports tests: add test for qualified expression with nested enum 2014-03-06 18:45:37 +04:00
Zalim Bashorov
ad1642f802 Update to IDEA 134.1445 EAP 2014-03-06 16:13:06 +04:00
Pavel V. Talanov
6f9b3f1bae Optimize Imports: simplify code 2014-03-06 16:01:07 +04:00
Pavel V. Talanov
809be9b069 Optimize Imports: do not keep imports of unimportable entities 2014-03-06 16:01:06 +04:00
Pavel V. Talanov
c87cc0dde1 Optimize Imports tests: Switch to generated approach
Move test and rename test data
Delete unused testdata
Rewrite OptimizeImportOnFlyTest
2014-03-06 16:01:05 +04:00
Pavel V. Talanov
3155a66319 Move, rewrite and rename JetImportOptimizer
Rewrite it to Kotlin and rename to KotlinImportOptimizer, move to imports package
Create ImportsUtils.kt
2014-03-06 16:01:04 +04:00
Pavel V. Talanov
f5c8557ff7 Rewrite optimize imports using JetReference#resolveToDescriptors
#KT-4451 Fixed
2014-03-06 16:01:03 +04:00
Pavel V. Talanov
6f2ed9a5a9 Add JetMultiDeclarationReference
A reference to component* functions
2014-03-06 16:01:02 +04:00
Mikhael Bogdanov
00764d0ae1 Don't generated redundant class files 2014-03-06 13:02:32 +04:00
Nikolay Krasko
ea5788f86c Assert with framework statements
Should work even if -ea is not enabled
2014-03-05 17:31:26 +04:00
Tuomas Tynkkynen
8ce0d43118 Add intention for converting an implicit 'it' parameter to an explicitly named parameter
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword. Add an intention action for
converting an implicit 'it' parameter to an explicitly named one.

For example, 'array(1, 2, 3).filter { it % 2 == 0 }'
          -> 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
2014-03-05 17:31:25 +04:00
Tuomas Tynkkynen
c6d6a32314 Add intention for replacing explicit function literal parameter with 'it'
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword.

For example, 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
          -> 'array(1, 2, 3).filter { it % 2 == 0 }'

Add an intention action for this transformation.
2014-03-05 17:31:21 +04:00
Andrey Breslav
1dd57b5f6e Merge declarationsByLabel in chained scopes 2014-03-05 14:37:26 +04:00
Andrey Breslav
19bc996d1b Minor. Unused field removed 2014-03-05 14:37:26 +04:00
Andrey Breslav
f752527e48 Test data fixed after adding a new intention 2014-03-05 12:02:14 +04:00
Pavel V. Talanov
dab6716664 Minor: fix test data for PropertyMetadata completion test 2014-03-04 21:20:01 +04:00
Pavel V. Talanov
bc79855cf5 Minor: additional logging when failing to read file in VirtualFileKotlinClass 2014-03-04 21:20:00 +04:00
Pavel V. Talanov
0cfac5f9c7 Decompiler: show java file with a comment when kotlin file has incompatible abi version
Introduce JetDecompilerForWrongAbiVersion
2014-03-04 21:19:59 +04:00
Pavel V. Talanov
825dacfd13 Migrate to newer API 2014-03-04 21:19:58 +04:00
Pavel V. Talanov
7db9d31a70 Decompiler: allow java decompiler to process trait impl classes 2014-03-04 21:19:57 +04:00
Pavel V. Talanov
50d59c789a Decompiler: do not create decompiled files for inner classes and anonymous functions
Rewrite DecompiledUtils to Kotlin
2014-03-04 21:19:56 +04:00
Pavel V. Talanov
80bc7b286a Test for reference to nested class in library 2014-03-04 21:19:55 +04:00
Pavel V. Talanov
733da8caec Test checking that no PSI is built for synthetic classes produced by compiler 2014-03-04 21:19:54 +04:00
Pavel V. Talanov
47a0715c8b Minor: Add assertion in DecompiledTextFactory 2014-03-04 21:19:53 +04:00
Pavel V. Talanov
b5c119200f Decompiler: remove project from decompilation API
Remove JetDecompiledData, DecompiledText is enough
Move JetDecompiled to upper level, rename to JetClsFile
Move caches into JetClsFile and JetClassFileViewProvider
Rewrite JetClassFileViewProvider and JetClsFile to Kotlin
DecompiledDataFactory -> DecompiledTextFactory
2014-03-04 21:19:52 +04:00
Pavel V. Talanov
5bd9955785 Decompiler: switch to using non-project based decompiled text builder
Move ProjectBasedResolverForDecompiler to test root (since only used for validating)
2014-03-04 21:19:51 +04:00
Pavel V. Talanov
32ecdfede0 Decompiler: Test that checks consistency between project-based and non-project-based decompilers 2014-03-04 21:19:50 +04:00
Pavel V. Talanov
b2b7e6996b Decompiler: Introduce DeserializerForDecompiler
Component which can "resolve" descriptors without project
It builds dummy descriptors for dependencies which are enough to build decompiled text
2014-03-04 21:19:50 +04:00
Pavel V. Talanov
2499e95d38 Refactor DecompiledDataFactory 2014-03-04 21:19:49 +04:00
Pavel V. Talanov
65a479e3ef Rewrite DecompiledDataFactory to Kotlin 2014-03-04 21:19:48 +04:00
Pavel V. Talanov
a1b59cee63 Add MissingDependencyErrorClass which is treated specially during rendering 2014-03-04 21:19:47 +04:00
Pavel V. Talanov
016fa4b817 Add test for decompiled text 2014-03-04 21:19:46 +04:00
Pavel V. Talanov
528148a083 Decompiler: introduce ResolverForDecompiler as dependency for DecompiledDataFactory
Extract JDR based implementation of ResolverForDecompiler from DecompiledDataFactory
2014-03-04 21:19:45 +04:00
Pavel V. Talanov
b6b423935f Move test data for NavigateTo*Library tests to a more specific folder 2014-03-04 21:19:44 +04:00
Pavel V. Talanov
bbcc2a33ed Minor code fix in NavigateToDecompiledLibraryTest 2014-03-04 21:19:43 +04:00
Pavel V. Talanov
796386049b Minor: remove explicit dependency on JavaDescriptorResolver from AnnotationDescriptorDeserializer 2014-03-04 21:19:42 +04:00
Pavel V. Talanov
d647d2abbc Move caching of kotlin binaries classes to application level
Fix code in DecompiledUtils
2014-03-04 21:19:41 +04:00
Pavel V. Talanov
b052cb8aa9 Switch to new decompiler API for IDEA
Patch from Roman Shevchenko adapted
2014-03-04 21:19:40 +04:00
Andrey Breslav
d31c2884aa Compilation fixed 2014-03-04 21:09:47 +04:00
Tal Man
8cf965db7e 2 intentions for moving lambda functions;
moves lambda functions in function calls inside and outside of the
parenthesis: foo({ it }) <-> foo() { it }
2014-03-04 20:07:42 +04:00
Alexey Sedunov
a18e2f7cfa Make utlity functions public 2014-03-04 19:45:37 +04:00
Alexey Sedunov
36633af275 Extract JSON utility functions 2014-03-04 19:45:36 +04:00
Alexey Sedunov
1edaa877dc Fix search scope of Kotlin light methods
#KT-4638 Fixed
2014-03-04 19:45:35 +04:00
Alexey Sedunov
3729966270 Forbid moving file to another file
#KT-4069 Fixed
2014-03-04 19:45:34 +04:00
Alexey Sedunov
12310b5bd9 Reuse getQualifiedElementSelector() function 2014-03-04 19:45:33 +04:00
Alexey Sedunov
e48616e739 Do not insert parentheses into package directives
Add tests for "Move Package" refactoring
2014-03-04 19:45:32 +04:00
Alexey Sedunov
d2f6b55cb5 Box qualified names of package directives into dot-qualified expressions 2014-03-04 19:45:30 +04:00
Alexey Sedunov
5e87fc35e0 Do not rely on write action lock during preparation phase of RefactoringHelper
#KT-4631 Fixed
2014-03-04 19:45:29 +04:00
Alexey Sedunov
b34b3ccf38 Delete redundant annotation 2014-03-04 19:45:29 +04:00
Alexander Udalov
f8d3f8480a Minor, use constants instead of hard-coded strings 2014-03-04 19:23:46 +04:00
Ladislav Thon
36bc7580aa fix main function detection to rely on actually resolved types 2014-03-04 19:18:14 +04:00
Valentin Kipyatkov
a2f6b99862 Convert to block body intention action 2014-03-04 19:13:54 +04:00
Alexander Udalov
af2a28c099 Minor, inline only once-used methods 2014-03-04 19:04:58 +04:00
Alexander Udalov
d5e9cadccf Delete default "import jet.*" from JS analyzer 2014-03-04 18:19:43 +04:00
Alexander Udalov
3a0a688ebc Add test on KotlinSyntheticClass annotation for $$TImpl 2014-03-04 18:19:43 +04:00
Alexander Udalov
76cc5b301a Minor, revert unneeded "!!" 2014-03-04 18:19:43 +04:00
Alexander Udalov
981c40286f Minor, assert value != null in EnumValue
Similar to ArrayValue, AnnotationValue, etc.
2014-03-04 18:19:43 +04:00
Alexander Udalov
c74b8e72c7 Extract DescriptorUtils.unwrapFakeOverride() 2014-03-04 18:19:42 +04:00
Alexander Udalov
e017cf76f2 Minor, delete/inline methods 2014-03-04 18:19:42 +04:00
Alexander Udalov
4c49c39f8d Minor, delete unnecessary parameter from util method 2014-03-04 18:19:42 +04:00
Alexander Udalov
eb5aba560e Load class kind in KotlinSyntheticClass annotation
Fix some of the usages of KotlinSyntheticClass header where really package
parts were meant (they were committed by mistake).

DescriptorResolverUtils.isCompiledKotlinPackageClass no longer checks for class
being a compiled package part, because PSI classes are not built for package
parts (according to EmptyPackageFragmentClsStubBuilderFactory)
2014-03-04 18:19:42 +04:00
Ilya Klyuchnikov
ea40389e34 validating android annotations 2014-03-04 14:28:53 +04:00
Nikolay Krasko
1ee64f8186 Test for KT-4610
#KT-4610 Fixed
2014-03-03 19:24:27 +04:00
Nikolay Krasko
0dfbe08255 Test for KT-4482
#KT-4482 Fixed
2014-03-03 19:24:26 +04:00
Mikhael Bogdanov
16fbe1d5dd Abi version increased: inline calls in runtime (otherwise client inlining wouldn't work) 2014-03-03 15:52:25 +04:00
Mikhael Bogdanov
03ac462dcb jet->kotlin fix 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
6d1effe981 Inline trait support 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
286dd50be4 Code clean and simplification 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
1a011c3f9b Code clean and simplification 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
55fbdbd302 Code clean 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
8ac48b746c Closure assertions removal update 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
2d2ffea807 Construction invocation simplification 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
cd030ec88e VirtualFileFinder refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
ead2f84a29 Call generator refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
e7603d2e62 Code simplification and clean
~special flag
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
c8302fdf9c Push arguments refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
2d9674089c Support operatorAssign expressions in inline 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
4d8898c9f2 Rename: Inliner->CallGenerator 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
476a9ede64 Package rename: asm->inline 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
3bf952b49c Beautify 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
ee136d6594 Default inline flag = true 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
c716b6eda0 remapping to facades 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
3f9125cf08 Recursive lambdas regeneration/copy 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
e695f0a516 Extracting class builder interface 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
9028e24d35 Public visibilities for lambdas in inline methods 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
8793fc21e0 Support non-inlinable lambda cloning between modules 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
04be107a06 Remove redundant parameters 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
5740d99233 Properly index new variables after method inline 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
55e03dd8b3 isInline method moved from SimpleFunctionDescriptor to InlineStrategy 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
e45683d05e ProperlyGenerate exception table 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
e013a65a2c Max stuff calculation 2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
d6feea6a17 Identity fix, removed primitive box/unbox 2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
77979cce1b New generated lambda naming 2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
0ac53da2ed Assertion remove fix 2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
074cebdaa6 Fix for codegen 2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
647728e45e Fix for generics invocation 2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
e2db1aacdb no inline fix 2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
510c0eff7f Added field class checking 2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
ee61188188 Stack Height fix 2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
accccdfb77 Addded inline closure flag 2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
6e0f56b348 CaprutedParamInfo refactoring 2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
dbf5187054 Keep package part name in pakage context 2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
353d1c488b Fixed redundant done invocation on asByteArray call 2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
ea44d15058 Support of for local fun inside lambdas 2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
4bb63535ea Temporary workaround for constructor params 2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
5a8a0ac486 Lambda captured field remapper 2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
829a58f225 ~0 field fix 2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
7995ffb798 Support regeneration of non inlinable lambdas/local funs/sams 2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
b7e12ba524 TEXT->TEST in BytecodeToolWindow for inlining purposes 2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
dabacd8cae VirtualFileFinder update to search files without kotlin headers 2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
629a07c748 Removing inlines annotation from properties 2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
fb34b0aa52 Eat inner class info for function literals 2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
2874cd203f Don't use direct access to property field in inlined method 2014-03-03 15:43:37 +04:00
Mikhael Bogdanov
4f5b20a8db Test framework for inline 2014-03-03 15:43:35 +04:00
Nikita Skvortsov
9362bbcf1f fix KT-4612 properly implement KDoc compiler, added integration test. 2014-02-28 16:28:43 +04:00
Nikita Skvortsov
98779cba2d add new annotations 2014-02-28 16:28:43 +04:00
Nikita Skvortsov
ab4815c020 new test to highlight an issue 2014-02-28 16:28:42 +04:00
Andrey Breslav
b5f43dcc2d Don't let the last tests fail 2013-10-14 08:23:19 +04:00
Andrey Breslav
e9edc70758 Straighten out exception handling for CCE/NPE thrown by the eval loop and other exceptions thrown by eval itself 2013-10-14 08:23:19 +04:00
Andrey Breslav
48dec7ec17 Rename 2013-10-14 08:23:19 +04:00
Andrey Breslav
f64deaac1d Foreign object can't be compared by equals() to local objects 2013-10-14 08:23:19 +04:00
Andrey Breslav
e2b0212c34 NewObjectValue is a legitimate value too 2013-10-14 08:23:19 +04:00
Andrey Breslav
e13c331e78 Use throwException() instead of manually created instance 2013-10-14 08:23:19 +04:00
Andrey Breslav
9814726f9d JDI-based tests run, many fail 2013-10-14 08:23:19 +04:00
Andrey Breslav
1c07c42b2c better toString() 2013-10-14 08:23:19 +04:00
Andrey Breslav
848a9c56b2 Better remote exception support 2013-10-14 08:23:19 +04:00
Andrey Breslav
88bb113834 Prevent infinite recursion in loadClass() 2013-10-14 08:23:19 +04:00
Andrey Breslav
ec43441190 Generic mechanism for creating test suites 2013-10-13 15:12:26 +04:00
Andrey Breslav
517ccf347c Support arrays 2013-10-13 12:39:13 +04:00
Andrey Breslav
205fe325d9 Support constructor calls 2013-10-13 12:39:13 +04:00
Andrey Breslav
a5dba2938d Support instance fields and methods 2013-10-13 12:38:49 +04:00
Andrey Breslav
3e26f205b3 Static method calls supported 2013-10-13 12:38:49 +04:00
Andrey Breslav
f17fa36791 JDI-based Eval for classes and static fields 2013-10-13 12:38:39 +04:00
Andrey Breslav
4591363c9e JDI-based values 2013-10-13 01:11:58 +04:00
Andrey Breslav
0923be42ff throwException() utility introduced 2013-10-13 00:59:45 +04:00
Andrey Breslav
5ea384a165 ownerType supported on members 2013-10-13 00:54:35 +04:00
Andrey Breslav
6138902481 Useful method moved to values.kt 2013-10-13 00:48:52 +04:00
Andrey Breslav
d139856e4c NewObjectValue simply carries a type, the actual object will be created later 2013-10-13 00:44:02 +04:00
Andrey Breslav
94daf4c6bc Interpreter is not needed to create uninitialized values 2013-10-12 23:56:24 +04:00
Andrey Breslav
38e8e6addd Start with initial frame, not from scratch 2013-10-12 23:47:39 +04:00
Andrey Breslav
41d576c108 Support exceptionCaught() handler 2013-10-12 23:40:56 +04:00
Andrey Breslav
2e8ae6b7db TODO removed 2013-10-07 01:46:05 +04:00
Andrey Breslav
00fd00e09b Arrays supported 2013-10-07 01:45:05 +04:00
Andrey Breslav
e1e1428f4b Exception handling fixed for the case of inner classes 2013-10-07 01:44:29 +04:00
Andrey Breslav
1dfbbb9f08 Support NPE and exceptions thrown from methods being called 2013-10-07 00:32:34 +04:00
Andrey Breslav
4a7fa6632e Class literals supported 2013-10-07 00:17:52 +04:00
Andrey Breslav
58ad84d4e9 Support try..catch and instanceof/casts 2013-10-07 00:16:09 +04:00
Andrey Breslav
3199a8f690 Support constructor calls 2013-10-06 23:41:20 +04:00
Andrey Breslav
e8ac8cd7fa Invoke instance method supported 2013-10-06 22:59:44 +04:00
Andrey Breslav
47fd67a9b0 Get/Put instance field supported 2013-10-06 22:55:49 +04:00
Andrey Breslav
6e597b0438 Unused variable removed 2013-10-06 22:39:13 +04:00
Andrey Breslav
7d7316a077 Reading static fields supported 2013-10-06 18:01:12 +04:00
Andrey Breslav
2e6d523966 Reading static fields supported 2013-10-06 17:59:06 +04:00
Andrey Breslav
b7c169fc89 Support static method calls 2013-10-06 17:46:23 +04:00
Andrey Breslav
cec2111c29 Coerce object types on return 2013-10-06 17:44:37 +04:00
Andrey Breslav
8d29047204 Run configuration for tests 2013-10-06 17:43:56 +04:00
Andrey Breslav
9b2190e1b9 All objects should be loaded by Eval and not directly 2013-10-06 16:30:30 +04:00
Andrey Breslav
c5cddd42cb .gitignore 2013-10-06 15:19:04 +04:00
Andrey Breslav
173e7157ab ReadMe 2013-10-06 15:17:59 +04:00
Andrey Breslav
632adb595c Some tests for loops 2013-10-06 15:17:59 +04:00
Andrey Breslav
55e861e503 Don't forget to pop the condition off the stack 2013-10-06 15:17:59 +04:00
Andrey Breslav
c376619790 Allow omitting "public" and "test" 2013-10-06 15:17:59 +04:00
Andrey Breslav
e85a6fda39 Support int coercions on return 2013-10-06 15:17:59 +04:00
Andrey Breslav
85ac477b2f assertEquals(): order fixed 2013-10-06 15:17:59 +04:00
Andrey Breslav
5a075b80d5 Testing infrastructure 2013-10-06 15:17:59 +04:00
Andrey Breslav
ffca4dd5a0 Setting up equals()/hashCode() for values and results 2013-10-06 15:17:59 +04:00
Andrey Breslav
a55c350c0c Added dependency on junit 2013-10-06 15:17:59 +04:00
Andrey Breslav
b067b1abe4 toString() supported for values and results 2013-10-06 15:17:59 +04:00
Andrey Breslav
0aca17ce15 Do not evaluate label instructions and such 2013-10-06 15:17:59 +04:00
Andrey Breslav
b926e79aac Support for interpreter events 2013-10-06 15:17:58 +04:00
Andrey Breslav
3bae3e25b5 Support for throwing exceptions from Eval 2013-10-06 15:17:58 +04:00
Andrey Breslav
7559c3bd94 Main interpreter loop implemented 2013-10-06 15:17:58 +04:00
Andrey Breslav
2e374df5a9 Formatting 2013-10-06 15:17:58 +04:00
Andrey Breslav
f93d209b88 Control logic will be handled by interpreter loop 2013-10-06 15:17:58 +04:00
Andrey Breslav
21e0dabf87 Using LabelNode instead of bare Label 2013-10-06 15:17:58 +04:00
Andrey Breslav
8aad18e849 Class renamed 2013-10-06 12:31:15 +04:00
Andrey Breslav
2a24c00539 Unused methods removed 2013-10-06 12:25:21 +04:00
Andrey Breslav
f1601b2da0 Eval and Control separated 2013-10-06 03:52:09 +04:00
Andrey Breslav
a078727ea3 IINC treatment corrected 2013-10-06 03:47:16 +04:00
Andrey Breslav
fcc3fae8e5 Interpreter completed 2013-10-06 03:34:37 +04:00
Andrey Breslav
dae297d262 Nilary and unary operations supported 2013-10-06 02:00:18 +04:00
Andrey Breslav
a6dee0fd3b Initial project structure 2013-10-06 00:06:06 +04:00
15879 changed files with 376610 additions and 121901 deletions

20
.gitignore vendored
View File

@@ -1,13 +1,17 @@
.DS_Store
android.tests.dependencies
confluence/target
dependencies
dist
gh-pages
ideaSDK
.idea/shelf
/android.tests.dependencies
/confluence/target
/dependencies
/dist
/gh-pages
/ideaSDK
/android-studio/sdk
out
pluginPublisher/idea*
pluginPublisher/plugin-verifier.jar
/pluginPublisher/idea*
/pluginPublisher/plugin-verifier.jar
tmp
workspace.xml
*.versionsBackup
/idea/testData/debugger/tinyApp/classes*
/jps-plugin/testData/kannotator

3
.idea/ant.xml generated
View File

@@ -8,9 +8,10 @@
</buildFile>
<buildFile url="file://$PROJECT_DIR$/update_dependencies.xml" />
<buildFile url="file://$PROJECT_DIR$/TeamCityBuild.xml">
<maximumHeapSize value="1024" />
<maximumHeapSize value="512" />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/pluginPublisher/TeamCityPluginPublisher.xml" />
<buildFile url="file://$PROJECT_DIR$/idea_runner/runner.xml" />
</component>
</project>

9
.idea/artifacts/IdeLazyResolver.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<component name="ArtifactManager">
<artifact type="jar" name="IdeLazyResolver">
<output-path>$PROJECT_DIR$/out/artifacts/IdeLazyResolver</output-path>
<root id="archive" name="ide-lazy-resolver.jar">
<element id="module-output" name="ide-lazy-resolve" />
<element id="dir-copy" path="$PROJECT_DIR$/idea/ide-lazy-resolve" />
</root>
</artifact>
</component>

9
.idea/artifacts/InjectorGenerator.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<component name="ArtifactManager">
<artifact type="jar" name="InjectorGenerator">
<output-path>$PROJECT_DIR$/out/artifacts/InjectorGenerator</output-path>
<root id="archive" name="injector-generator.jar">
<element id="module-output" name="injector-generator" />
<element id="dir-copy" path="$PROJECT_DIR$/injector-generator" />
</root>
</artifact>
</component>

10
.idea/artifacts/Instrumentation.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<component name="ArtifactManager">
<artifact type="jar" name="Instrumentation">
<output-path>$PROJECT_DIR$/out/artifacts/Instrumentation</output-path>
<root id="archive" name="Instrumentation.jar">
<element id="module-output" name="instrumentation" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/jetbrains-asm-debug-all-4.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/guava-17.0.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,18 @@
<component name="ArtifactManager">
<artifact name="KotlinAndroidExtensionsPlugin">
<output-path>$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensionsPlugin</output-path>
<root id="root">
<element id="directory" name="lib">
<element id="archive" name="kotlin-android-extensions-plugin.jar">
<element id="module-output" name="android-compiler-plugin" />
<element id="module-output" name="android-idea-plugin" />
</element>
<element id="directory" name="jps">
<element id="archive" name="kotlin-android-extensions-jps.jar">
<element id="module-output" name="android-jps-plugin" />
</element>
</element>
</element>
</root>
</artifact>
</component>

23
.idea/artifacts/KotlinBarePlugin.xml generated Normal file
View File

@@ -0,0 +1,23 @@
<component name="ArtifactManager">
<artifact name="KotlinBarePlugin">
<output-path>$PROJECT_DIR$/out/artifacts/BareKotlin</output-path>
<root id="root">
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />
</element>
<element id="directory" name="lib">
<element id="archive" name="kotlin-bare-plugin.jar">
<element id="module-output" name="bare-plugin" />
<element id="module-output" name="descriptor.loader.java" />
<element id="module-output" name="frontend.java" />
<element id="module-output" name="serialization.java" />
<element id="module-output" name="descriptors" />
</element>
<element id="directory" name="jps">
<element id="artifact" artifact-name="KotlinJpsPlugin" />
</element>
<element id="file-copy" path="$PROJECT_DIR$/dist/kotlinc/lib/kotlin-runtime.jar" />
</element>
</root>
</artifact>
</component>

18
.idea/artifacts/KotlinJpsPlugin.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<component name="ArtifactManager">
<artifact type="jar" name="KotlinJpsPlugin">
<output-path>$PROJECT_DIR$/out/artifacts/KotlinJpsPlugin</output-path>
<root id="archive" name="kotlin-jps-plugin.jar">
<element id="directory" name="META-INF">
<element id="dir-copy" path="$PROJECT_DIR$/jps-plugin/src/META-INF" />
</element>
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/cli-parser-1.1.1.jar" path-in-jar="/" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="jps-plugin" />
<element id="module-output" name="preloader" />
<element id="module-output" name="util" />
<element id="module-output" name="util.runtime" />
<element id="file-copy" path="$PROJECT_DIR$/resources/manifest.properties" />
</root>
</artifact>
</component>

View File

@@ -1,55 +1,47 @@
<component name="ArtifactManager">
<artifact name="KotlinPlugin">
<output-path>$PROJECT_DIR$/out/artifacts</output-path>
<output-path>$PROJECT_DIR$/out/artifacts/Kotlin</output-path>
<root id="root">
<element id="directory" name="Kotlin">
<element id="directory" name="lib">
<element id="archive" name="kotlin-plugin.jar">
<element id="module-output" name="backend" />
<element id="module-output" name="frontend" />
<element id="module-output" name="descriptors" />
<element id="module-output" name="frontend.java" />
<element id="module-output" name="descriptor.loader.java" />
<element id="module-output" name="idea" />
<element id="module-output" name="jet.as.java.psi" />
<element id="module-output" name="util" />
<element id="module-output" name="util.runtime" />
<element id="module-output" name="j2k" />
<element id="module-output" name="js.translator" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="preloader" />
<element id="module-output" name="serialization" />
<element id="module-output" name="serialization.java" />
<element id="module-output" name="backend-common" />
<element id="library" level="project" name="builtins" />
<element id="module-output" name="js.dart-ast" />
<element id="directory" name="kotlin">
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/native/kotlin" />
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/src/kotlin" />
</element>
<element id="directory" name="lib">
<element id="archive" name="kotlin-plugin.jar">
<element id="module-output" name="backend" />
<element id="module-output" name="frontend" />
<element id="module-output" name="descriptors" />
<element id="module-output" name="frontend.java" />
<element id="module-output" name="descriptor.loader.java" />
<element id="module-output" name="idea" />
<element id="module-output" name="jet.as.java.psi" />
<element id="module-output" name="util" />
<element id="module-output" name="util.runtime" />
<element id="module-output" name="j2k" />
<element id="module-output" name="js.translator" />
<element id="module-output" name="js.frontend" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="preloader" />
<element id="module-output" name="serialization" />
<element id="module-output" name="serialization.java" />
<element id="module-output" name="backend-common" />
<element id="library" level="project" name="builtins" />
<element id="module-output" name="js.dart-ast" />
<element id="directory" name="kotlin">
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/native/kotlin" />
<element id="dir-copy" path="$PROJECT_DIR$/core/builtins/src/kotlin" />
</element>
<element id="library" level="project" name="javax.inject" />
<element id="directory" name="jps">
<element id="archive" name="kotlin-jps-plugin.jar">
<element id="module-output" name="jps-plugin" />
<element id="directory" name="META-INF">
<element id="dir-copy" path="$PROJECT_DIR$/jps-plugin/src/META-INF" />
</element>
<element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="util" />
<element id="module-output" name="preloader" />
<element id="file-copy" path="$PROJECT_DIR$/resources/manifest.properties" />
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/cli-parser-1.1.1.jar" path-in-jar="/" />
<element id="module-output" name="util.runtime" />
</element>
</element>
<element id="file-copy" path="$PROJECT_DIR$/dist/kotlinc/lib/kotlin-runtime.jar" />
<element id="module-output" name="eval4j" />
<element id="module-output" name="idea-analysis" />
<element id="module-output" name="ide-lazy-resolve" />
<element id="module-output" name="android-compiler-plugin" />
<element id="module-output" name="android-idea-plugin" />
</element>
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />
<element id="library" level="project" name="javax.inject" />
<element id="directory" name="jps">
<element id="artifact" artifact-name="KotlinJpsPlugin" />
</element>
<element id="file-copy" path="$PROJECT_DIR$/dist/kotlinc/lib/kotlin-runtime.jar" />
</element>
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />
</element>
</root>
</artifact>

View File

@@ -1,10 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="instrumentation:jar">
<output-path>$PROJECT_DIR$/out/artifacts/instrumentation_jar</output-path>
<root id="archive" name="instrumentation.jar">
<element id="module-output" name="instrumentation" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/jetbrains-asm-debug-all-4.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/ideaSDK/lib/guava-14.0.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -5,7 +5,7 @@
<value>
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="INDENT_SIZE" value="4" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
<option name="USE_TAB_CHARACTER" value="false" />
@@ -79,6 +79,11 @@
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="CoffeeScript">
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="ECMA Script Level 4">
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
@@ -238,9 +243,33 @@
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="TypeScript">
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
@@ -251,6 +280,7 @@
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
</value>

9
.idea/compiler.xml generated
View File

@@ -4,7 +4,14 @@
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!*.java" />
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">

View File

@@ -3,8 +3,16 @@
<words>
<w>accessors</w>
<w>goto</w>
<w>gradle</w>
<w>kdoc</w>
<w>kompiler</w>
<w>memoize</w>
<w>memoized</w>
<w>multiline</w>
<w>preload</w>
<w>preloader</w>
<w>preloading</w>
<w>preprocess</w>
<w>redeclarations</w>
<w>subclassed</w>
<w>subgraph</w>

View File

@@ -3,7 +3,9 @@
<words>
<w>builtins</w>
<w>klass</w>
<w>proto</w>
<w>protoc</w>
<w>protos</w>
<w>ubuntu</w>
</words>
</dictionary>

View File

@@ -1,7 +1,9 @@
<component name="ProjectDictionaryState">
<dictionary name="valentin">
<words>
<w>initializers</w>
<w>pparent</w>
<w>rparenth</w>
</words>
</dictionary>
</component>

View File

@@ -244,7 +244,10 @@
<inspection_tool class="MethodOverloadsParentMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverridesPrivateMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverridesStaticMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreObjectMethods" value="true" />
<option name="ignoreAnonymousClassMethods" value="false" />
</inspection_tool>
<inspection_tool class="MisspelledCompareTo" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisspelledEquals" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisspelledHashcode" enabled="true" level="WARNING" enabled_by_default="true" />
@@ -374,7 +377,7 @@
<inspection_tool class="ThreadRun" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadStartInConstruction" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThrowablePrintStackTrace" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="IDEA Test Sources" level="WARNING" enabled="false" />
<scope name="Tests" level="WARNING" enabled="false" />
</inspection_tool>
<inspection_tool class="TrivialIf" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TrivialStringConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />

5
.idea/kotlinc.xml generated
View File

@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinCommonCompilerArguments">
<option name="suppress" value="warnings" />
</component>
<component name="KotlinCommonCompilerSettings">
<option name="suppress" value="warnings" />
<option name="suppressWarnings" value="true" />
</component>
</project>

38
.idea/libraries/android.xml generated Normal file
View File

@@ -0,0 +1,38 @@
<component name="libraryTable">
<library name="android">
<ANNOTATIONS>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/android.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/jps/android-jps-plugin.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/android-common.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/jps/android-gradle-jps.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/manifest-merger.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/builder-model-0.12.0.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/commons-compress-1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/layoutlib-api.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/common.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/sdklib.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/resources_en.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/sdk-tools.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/jarutils.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/lib/android-rt.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/common/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/ultimate/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/guiTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/android-gradle-jps/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/android/android-src.zip!/android-gradle-jps/testSrc" />
</SOURCES>
</library>
</component>

10
.idea/libraries/android_studio.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="android-studio">
<CLASSES>
<root url="file://$PROJECT_DIR$/android-studio/sdk/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$PROJECT_DIR$/android-studio/sdk/lib" recursive="false" />
</library>
</component>

9
.idea/libraries/android_tests.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="android_tests">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/android_tests.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -1,11 +1,14 @@
<component name="libraryTable">
<library name="asm">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-debug-all-4.0.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/asm-all.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="copyright-plugin">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/copyright/lib/copyright.jar!/" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="dx-android">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/dx.jar!/" />
</CLASSES>

View File

@@ -12,13 +12,19 @@
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" recursive="false" />
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/Groovy/lib" recursive="false" />

View File

@@ -4,11 +4,11 @@
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/guava-14.0.1.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/guava-17.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-14.0.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="hamcrest-core-1.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/hamcrest-core.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/hamcrest-core-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -8,79 +8,224 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
@@ -88,170 +233,91 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-builders/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-14.0.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/lib" recursive="false" />
</library>

View File

@@ -9,79 +9,225 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
@@ -89,171 +235,90 @@
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs/testFramework" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-builders/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-14.0.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/core" recursive="false" />
</library>

323
.idea/libraries/intellij_core_analysis.xml generated Normal file
View File

@@ -0,0 +1,323 @@
<component name="libraryTable">
<library name="intellij-core-analysis">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/core-analysis/intellij-core-analysis.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
</SOURCES>
</library>
</component>

View File

@@ -1,9 +1,15 @@
<component name="libraryTable">
<library name="java-i18n">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/java-i18n/lib/java-i18n.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
</SOURCES>
</library>
</component>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="jline">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/jline.jar!/" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="jps">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/jps" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="jps-model">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/jps/jps-model.jar!/" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="js-test-libs">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/js/js.tests/testLib/rhino-1.7R4.jar!/" />
</CLASSES>

16
.idea/libraries/junit_4_11.xml generated Normal file
View File

@@ -0,0 +1,16 @@
<component name="libraryTable">
<library name="junit-4.11">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/hamcrest-core-1.3.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/junit-4.11.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/hamcrest-core-1.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/junit-4.11-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="junit-plugin">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/junit/lib/idea-junit.jar!/" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="maven">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/maven/lib" />
</CLASSES>

View File

@@ -1,9 +1,18 @@
<component name="libraryTable">
<library name="properties">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/properties/lib/properties.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
</SOURCES>
</library>
</component>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="protobuf-java">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/protobuf-2.5.0.jar!/" />
</CLASSES>

View File

@@ -1,5 +1,8 @@
<component name="libraryTable">
<library name="trove4j">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j.jar!/" />
</CLASSES>

14
.idea/modules.xml generated
View File

@@ -3,9 +3,14 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Kotlin.iml" filepath="$PROJECT_DIR$/Kotlin.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-compiler-plugin/android-compiler-plugin.iml" filepath="$PROJECT_DIR$/plugins/android-compiler-plugin/android-compiler-plugin.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-idea-plugin/android-idea-plugin.iml" filepath="$PROJECT_DIR$/plugins/android-idea-plugin/android-idea-plugin.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/plugins/android-jps-plugin/android-jps-plugin.iml" filepath="$PROJECT_DIR$/plugins/android-jps-plugin/android-jps-plugin.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/android-studio/android-studio.iml" filepath="$PROJECT_DIR$/android-studio/android-studio.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/android-tests/android-tests.iml" filepath="$PROJECT_DIR$/compiler/android-tests/android-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend/backend.iml" filepath="$PROJECT_DIR$/compiler/backend/backend.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend-common/backend-common.iml" filepath="$PROJECT_DIR$/compiler/backend-common/backend-common.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/bare-plugin/bare-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/bare-plugin/bare-plugin.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/build-tools/build-tools.iml" filepath="$PROJECT_DIR$/build-tools/build-tools.iml" />
<module fileurl="file://$PROJECT_DIR$/core/builtins/builtins.iml" filepath="$PROJECT_DIR$/core/builtins/builtins.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" filepath="$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" group="compiler/cli" />
@@ -15,26 +20,31 @@
<module fileurl="file://$PROJECT_DIR$/compiler/tests/compiler-tests.iml" filepath="$PROJECT_DIR$/compiler/tests/compiler-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/core/descriptor.loader.java/descriptor.loader.java.iml" filepath="$PROJECT_DIR$/core/descriptor.loader.java/descriptor.loader.java.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/descriptors/descriptors.iml" filepath="$PROJECT_DIR$/core/descriptors/descriptors.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/eval4j/eval4j.iml" filepath="$PROJECT_DIR$/eval4j/eval4j.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend/frontend.iml" filepath="$PROJECT_DIR$/compiler/frontend/frontend.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" filepath="$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/generators/generators.iml" filepath="$PROJECT_DIR$/generators/generators.iml" group="infrastructure" />
<module fileurl="file://$PROJECT_DIR$/grammar/grammar.iml" filepath="$PROJECT_DIR$/grammar/grammar.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/ide-compiler-runner/ide-compiler-runner.iml" filepath="$PROJECT_DIR$/ide-compiler-runner/ide-compiler-runner.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/ide-lazy-resolve/ide-lazy-resolve.iml" filepath="$PROJECT_DIR$/idea/ide-lazy-resolve/ide-lazy-resolve.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea.iml" filepath="$PROJECT_DIR$/idea/idea.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-analysis/idea-analysis.iml" filepath="$PROJECT_DIR$/idea/idea-analysis/idea-analysis.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea_runner/idea_runner.iml" filepath="$PROJECT_DIR$/idea_runner/idea_runner.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/injector-generator/injector-generator.iml" filepath="$PROJECT_DIR$/injector-generator/injector-generator.iml" group="infrastructure" />
<module fileurl="file://$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" filepath="$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/j2k/j2k.iml" filepath="$PROJECT_DIR$/j2k/j2k.iml" group="j2k" />
<module fileurl="file://$PROJECT_DIR$/j2k/tests/j2k-tests.iml" filepath="$PROJECT_DIR$/j2k/tests/j2k-tests.iml" group="j2k" />
<module fileurl="file://$PROJECT_DIR$/compiler/jet.as.java.psi/jet.as.java.psi.iml" filepath="$PROJECT_DIR$/compiler/jet.as.java.psi/jet.as.java.psi.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/jps-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/jps-plugin.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" filepath="$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.frontend/js.frontend.iml" filepath="$PROJECT_DIR$/js/js.frontend/js.frontend.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.tests/js.tests.iml" filepath="$PROJECT_DIR$/js/js.tests/js.tests.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.translator/js.translator.iml" filepath="$PROJECT_DIR$/js/js.translator/js.translator.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" filepath="$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/compiler/plugin-api/plugin-api.iml" filepath="$PROJECT_DIR$/compiler/plugin-api/plugin-api.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/preloader/preloader.iml" filepath="$PROJECT_DIR$/compiler/preloader/preloader.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/core/reflection/reflection.iml" filepath="$PROJECT_DIR$/core/reflection/reflection.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" filepath="$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend/serialization/serialization.iml" filepath="$PROJECT_DIR$/compiler/frontend/serialization/serialization.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/core/serialization/serialization.iml" filepath="$PROJECT_DIR$/core/serialization/serialization.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/serialization.java/serialization.java.iml" filepath="$PROJECT_DIR$/core/serialization.java/serialization.java.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/util/util.iml" filepath="$PROJECT_DIR$/compiler/util/util.iml" />
<module fileurl="file://$PROJECT_DIR$/core/util.runtime/util.runtime.iml" filepath="$PROJECT_DIR$/core/util.runtime/util.runtime.iml" group="core" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx512m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
@@ -21,7 +21,10 @@
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<envs>
<env name="kotlin.tests.actually.compile" value="true" />
<env name="NO_FS_ROOTS_ACCESS_CHECK" value="true" />
</envs>
<patterns />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="53032" />

View File

@@ -0,0 +1,29 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Android Studio" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Didea.paths.selector=AndroidStudioPreview -Didea.platform.prefix=AndroidStudio -Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/android-studio/sdk/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="android-studio" />
<envs />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
</method>
</configuration>
</component>

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="org.jetbrains.jet.compiler.android.AndroidRunner" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx512m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

31
.idea/runConfigurations/Eval4j_Tests.xml generated Normal file
View File

@@ -0,0 +1,31 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Eval4j Tests" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="eval4j" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="org.jetbrains.eval4j.test" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="IDEA" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin:$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensionsPlugin -Dkotlin.internal.mode.enabled=true" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -43,6 +43,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea_runner/runner.xml" target="force_enable_kotlin_plugin" />
</method>
</configuration>
</component>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="IDEA (No ProcessCanceledException)" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=250m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Didea.ProcessCanceledException=disabled" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=250m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin:$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensionsPlugin -Didea.ProcessCanceledException=disabled -Dkotlin.internal.mode.enabled=true" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -24,6 +24,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea_runner/runner.xml" target="force_enable_kotlin_plugin" />
</method>
</configuration>
</component>

View File

@@ -0,0 +1,35 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Incremental Compilation Tests" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="jps-plugin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="org.jetbrains.jet.jps.build" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.jet.jps.build.IncrementalJpsTestGenerated" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea -Xmx512m -XX:MaxPermSize=320m -Dkotlin.incremental.compilation=true" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs>
<env name="kotlin.tests.actually.compile" value="false" />
</envs>
<patterns />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="dist_quick_compiler_only" />
</method>
</configuration>
</component>

View File

@@ -6,7 +6,7 @@
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="j2k-tests" />
<module name="j2k" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="" />

View File

@@ -8,7 +8,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />

View File

@@ -0,0 +1,42 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Smart Completion Tests" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.jet.completion.handlers.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="idea" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="org.jetbrains.jet.completion.handlers" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="pattern" />
<option name="VM_PARAMETERS" value="-ea -Xmx512m -XX:MaxPermSize=320m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs>
<env name="kotlin.tests.actually.compile" value="false" />
</envs>
<patterns>
<pattern testClass="org.jetbrains.jet.completion.JvmSmartCompletionTestGenerated" />
<pattern testClass="org.jetbrains.jet.completion.handlers.SmartCompletionHandlerTestGenerated" />
<pattern testClass="org.jetbrains.jet.completion.handlers.SmartCompletionMultifileHandlerTest" />
</patterns>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>

2
.idea/scopes/IDE.xml generated
View File

@@ -1,3 +1,3 @@
<component name="DependencyValidationManager">
<scope name="IDE" pattern="idea||file[idea]:*/" />
<scope name="IDE" pattern="file[idea]:*/||file[idea-analysis]:*/||file[ide-lazy-resolve]:*/" />
</component>

View File

@@ -8,7 +8,9 @@
<excludeFolder url="file://$MODULE_DIR$/android.tests.dependencies" />
<excludeFolder url="file://$MODULE_DIR$/dependencies" />
<excludeFolder url="file://$MODULE_DIR$/dist" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/androidSDK" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/config" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/config-idea" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/system" />
<excludeFolder url="file://$MODULE_DIR$/ideaSDK/system-idea" />
<excludeFolder url="file://$MODULE_DIR$/libraries/.idea" />

View File

@@ -1,6 +1,6 @@
# Kotlin Programming Language
Welcome to [Kotlin](http://www.jetbrains.com/kotlin)! Some handy links:
Welcome to [Kotlin](http://kotlinlang.org/)! Some handy links:
* [Getting Started Guide](http://confluence.jetbrains.net/display/Kotlin/Getting+Started)
* [Web Demo](http://kotlin-demo.jetbrains.com/)
@@ -32,18 +32,25 @@ Then, you need to run
ant -f build.xml
which will build the binaries of the compiler and put them into the 'dist' directory.
which will build the binaries of the compiler and put them into the 'dist' directory. You may need to increase the **heap size** for Ant using
[ANT_OPTS](http://www.liferay.com/community/wiki/-/wiki/Main/Ant+opts).
Maven distribution is built separately, run
**OPTIONAL:** Maven distribution is built separately, run
mvn package
from 'libraries' directory after building the compiler.
from 'libraries' directory after building the compiler. Refer to `libraries/ReadMe.md` for details.
## Working with the project in IDEA
The [root kotlin project](https://github.com/JetBrains/kotlin) already has an IDEA project, you can just open it in IDEA.
You may need to set the Project SDK (File -> Project Structure -> Project).
You may also need to add `tools.jar` to your SDK: File -> Project Structure -> SDKs -> <Your JDK> -> Classpath,
then choose the `tools.jar` in the JDK's `lib` directory.
If you are not dealing with Android, you may need to disable the Android Plugin in order to compile the project.
Since Kotlin project contains code written in Kotlin itself, you will also need a Kotlin plugin to build the project in IntelliJ IDEA.
To keep the plugin version in sync with the rest of the team and our [Continuous Integration server](http://teamcity.jetbrains.com/project.html?projectId=Kotlin&tab=projectOverview)
you should install the according to the [instructions below](#plugin-for-contributors).
@@ -90,7 +97,7 @@ Then update the list of plugins in "Browse Repositories", you'll see two version
We love contributions! There's [lots to do on kotlin](http://youtrack.jetbrains.com/issues/KT) and on the [standard library](http://youtrack.jetbrains.com/issues/KT?q=%23%7BStandard+Library%7D+-Resolved) so why not chat with us on the [forum](http://devnet.jetbrains.net/community/kotlin?view=discussions) about what you're interested in doing?
If you want to find some issues to start off with, try [this query](http://youtrack.jetbrains.com/issues/KT?q=-Resolved+%23Kontributor) which should find all issues that are not resolved assigned to Kontributor.
If you want to find some issues to start off with, try [this query](http://youtrack.jetbrains.com/issues?q=tag%3A+%7BUp+For+Grabs%7D) which should find all issues that marked as "up-for-grabs".
Currently only committers can assign issues to themselves so just add a comment if you're starting work on it.
@@ -103,9 +110,9 @@ Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/maste
## If you want to work on the compiler
The Kotlin compiler is currently all written in Java (we plan to port it to Kotlin later). So the easiest way to work on the compiler or IDEA plugin is
The Kotlin compiler is written in Java and Kotlin (we gradually migrate more and more of it to pure Kotlin). So the easiest way to work on the compiler or IDEA plugin is
* download a clean [IDEA 13 EAP build](http://confluence.jetbrains.net/display/IDEADEV/IDEA+13+EAP)
* download a clean [IDEA 14 EAP build](http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [root kotlin project](https://github.com/JetBrains/kotlin) in IDEA (opening the kotlin directory)
@@ -118,7 +125,7 @@ You can now run the various Run/Debug Configurations such as
## If you want to work on the Kotlin libraries
* download a clean [IDEA 13 EAP build](http://confluence.jetbrains.net/display/IDEADEV/IDEA+13+EAP)
* download a clean [IDEA 14 EAP build](http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries)

View File

@@ -17,6 +17,7 @@
<property name="compiler.version.java.versioned" value="${compiler.version.java}.versioned" />
<property name="plugin.zip" value="${artifact.output.path}/kotlin-plugin-${build.number}.zip" />
<property name="bare.plugin.zip" value="${artifact.output.path}/kotlin-bare-plugin-${build.number}.zip" />
<macrodef name="echoprop">
<attribute name="prop"/>
@@ -94,17 +95,28 @@
<delete dir="${version_substitute_dir}" quiet="true"/>
</target>
<target name="pre_build" depends="writeVersionToTemplateFiles, cleanupArtifacts">
<target name="pre_build" depends="writeVersionToTemplateFiles, cleanupArtifacts"/>
<target name="zipArtifacts">
<macrodef name="zipPlugin">
<attribute name="filename"/>
<attribute name="dir"/>
<sequential>
<zip destfile="@{filename}">
<zipfileset prefix="@{dir}" dir="${artifact.output.path}/@{dir}" excludes="kotlinc/bin/*"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" includes="*.bat" filemode="644"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" excludes="*.bat" filemode="755"/>
</zip>
<delete dir="${artifact.output.path}/@{dir}" quiet="true"/>
</sequential>
</macrodef>
<zipPlugin filename="${plugin.zip}" dir="Kotlin"/>
<zipPlugin filename="${bare.plugin.zip}" dir="BareKotlin"/>
</target>
<target name="zipArtifact">
<zip destfile="${plugin.zip}">
<zipfileset prefix="Kotlin" dir="${artifact.output.path}/Kotlin"/>
</zip>
<delete dir="${artifact.output.path}/Kotlin" quiet="true"/>
</target>
<target name="post_build" depends="zipArtifact, revertTemplateFiles"/>
<target name="post_build" depends="zipArtifacts, revertTemplateFiles"/>
<target name="none">
<fail message="Either specify pre_build or post_build"/>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="RUNTIME" name="android-studio" level="project" />
<orderEntry type="module" module-name="idea" scope="PROVIDED" />
</component>
</module>

View File

@@ -1,8 +1,49 @@
<root>
<item name='com.google.common.collect.ImmutableBiMap com.google.common.collect.ImmutableBiMap&lt;V,K&gt; inverse()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet com.google.common.collect.ImmutableSet&lt;E&gt; of()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet com.google.common.collect.ImmutableSet&lt;E&gt; of(E)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet com.google.common.collect.ImmutableSet&lt;E&gt; of(E, E)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet com.google.common.collect.ImmutableSet.Builder&lt;E&gt; builder()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet.Builder com.google.common.collect.ImmutableSet&lt;E&gt; build()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.ImmutableSet.Builder com.google.common.collect.ImmutableSet.Builder&lt;E&gt; add(E)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.google.common.collect.ImmutableSet.Builder com.google.common.collect.ImmutableSet.Builder&lt;E&gt; addAll(java.lang.Iterable&lt;? extends E&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.Lists java.util.ArrayList&lt;E&gt; newArrayList(E...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.Lists java.util.ArrayList&lt;E&gt; newArrayList(java.lang.Iterable&lt;? extends E&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.Maps java.util.LinkedHashMap&lt;K,V&gt; newLinkedHashMap()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.Multimap java.util.Set&lt;K&gt; keySet()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.SetMultimap java.util.Map&lt;K,java.util.Collection&lt;V&gt;&gt; asMap()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.google.common.collect.Sets com.google.common.collect.Sets.SetView&lt;E&gt; intersection(java.util.Set&lt;E&gt;, java.util.Set&lt;?&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.google.common.collect.Sets java.util.HashSet&lt;E&gt; newHashSet(java.lang.Iterable&lt;? extends E&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,19 @@
<root>
<item name='com.intellij.codeInsight.CodeInsightSettings com.intellij.codeInsight.CodeInsightSettings getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.NullableNotNullManager com.intellij.codeInsight.NullableNotNullManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.PsiEquivalenceUtil com.intellij.psi.PsiElement[] getFilteredChildren(com.intellij.psi.PsiElement, com.intellij.openapi.util.Condition&lt;com.intellij.psi.PsiElement&gt;, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.NullableNotNullManager java.util.List&lt;java.lang.String&gt; getNotNulls()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.NullableNotNullManager java.util.List&lt;java.lang.String&gt; getNullables()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -1,4 +1,28 @@
<root>
<item
name='com.intellij.codeInsight.completion.CompletionParameters com.intellij.codeInsight.completion.CompletionParameters delegateToClassName()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionParameters com.intellij.codeInsight.completion.CompletionParameters withInvocationCount(int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionParameters com.intellij.codeInsight.completion.CompletionParameters withType(com.intellij.codeInsight.completion.CompletionType)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionProvider void addCompletionVariants(V, com.intellij.util.ProcessingContext, com.intellij.codeInsight.completion.CompletionResultSet) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionProvider void addCompletions(V, com.intellij.util.ProcessingContext, com.intellij.codeInsight.completion.CompletionResultSet) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionService com.intellij.codeInsight.completion.CompletionService getCompletionService()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionSorter com.intellij.codeInsight.completion.CompletionSorter weighAfter(java.lang.String, com.intellij.codeInsight.lookup.LookupElementWeigher...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -7,6 +31,18 @@
name='com.intellij.codeInsight.completion.CompletionSorter com.intellij.codeInsight.completion.CompletionSorter weighBefore(java.lang.String, com.intellij.codeInsight.lookup.LookupElementWeigher...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionUtil java.lang.String findIdentifierPrefix(com.intellij.psi.PsiElement, int, com.intellij.patterns.ElementPattern&lt;java.lang.Character&gt;, com.intellij.patterns.ElementPattern&lt;java.lang.Character&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionUtil java.lang.String findJavaIdentifierPrefix(com.intellij.codeInsight.completion.CompletionParameters)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.CompletionUtil java.lang.String findJavaIdentifierPrefix(com.intellij.psi.PsiElement, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.InsertHandler void handleInsert(com.intellij.codeInsight.completion.InsertionContext, T) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -15,7 +51,21 @@
name='com.intellij.codeInsight.completion.InsertHandler void handleInsert(com.intellij.codeInsight.completion.InsertionContext, T) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.completion.InsertionContext com.intellij.codeInsight.completion.OffsetMap getOffsetMap()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.completion.InsertionContext com.intellij.openapi.project.Project getProject()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.JavaCompletionSorting com.intellij.codeInsight.completion.CompletionResultSet addJavaSorting(com.intellij.codeInsight.completion.CompletionParameters, com.intellij.codeInsight.completion.CompletionResultSet)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.completion.OffsetKey com.intellij.codeInsight.completion.OffsetKey create(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.completion.OffsetKey com.intellij.codeInsight.completion.OffsetKey create(java.lang.String, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.codeInsight.daemon.impl.ShowAutoImportPass java.lang.String getMessage(boolean, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -19,6 +19,39 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor T extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[])'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun extractTransferableData(content: Transferable): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, T) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -39,6 +72,26 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, T) 5'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 4'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 5'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor TRef[] findReferencesToRestore(com.intellij.psi.PsiFile, com.intellij.openapi.editor.RangeMarker, com.intellij.codeInsight.editorActions.ReferenceData[])'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -0,0 +1,10 @@
<root>
<item
name='com.intellij.codeInsight.folding.CodeFoldingManager com.intellij.codeInsight.folding.CodeFoldingManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.folding.CodeFoldingManager com.intellij.openapi.editor.FoldRegion[] getFoldRegionsAtOffset(com.intellij.openapi.editor.Editor, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,10 @@
<root>
<item
name='com.intellij.codeInsight.folding.impl.CodeFoldingManagerImpl com.intellij.openapi.editor.FoldRegion[] getFoldRegionsAtOffset(com.intellij.openapi.editor.Editor, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.folding.impl.FoldingUtil com.intellij.openapi.editor.FoldRegion[] getFoldRegionsAtOffset(com.intellij.openapi.editor.Editor, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,6 @@
<root>
<item
name='com.intellij.codeInsight.highlighting.HighlightManager com.intellij.codeInsight.highlighting.HighlightManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.codeInsight.hint.HintManager com.intellij.codeInsight.hint.HintManager getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -83,6 +83,12 @@
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withTypeText(java.lang.String, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.LookupElementDecorator LookupElementDecorator(T) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.LookupElementDecorator T getDelegate()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementDecorator void renderElement(com.intellij.codeInsight.lookup.LookupElementPresentation) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -0,0 +1,17 @@
<root>
<item name='com.intellij.codeInsight.template.Template'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.TemplateManager com.intellij.codeInsight.template.Template createTemplate(java.lang.String, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.TemplateManager com.intellij.codeInsight.template.Template createTemplate(java.lang.String, java.lang.String, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.TemplateManager com.intellij.codeInsight.template.TemplateManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,34 @@
<root>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor boolean isEnabled(com.intellij.codeInsight.template.Template) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor boolean isVisible(com.intellij.codeInsight.template.Template) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void processText(com.intellij.openapi.project.Project, com.intellij.codeInsight.template.Template, com.intellij.openapi.editor.Document, com.intellij.openapi.editor.RangeMarker, com.intellij.openapi.editor.Editor) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void processText(com.intellij.openapi.project.Project, com.intellij.codeInsight.template.Template, com.intellij.openapi.editor.Document, com.intellij.openapi.editor.RangeMarker, com.intellij.openapi.editor.Editor) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void processText(com.intellij.openapi.project.Project, com.intellij.codeInsight.template.Template, com.intellij.openapi.editor.Document, com.intellij.openapi.editor.RangeMarker, com.intellij.openapi.editor.Editor) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void processText(com.intellij.openapi.project.Project, com.intellij.codeInsight.template.Template, com.intellij.openapi.editor.Document, com.intellij.openapi.editor.RangeMarker, com.intellij.openapi.editor.Editor) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void processText(com.intellij.openapi.project.Project, com.intellij.codeInsight.template.Template, com.intellij.openapi.editor.Document, com.intellij.openapi.editor.RangeMarker, com.intellij.openapi.editor.Editor) 4'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.template.impl.TemplateOptionalProcessor void setEnabled(com.intellij.codeInsight.template.Template, boolean) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,20 @@
<root>
<item
name='com.intellij.codeInsight.unwrap.RangeSplitter java.util.List&lt;com.intellij.openapi.util.TextRange&gt; split(com.intellij.openapi.util.TextRange, java.util.List&lt;com.intellij.openapi.util.TextRange&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.unwrap.ScopeHighlighter ScopeHighlighter(com.intellij.openapi.editor.Editor, com.intellij.util.NotNullFunction&lt;com.intellij.psi.PsiElement,com.intellij.openapi.util.TextRange&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun ScopeHighlighter(editor: Editor, ranger: NotNullFunction&lt;PsiElement, TextRange&gt;?)&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.unwrap.ScopeHighlighter void highlight(com.intellij.psi.PsiElement, java.util.List&lt;com.intellij.psi.PsiElement&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.unwrap.ScopeHighlighter void highlight(com.intellij.psi.PsiElement, java.util.List&lt;com.intellij.psi.PsiElement&gt;) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,12 @@
<root>
<item
name='com.intellij.debugger.actions.JvmSmartStepIntoHandler java.util.List&lt;com.intellij.debugger.actions.SmartStepTarget&gt; findSmartStepTargets(com.intellij.debugger.SourcePosition)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun findSmartStepTargets(position: SourcePosition): List&lt;SmartStepTarget&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.debugger.actions.JvmSmartStepIntoHandler java.util.List&lt;com.intellij.debugger.actions.SmartStepTarget&gt; findSmartStepTargets(com.intellij.debugger.SourcePosition) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,9 @@
<root>
<item
name='com.intellij.debugger.ExecutionWithDebuggerToolsTestCase void onBreakpoint(com.intellij.debugger.engine.SuspendContextRunnable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.SourcePosition'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
</root>

View File

@@ -0,0 +1,19 @@
<root>
<item name='com.intellij.debugger.engine.DebugProcessImpl com.intellij.debugger.jdi.VirtualMachineProxyImpl getVirtualMachineProxy()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.MethodFilter boolean locationMatches(com.intellij.debugger.engine.DebugProcessImpl, com.sun.jdi.Location) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.MethodFilter boolean locationMatches(com.intellij.debugger.engine.DebugProcessImpl, com.sun.jdi.Location) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.SuspendContextImpl'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.SuspendContextRunnable void run(com.intellij.debugger.engine.SuspendContextImpl) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,83 @@
<root>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 1'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createPresentationCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createPresentationCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createPresentationCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 1'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.CodeFragmentFactory com.intellij.psi.JavaCodeFragment createPresentationCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.DefaultCodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.DefaultCodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 1'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.DefaultCodeFragmentFactory com.intellij.psi.JavaCodeFragment createCodeFragment(com.intellij.debugger.engine.evaluation.TextWithImports, com.intellij.psi.PsiElement, com.intellij.openapi.project.Project) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.EvaluateException'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil com.intellij.debugger.engine.evaluation.EvaluateException createEvaluateException(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil com.intellij.debugger.engine.evaluation.EvaluateException createEvaluateException(java.lang.String, java.lang.Throwable) 0'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil com.intellij.debugger.engine.evaluation.EvaluateException createEvaluateException(java.lang.String, java.lang.Throwable) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil com.intellij.debugger.engine.evaluation.EvaluateException createEvaluateException(java.lang.Throwable)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.EvaluationContextImpl'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.TextWithImports'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.TextWithImports com.intellij.debugger.engine.evaluation.CodeFragmentKind getKind()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.TextWithImports java.lang.String getText()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.TextWithImports java.lang.String toExternalForm()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.TextWithImports void setText(java.lang.String) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,29 @@
<root>
<item
name='com.intellij.debugger.engine.evaluation.expression.Evaluator java.lang.Object evaluate(com.intellij.debugger.engine.evaluation.EvaluationContextImpl) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilder com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator build(com.intellij.psi.PsiElement, com.intellij.debugger.SourcePosition)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilder com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator build(com.intellij.psi.PsiElement, com.intellij.debugger.SourcePosition) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilder com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator build(com.intellij.psi.PsiElement, com.intellij.debugger.SourcePosition) 1'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilderImpl com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator build(com.intellij.psi.PsiElement, com.intellij.debugger.SourcePosition) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilderImpl.Builder com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator buildElement(com.intellij.psi.PsiElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.debugger.engine.jdi.StackFrameProxy com.sun.jdi.StackFrame getStackFrame()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,13 @@
<root>
<item
name='com.intellij.debugger.impl.EditorTextProvider com.intellij.debugger.engine.evaluation.TextWithImports getEditorText(com.intellij.psi.PsiElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.impl.EditorTextProvider com.intellij.openapi.util.Pair&lt;com.intellij.psi.PsiElement,com.intellij.openapi.util.TextRange&gt; findExpression(com.intellij.psi.PsiElement, boolean) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.debugger.impl.OutputChecker'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.debugger.jdi.VirtualMachineProxyImpl com.sun.jdi.VirtualMachine getVirtualMachine()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.debugger.settings.DebuggerSettings com.intellij.ui.classFilter.ClassFilter[] getSteppingFilters()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,6 @@
<root>
<item
name='com.intellij.debugger.ui.impl.watch.NodeManagerImpl java.util.Comparator&lt;com.intellij.debugger.ui.tree.DebuggerTreeNode&gt; getNodeComparator()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,10 @@
<root>
<item
name='com.intellij.debugger.ui.tree.NodeManager com.intellij.debugger.ui.tree.DebuggerTreeNode createMessageNode(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.ui.tree.NodeManager com.intellij.debugger.ui.tree.DebuggerTreeNode createNode(com.intellij.debugger.ui.tree.NodeDescriptor, com.intellij.debugger.engine.evaluation.EvaluationContext)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,10 @@
<root>
<item
name='com.intellij.debugger.ui.tree.render.ChildrenRenderer void buildChildren(com.sun.jdi.Value, com.intellij.debugger.ui.tree.render.ChildrenBuilder, com.intellij.debugger.engine.evaluation.EvaluationContext) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.ui.tree.render.ChildrenRenderer void buildChildren(com.sun.jdi.Value, com.intellij.debugger.ui.tree.render.ChildrenBuilder, com.intellij.debugger.engine.evaluation.EvaluationContext) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.execution.ExecutionTestCase java.lang.String getTestAppPath()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.execution.configurations.SimpleJavaParameters com.intellij.util.PathsList getClassPath()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -1,4 +1,10 @@
<root>
<item name='com.intellij.formatting.Spacing com.intellij.formatting.Spacing createKeepingFirstColumnSpacing(int, int, boolean, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.formatting.Spacing com.intellij.formatting.Spacing createSpacing(int, int, int, boolean, int)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.formatting.SpacingBuilder com.intellij.formatting.SpacingBuilder append(com.intellij.formatting.SpacingBuilder)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.ide.DataManager com.intellij.ide.DataManager getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,11 @@
<root>
<item name='com.intellij.ide.util.FileStructurePopup com.intellij.ui.treeStructure.Tree getTree()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.ide.util.FileStructurePopup com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder getTreeBuilder()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.ide.util.PsiElementListCellRenderer java.lang.String getElementText(T) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,8 @@
<root>
<item
name='com.intellij.ide.util.treeView.smartTree.NodeProvider java.util.Collection&lt;T&gt; provideNodes(com.intellij.ide.util.treeView.smartTree.TreeElement)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun provideNodes(node: TreeElement): Collection&lt;T&gt;&quot;"/>
</annotation>
</item>
</root>

View File

@@ -1,5 +1,12 @@
<root>
<item name='com.intellij.lang.ASTNode com.intellij.lang.ASTNode[] getChildren(com.intellij.psi.tree.TokenSet)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.lang.ASTNode java.lang.String getText()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.lang.SmartEnterProcessorWithFixers.FixEnterProcessor boolean doEnter(com.intellij.psi.PsiElement, com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, boolean) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,10 @@
<root>
<item
name='com.intellij.lang.cacheBuilder.WordsScanner void processWords(java.lang.CharSequence, com.intellij.util.Processor&lt;com.intellij.lang.cacheBuilder.WordOccurrence&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.lang.cacheBuilder.WordsScanner void processWords(java.lang.CharSequence, com.intellij.util.Processor&lt;com.intellij.lang.cacheBuilder.WordOccurrence&gt;) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.openapi.command.CommandProcessor com.intellij.openapi.command.CommandProcessor getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -2,4 +2,7 @@
<item name='com.intellij.openapi.diagnostic.Logger com.intellij.openapi.diagnostic.Logger getInstance(java.lang.Class)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.diagnostic.Logger com.intellij.openapi.diagnostic.Logger getInstance(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.openapi.editor.colors.EditorColorsManager com.intellij.openapi.editor.colors.EditorColorsManager getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,9 @@
<root>
<item
name='com.intellij.openapi.editor.event.DocumentListener void beforeDocumentChange(com.intellij.openapi.editor.event.DocumentEvent) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.editor.event.DocumentListener void documentChanged(com.intellij.openapi.editor.event.DocumentEvent) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,6 @@
<root>
<item
name='com.intellij.openapi.module.ModuleManager com.intellij.openapi.module.ModuleManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,33 @@
<root>
<item
name='com.intellij.openapi.roots.FileIndexFacade com.intellij.openapi.roots.FileIndexFacade getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.openapi.roots.ModuleRootManager com.intellij.openapi.roots.ModuleRootManager getInstance(com.intellij.openapi.module.Module)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.roots.ModuleSourceOrderEntry com.intellij.openapi.roots.ModuleRootModel getRootModel()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.roots.OrderEnumerator com.intellij.openapi.roots.OrderEnumerator compileOnly()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.roots.OrderEnumerator com.intellij.openapi.roots.OrderEnumerator exportedOnly()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.roots.OrderEnumerator com.intellij.openapi.roots.OrderEnumerator productionOnly()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.roots.OrderEnumerator com.intellij.openapi.roots.OrderEnumerator recursively()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.openapi.roots.ProjectFileIndex.SERVICE com.intellij.openapi.roots.ProjectFileIndex getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.openapi.roots.ProjectRootModificationTracker com.intellij.openapi.roots.ProjectRootModificationTracker getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -3,7 +3,22 @@
name='com.intellij.openapi.util.Conditions com.intellij.openapi.util.Condition&lt;T&gt; or(com.intellij.openapi.util.Condition&lt;T&gt;, com.intellij.openapi.util.Condition&lt;T&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.util.Key com.intellij.openapi.util.Key&lt;T&gt; create(java.lang.String)'>
<item name='com.intellij.openapi.util.Key T get(com.intellij.openapi.util.UserDataHolder, T)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun get(holder: UserDataHolder?, defaultValue: T): T&quot;"/>
</annotation>
</item>
<item name='com.intellij.openapi.util.Key com.intellij.openapi.util.Key&lt;T&gt; create(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.util.Pair A getFirst()'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun getFirst(): A&quot;"/>
</annotation>
</item>
<item name='com.intellij.openapi.util.Pair B getSecond()'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun getSecond(): B&quot;"/>
</annotation>
</item>
</root>

View File

@@ -0,0 +1,12 @@
<root>
<item name='com.intellij.openapi.vfs.LocalFileSystem com.intellij.openapi.vfs.LocalFileSystem getInstance()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.vfs.VfsUtil java.lang.String getUrlForLibraryRoot(java.io.File)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.openapi.vfs.VirtualFile com.intellij.openapi.vfs.VirtualFile createChildDirectory(java.lang.Object, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -1,6 +1,116 @@
<root>
<item name='com.intellij.patterns.ObjectPattern Self and(com.intellij.patterns.ElementPattern)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PlatformPatterns com.intellij.patterns.IElementTypePattern elementType()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PlatformPatterns com.intellij.patterns.PsiElementPattern.Capture&lt;T&gt; psiElement(java.lang.Class&lt;T&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PlatformPatterns com.intellij.patterns.PsiElementPattern.Capture&lt;com.intellij.psi.PsiElement&gt; psiElement()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PlatformPatterns com.intellij.patterns.PsiElementPattern.Capture&lt;com.intellij.psi.PsiElement&gt; psiElement(com.intellij.psi.tree.IElementType)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self afterLeaf(java.lang.String...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PsiElementPattern Self afterLeafSkipping(com.intellij.patterns.ElementPattern, com.intellij.patterns.ElementPattern)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PsiElementPattern Self withElementType(com.intellij.patterns.ElementPattern&lt;com.intellij.psi.tree.IElementType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withElementType(com.intellij.psi.tree.IElementType)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withName(com.intellij.patterns.ElementPattern&lt;java.lang.String&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withName(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withName(java.lang.String...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withText(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiElementPattern Self withoutText(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.PsiJavaPatterns com.intellij.patterns.IElementTypePattern elementType()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.PsiJavaPatterns com.intellij.patterns.PsiJavaElementPattern.Capture&lt;com.intellij.psi.PsiElement&gt; psiElement()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self afterSibling(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self afterSiblingSkipping(com.intellij.patterns.ElementPattern, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self inside(boolean, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self inside(boolean, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self inside(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self inside(java.lang.Class&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self insideSequence(boolean, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self isFirstAcceptedChild(com.intellij.patterns.ElementPattern&lt;? super ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self withChild(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self withChildren(com.intellij.patterns.ElementPattern&lt;java.util.Collection&lt;ParentType&gt;&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self withFirstChild(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self withLastChild(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self withParent(com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self withParent(java.lang.Class&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self withParents(java.lang.Class&lt;? extends ParentType&gt;...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.patterns.TreeElementPattern Self withSuperParent(int, com.intellij.patterns.ElementPattern&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.patterns.TreeElementPattern Self withSuperParent(int, java.lang.Class&lt;? extends ParentType&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,15 @@
<root>
<item
name='com.intellij.platform.ProjectTemplatesFactory com.intellij.platform.ProjectTemplate[] createTemplates(java.lang.String, com.intellij.ide.util.projectWizard.WizardContext)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun createTemplates(group: String, context: WizardContext?): Array&lt;out ProjectTemplate&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.platform.ProjectTemplatesFactory com.intellij.platform.ProjectTemplate[] createTemplates(java.lang.String, com.intellij.ide.util.projectWizard.WizardContext) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.platform.ProjectTemplatesFactory javax.swing.Icon getGroupIcon(java.lang.String) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -1,7 +1,245 @@
<root>
<item name='com.intellij.psi.ImplicitVariable'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaCodeFragment'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaCodeFragment java.lang.String importsToString()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitAnnotation(com.intellij.psi.PsiAnnotation) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitAnonymousClass(com.intellij.psi.PsiAnonymousClass) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitArrayAccessExpression(com.intellij.psi.PsiArrayAccessExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitArrayInitializerExpression(com.intellij.psi.PsiArrayInitializerExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitAssertStatement(com.intellij.psi.PsiAssertStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitAssignmentExpression(com.intellij.psi.PsiAssignmentExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitBinaryExpression(com.intellij.psi.PsiBinaryExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitBlockStatement(com.intellij.psi.PsiBlockStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitBreakStatement(com.intellij.psi.PsiBreakStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitCatchSection(com.intellij.psi.PsiCatchSection) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitClass(com.intellij.psi.PsiClass) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitClassInitializer(com.intellij.psi.PsiClassInitializer) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitClassObjectAccessExpression(com.intellij.psi.PsiClassObjectAccessExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitCodeBlock(com.intellij.psi.PsiCodeBlock) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitConditionalExpression(com.intellij.psi.PsiConditionalExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitContinueStatement(com.intellij.psi.PsiContinueStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitDeclarationStatement(com.intellij.psi.PsiDeclarationStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitDoWhileStatement(com.intellij.psi.PsiDoWhileStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitDocComment(com.intellij.psi.javadoc.PsiDocComment) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitDocTag(com.intellij.psi.javadoc.PsiDocTag) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitDocToken(com.intellij.psi.javadoc.PsiDocToken) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitEmptyStatement(com.intellij.psi.PsiEmptyStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitEnumConstant(com.intellij.psi.PsiEnumConstant) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitExpressionList(com.intellij.psi.PsiExpressionList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitExpressionListStatement(com.intellij.psi.PsiExpressionListStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitExpressionStatement(com.intellij.psi.PsiExpressionStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitField(com.intellij.psi.PsiField) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitForStatement(com.intellij.psi.PsiForStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitForeachStatement(com.intellij.psi.PsiForeachStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitIfStatement(com.intellij.psi.PsiIfStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitImplicitVariable(com.intellij.psi.ImplicitVariable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.JavaElementVisitor void visitImportStaticReferenceElement(com.intellij.psi.PsiImportStaticReferenceElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitInstanceOfExpression(com.intellij.psi.PsiInstanceOfExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitJavaFile(com.intellij.psi.PsiJavaFile) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitJavaToken(com.intellij.psi.PsiJavaToken) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitKeyword(com.intellij.psi.PsiKeyword) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitLabeledStatement(com.intellij.psi.PsiLabeledStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitLiteralExpression(com.intellij.psi.PsiLiteralExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitLocalVariable(com.intellij.psi.PsiLocalVariable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitMethod(com.intellij.psi.PsiMethod) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitMethodCallExpression(com.intellij.psi.PsiMethodCallExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitMethodReferenceExpression(com.intellij.psi.PsiMethodReferenceExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitNewExpression(com.intellij.psi.PsiNewExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitPackage(com.intellij.psi.PsiPackage) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitParameter(com.intellij.psi.PsiParameter) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitParameterList(com.intellij.psi.PsiParameterList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitParenthesizedExpression(com.intellij.psi.PsiParenthesizedExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitPolyadicExpression(com.intellij.psi.PsiPolyadicExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitPostfixExpression(com.intellij.psi.PsiPostfixExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitPrefixExpression(com.intellij.psi.PsiPrefixExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitReferenceElement(com.intellij.psi.PsiJavaCodeReferenceElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitReferenceExpression(com.intellij.psi.PsiReferenceExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitReferenceList(com.intellij.psi.PsiReferenceList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitReferenceParameterList(com.intellij.psi.PsiReferenceParameterList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitResourceList(com.intellij.psi.PsiResourceList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitResourceVariable(com.intellij.psi.PsiResourceVariable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitReturnStatement(com.intellij.psi.PsiReturnStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitStatement(com.intellij.psi.PsiStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitSuperExpression(com.intellij.psi.PsiSuperExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitSwitchLabelStatement(com.intellij.psi.PsiSwitchLabelStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitSwitchStatement(com.intellij.psi.PsiSwitchStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitSynchronizedStatement(com.intellij.psi.PsiSynchronizedStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitThisExpression(com.intellij.psi.PsiThisExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitThrowStatement(com.intellij.psi.PsiThrowStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitTryStatement(com.intellij.psi.PsiTryStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitTypeCastExpression(com.intellij.psi.PsiTypeCastExpression) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitTypeElement(com.intellij.psi.PsiTypeElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitTypeParameter(com.intellij.psi.PsiTypeParameter) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitTypeParameterList(com.intellij.psi.PsiTypeParameterList) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitVariable(com.intellij.psi.PsiVariable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaElementVisitor void visitWhileStatement(com.intellij.psi.PsiWhileStatement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.JavaPsiFacade com.intellij.psi.JavaPsiFacade getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiAnnotationMethod'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiAnnotationParameterList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiArrayInitializerMemberValue'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiCallExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiDoWhileStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiDocumentManager com.intellij.psi.PsiDocumentManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
@@ -11,11 +249,228 @@
<item name='com.intellij.psi.PsiElement com.intellij.psi.PsiElement replace(com.intellij.psi.PsiElement)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.PsiElementFactory.SERVICE com.intellij.psi.PsiElementFactory getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitBinaryFile(com.intellij.psi.PsiBinaryFile) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitComment(com.intellij.psi.PsiComment) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitDirectory(com.intellij.psi.PsiDirectory) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitElement(com.intellij.psi.PsiElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitErrorElement(com.intellij.psi.PsiErrorElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitFile(com.intellij.psi.PsiFile) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitOuterLanguageElement(com.intellij.psi.templateLanguages.OuterLanguageElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitPlainText(com.intellij.psi.PsiPlainText) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitPlainTextFile(com.intellij.psi.PsiPlainTextFile) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiElementVisitor void visitWhiteSpace(com.intellij.psi.PsiWhiteSpace) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiEmptyStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiEnumConstantInitializer'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiExpressionList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiExpressionListStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiExpressionListStatement com.intellij.psi.PsiExpressionList getExpressionList()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiExpressionStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiFileFactory com.intellij.psi.PsiFileFactory getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiFileFactory com.intellij.psi.PsiFileFactory getInstance(com.intellij.openapi.project.Project) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiForStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiForeachStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiIdentifier'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiIfStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiImportList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiImportStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiImportStaticReferenceElement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiImportStaticStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiInstanceOfExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiJavaCodeReferenceElement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiJavaToken com.intellij.psi.tree.IElementType getTokenType()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiLabeledStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiLambdaExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiLiteralExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiLocalVariable'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiMethodCallExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiMethodReferenceExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiModifierList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiNameValuePair'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiNewExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiPackageStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiParameterList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiParenthesizedExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiPolyadicExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiPostfixExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiPrefixExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiReference com.intellij.psi.PsiElement getElement()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiReferenceExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiReferenceParameterList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.PsiReferenceService java.util.List&lt;com.intellij.psi.PsiReference&gt; getReferences(com.intellij.psi.PsiElement, com.intellij.psi.PsiReferenceService.Hints)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiResourceVariable'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiSuperExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiSwitchLabelStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiSwitchStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiSynchronizedStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiThisExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiThrowStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeCastExpression'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeParameter'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeParameterList'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitArrayType(com.intellij.psi.PsiArrayType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitCapturedWildcardType(com.intellij.psi.PsiCapturedWildcardType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitClassType(com.intellij.psi.PsiClassType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitDiamondType(com.intellij.psi.PsiDiamondType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitDisjunctionType(com.intellij.psi.PsiDisjunctionType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitEllipsisType(com.intellij.psi.PsiEllipsisType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitIntersectionType(com.intellij.psi.PsiIntersectionType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitLambdaExpressionType(com.intellij.psi.PsiLambdaExpressionType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitMethodReferenceType(com.intellij.psi.PsiMethodReferenceType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitPrimitiveType(com.intellij.psi.PsiPrimitiveType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitType(com.intellij.psi.PsiType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiTypeVisitor A visitWildcardType(com.intellij.psi.PsiWildcardType) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.PsiWhileStatement'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.psi.SmartPointerManager com.intellij.psi.SmartPointerManager getInstance(com.intellij.openapi.project.Project)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

Some files were not shown because too many files have changed in this diff Show More