Compare commits

...

8130 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
Mikhael Bogdanov
769b07fbc8 Method && Closure Inline 2014-03-03 11:45:42 +04:00
Alexander Udalov
406855467c Revert temporary type adjustments on builtins
These were made during migration of builtins from package "jet" to "kotlin"
2014-03-02 21:38:57 +04:00
Alexander Udalov
afc3d33576 Revert "Suppress "nothing to override" on equals, hashCode, toString"
This reverts commit 640dac834f.
2014-03-02 21:38:25 +04:00
Alexander Udalov
bd80e325b3 Revert "Add a temporary hack for migration "jet" -> "kotlin""
This reverts commit fb12c56d1a.
2014-03-02 21:37:28 +04:00
Alexander Udalov
e2f1e8a9c3 Revert "Rename "import jet.*" to "import kotlin.*" on ant dist"
This reverts commit 4a5823c5bb.
2014-03-02 21:35:01 +04:00
Alexander Udalov
d04ee09636 Rename "import jet" to "import kotlin" in Java sources 2014-03-02 21:33:22 +04:00
Alexander Udalov
6eae950812 Increase ABI version after renaming "jet"->"kotlin" 2014-03-02 19:55:29 +04:00
Alexander Udalov
cfe3619db7 Introduce KotlinSyntheticClass annotation
Will be used instead of KotlinPackagePart, KotlinTraitImpl and other
hypothetical annotations we were planning to write on our synthesized classes
(lambdas, local functions, etc.)
2014-03-02 19:55:29 +04:00
Alexander Udalov
8762a02844 Add/update copyrights in built-ins sources 2014-03-02 19:55:29 +04:00
Alexander Udalov
787b4753c7 Copy KotlinSignature to package "kotlin.jvm"
Support both KotlinSignature classes in the compiler and in the IDEA plugin.
The old one will be deprecated later and dropped eventually
2014-03-02 19:55:28 +04:00
Alexander Udalov
33a9f3abd1 Move all annotation FQ names to JvmAnnotationNames
Delete reflected usages of annotation classes (JetValueParameter.class,
KotlinSignature.class, etc.). It's wrong: this is a dependency on the old
runtime, whereas the compiler should work with the new one
2014-03-02 19:55:28 +04:00
Alexander Udalov
a6a31878a7 Delete Annotations.kt, move "annotationType" to JVM stdlib 2014-03-02 19:55:28 +04:00
Alexander Udalov
f63cbcfd6a Delete wrong toString() extension, fix StringJVMTest 2014-03-02 19:55:28 +04:00
Alexander Udalov
d5e2c4ad4c Generate built-in sources of arrays
Extract Array class into a separate file, move arrayOfNulls to Library.kt, fix
formatting and generate Arrays.kt
2014-03-02 19:55:27 +04:00
Alexander Udalov
6e23af2ba3 Split Library.kt into several files
For better readbility and discoverability. Also rename String.compareTo
parameter to "other", since that is the name of parameter of other compareTo's
2014-03-02 19:55:27 +04:00
Alexander Udalov
154f2c0a13 JS: update mangled names after moving built-ins from "jet" to "kotlin" 2014-03-02 19:55:27 +04:00
Alexander Udalov
f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Alexander Udalov
f2b4c7fa3e Fix LoadBuiltinsTest after renaming "jet" to "kotlin" 2014-03-02 19:55:25 +04:00
Alexander Udalov
b3a9721571 Store receiver parameter in JVM intrinsics map
To differentiate between "String?.plus" extension in builtins and
"Iterable<*>.plus" extension in stdlib (they have the same owner, name and
value parameter count)
2014-03-02 19:55:25 +04:00
Alexander Udalov
9bf51f630d Refactor JVM IntrinsicMethods
Don't do unnecessary wraps to Name.identifier
2014-03-02 19:55:25 +04:00
Alexander Udalov
6dca53347f Delete obsolete JVM intrinsics for ranges/progressions
All Range and Progression classes are now fully written in Kotlin and thus do
not need any intrinsics to operate
2014-03-02 19:55:25 +04:00
Alexander Udalov
11cc7f46f4 Remove "Iterator.iterator()" intrinsic, add stdlib function 2014-03-02 19:55:24 +04:00
Alexander Udalov
4a5823c5bb Rename "import jet.*" to "import kotlin.*" on ant dist
Yet another hack for moving built-ins from package "jet" to "kotlin"
2014-03-02 19:55:24 +04:00
Alexander Udalov
d9029917eb Move built-ins from package "jet" to "kotlin"
#KT-2896 Fixed
2014-03-02 19:55:20 +04:00
Alexander Udalov
6b0fce8cd5 Unsorted replacements "jet" -> "kotlin"
#KT-2896 Fixed
2014-03-02 19:55:15 +04:00
Alexander Udalov
ac71911720 Get rid of "jet" in comments, assertions, READMEs, etc.
Replace with "kotlin"

 #KT-2896 Fixed
2014-03-02 19:55:11 +04:00
Alexander Udalov
410b7985e1 Replace "jet" with KotlinBuiltIns.FQ_NAME
#KT-2896 Fixed
2014-03-02 19:54:59 +04:00
Alexander Udalov
0490d4c989 Rewrite ProgressionUtil to Kotlin, move to "kotlin.internal"
Use reflection in ProgressionUtilTest instead of calling methods on the class
from the class path, because in the latter case we were just testing
ProgressionUtil from bootstrap runtime (which, presumably, always works
correctly since it's a bootstrap distribution)

With this change, compilable built-ins (under core/builtins/src) are fully
written in Kotlin
2014-03-02 19:54:59 +04:00
Alexander Udalov
4afdac3efa Move and rename exception classes in module 'runtime.jvm' 2014-03-02 19:54:59 +04:00
Alexander Udalov
aef0fabd53 Move jet.Kotlin* annotations to package "kotlin.jvm.internal"
Also rename poorly named KotlinPackageFragment -> KotlinPackagePart
2014-03-02 19:54:58 +04:00
Alexander Udalov
0da92e22a2 Move jet.JetObject -> kotlin.jvm.internal.KObject
Don't use JetObject as a marker class in KotlinRuntimeLibraryUtil anymore,
since there are other classes for this purpose (KotlinPackage, Unit)
2014-03-02 19:54:58 +04:00
Alexander Udalov
d8066c8d56 Delete unused DefaultJetObject 2014-03-02 19:54:58 +04:00
Alexander Udalov
19acc8c6c4 Move jet.runtime.ArrayIterator to package "kotlin.jvm.internal" 2014-03-02 19:54:57 +04:00
Alexander Udalov
9d9d73268a Move and rename jet.runtime.SharedVar -> kotlin.jvm.internal.Ref 2014-03-02 19:54:57 +04:00
Alexander Udalov
3b1a043c13 Move JVM Intrinsics class to package "kotlin.jvm.internal"
Delete unused intrinsics, reformat code, rename some declarations for better
readability
2014-03-02 19:54:57 +04:00
Alexander Udalov
22ef81b0f8 Move CollectionToArray from package "jet" to "kotlin" 2014-03-02 19:54:56 +04:00
Alexander Udalov
5d6d4406cb Move FunctionImpl classes from package "jet" to "kotlin" 2014-03-02 19:54:56 +04:00
Alexander Udalov
18a50fd8e7 Rewrite JetPsiChecker test to fixture 2014-03-02 19:54:56 +04:00
Alexander Udalov
6acce0f930 Move jet.runtime.Intrinsic to kotlin.jvm.internal.Intrinsic 2014-03-02 19:54:56 +04:00
Alexander Udalov
b68e47f705 Move JVM-specific annotations out of built-ins
Move 'volatile' and 'synchronized' to package 'kotlin' in stdlib. Also delete
'atomic', since its support was never implemented
2014-03-02 19:54:55 +04:00
Alexander Udalov
b2d074c5cc Quickfix to add 'override' to equals, hashCode, toString in project
To help users migrate to the newest Kotlin version in two clicks
2014-03-02 19:54:55 +04:00
Alexander Udalov
774e5f0535 Sort out JVM intrinsics for equals, hashCode, toString 2014-03-02 19:54:55 +04:00
Alexander Udalov
3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Zalim Bashorov
6127d53eac JS backend: fixed an equals behavior after it became a member of jet.Any. 2014-03-02 19:54:48 +04:00
Alexander Udalov
b8ec50f38c Handle fake overrides of members of Any in BuiltInsReferenceResolver 2014-03-02 19:54:48 +04:00
Alexander Udalov
83d2436fb9 Don't produce trailing spaces in GenerateOperationsMap 2014-03-02 19:54:48 +04:00
Alexander Udalov
c3e5b4bed2 Fix function receiver type in GenerateOperationsMap
It was wrong for fake overrides of equals and hashCode. Also operations map was
regenerated after removal of Hashable and moving its members to Any
2014-03-02 19:54:48 +04:00
Alexander Udalov
ec30d52978 Delete Hashable, pull up its members to Any
Extensions on nullable types remain in Library.kt

 #KT-1741 Obsolete
 #KT-2805 Obsolete
 #KT-1365 Fixed
 #KT-4517 In Progress
2014-03-02 19:54:08 +04:00
Alexander Udalov
9efdd136ba Delete jet.runtime.Ranges intrinsics
All these "rangeTo" methods were pretty small and could be generated just right
into "rangeTo" function calls
2014-02-28 21:48:32 +04:00
Alexander Udalov
9537b68724 Load 'equals' parameter from Java code with the name 'other'
This fixes a lot of warnings on mixed Kotlin+Java code about different names
for the same parameter because we always loaded 'equals' parameter with the
name 'p0', whereas in Kotlin we usually name it 'other'
2014-02-28 21:48:29 +04:00
Alexander Udalov
004c289a0b Use kotlin.modules.* instead of jet.modules.* 2014-02-28 21:48:25 +04:00
Nikolay Krasko
c34e5f3f39 Change since to 134.1342 because of API changes and extend until 2014-02-28 18:23:31 +04:00
Andrey Breslav
53d5cc168b Merge pull request #396 from JetBrains/rr/ik-test-fix
test fix
2014-02-28 16:51:06 +03: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
Ilya Klyuchnikov
68da8bcf6b test fix 2014-02-28 16:24:19 +04:00
Nikolay Krasko
3228630ec5 Update to Idea EAP 134.1342 2014-02-28 15:48:08 +04:00
Andrey Breslav
b0e62315fd Merge pull request #394 from ilya-klyuchnikov/spelling
typo fixed: invokation -> invocation
2014-02-28 14:13:15 +03:00
Ilya Klyuchnikov
0be6e57efe typo fixed: invokation -> invocation 2014-02-28 14:25:10 +04:00
Alexey Sedunov
6755abefb7 Reuse getQualifiedElement() function 2014-02-27 17:00:43 +04:00
Alexey Sedunov
b9be11263f Remove unused method 2014-02-27 17:00:41 +04:00
Alexey Sedunov
0520306b94 Add tests for Java "Move File" refactoring 2014-02-27 17:00:39 +04:00
Alexey Sedunov
33cbc099ab Add tests for Java "Move Inner Class/To Inner Class" refactoring 2014-02-27 17:00:37 +04:00
Alexey Sedunov
7d3b21130a Add tests for Java "Move class/package" refactoring
#KT-3626 Fixed
2014-02-27 17:00:35 +04:00
Alexey Sedunov
5ba49fbada Avoid conflicts when moving members wiith package-local visibility
Add tests for Java "Move members" refactoring
 #KT-4459 Fixed
2014-02-27 17:00:33 +04:00
Alexey Sedunov
d7aa8e7fc8 Testing framework for Move refactoring 2014-02-27 17:00:31 +04:00
Alexey Sedunov
d439de4330 Implement rebinding of simple name references 2014-02-27 17:00:29 +04:00
Alexey Sedunov
86619f5f28 Shorten references: Group elements by file before applying transformation 2014-02-27 17:00:27 +04:00
Alexey Sedunov
d2e6aa2aa5 Allow to shorten class member references 2014-02-27 17:00:24 +04:00
Andrey Breslav
f244cb05eb Expose lazy scopes to enable calling forceResolveAllContents() 2014-02-27 12:22:19 +04:00
Andrey Breslav
ac8b12baf1 Do not weakly retain caches whose computation has side-effects
Lazy scopes write REFERENCE_TARGET to trace as a side-effect, when weak caches are cleared, resolution may be repeated, and a rewrite error happens
2014-02-27 12:22:19 +04:00
Alexander Udalov
4b50262ed6 Regenerate tests 2014-02-26 21:23:42 +04:00
Alexander Udalov
8425f2e668 Copy type parameters for JVM function accessors
Otherwise generic signature wasn't correctly written to accessors, resulting in
classfiles not being valid and javac failing to compile Java sources against
them
2014-02-26 21:22:57 +04:00
Andrey Breslav
fbdba0f48d Test data fixed 2014-02-26 20:48:45 +04:00
Andrey Breslav
a7135fee06 Report CLASS_OBJECT_NOT_ALLOWED for local classes 2014-02-26 19:42:05 +04:00
Svetlana Isakova
71bbc62414 Merge pull request #388 from dezgeg/fix-jump-across-function-boundary
KT-4334: Disallow break or continue across a function boundary
2014-02-26 13:28:36 +03:00
Tuomas Tynkkynen
3e451c5811 Disallow break or continue across a function boundary
Code containing breaks or continues that attempt to jump across a
function boundary weren't detected during analysis but would crash
the compiler during code generation. Add diagnostics for these kinds
of errors.

Example:

fun f() {
    while (true) {
        fun inner() {
            continue
        }
    }
}

 #KT-4334 Fixed
2014-02-26 00:14:42 +02:00
Andrey Breslav
7c8910bef6 Wrokaround for import clash 2014-02-25 15:12:20 +04:00
Andrey Breslav
da83154454 Nullability fixed for a JS DOM stub 2014-02-25 15:12:20 +04:00
Nikolay Krasko
1c02002e02 KT-4610 Can't run a Kotlin class against class path of a different module
#KT-4610 Fixed
2014-02-25 14:34:39 +04:00
Tuomas Tynkkynen
7a2321460d Prevent expression selector from selecting just a label
Previously, extract variable could act on e.g. 'break@outerLoop' and
extract the label, leading into nonsensical 'val x = @outerLoop'.
Prevent JetRefactoringUtil.selectExpression from returning label
expressions to fix this.

 #KT-4515 Fixed
2014-02-24 22:40:14 +04:00
Tuomas Tynkkynen
998d2c5ec8 Add tests for JetRefactoringUtil.selectExpression
Add tests for JetRefactoringUtil.selectExpression, which is invoked by
e.g. extract variable when some text is selected.

Test cases under idea/testData/expressionSelection/ should contain
Kotlin files with the usual <selection> tags, with the expected result
of selectExpression in the last comment of the file.
2014-02-24 22:40:05 +04:00
Alexander Udalov
4968afebf8 Don't generate bodies of built-in stub methods into interfaces 2014-02-24 21:44:42 +04:00
Alexander Udalov
33ffd3dfca Add explicit Unit type to declarations of built-ins 2014-02-24 21:44:10 +04:00
Tal Man
89779b5013 2 Intentions for string templates:
the first removes curly braces from a simple name variable, ${x} -> $x
and the second does the opposite $x -> ${x}
2014-02-24 21:20:40 +04:00
Zalim Bashorov
559ea28a6b Dropped extra caret markers and introduced separate marker for referencing from context. 2014-02-24 20:27:20 +04:00
Zalim Bashorov
75e10322d0 Fixed printing usage type in tests and fixed "find usages" tests. 2014-02-24 20:27:19 +04:00
Zalim Bashorov
fc42f3e3ab Remove unnecessary outdated code from JavaPsiFacadeKotlinHacks. 2014-02-24 20:27:19 +04:00
Zalim Bashorov
033b8289d7 Get JavaFileManager as service.
Fix tests after update to IDEA 134.1160 EAP.
2014-02-24 20:27:19 +04:00
Zalim Bashorov
62afa2c742 Update to IDEA 134.1160 EAP 2014-02-24 20:27:19 +04:00
Andrey Breslav
09ee7c5f05 Merge pull request #385 from Stebalien/fix-jetkeywordtoken-docstrings
Fix JetKeywordToken docstrings
2014-02-24 17:47:59 +03:00
Andrey Breslav
b999174432 Do not pass BindingTrace into TopDownAnalyzer 2014-02-24 17:27:06 +04:00
Andrey Breslav
c05d4a4837 Unneeded wrapping removed 2014-02-24 17:27:06 +04:00
Andrey Breslav
23527c927b Unused parameter removed 2014-02-24 17:27:01 +04:00
Andrey Breslav
50a160afb1 Do not pass TopDownAnalysisParameters to injectors 2014-02-24 17:26:04 +04:00
Andrey Breslav
c4dbfbf1a9 Do not inject TopDownAnalysisParameters into ScriptHeaderResolver 2014-02-24 17:26:03 +04:00
Andrey Breslav
153d8c2a52 Do not inject TopDownAnalysisParameters into OverrideResolver 2014-02-24 17:26:02 +04:00
Andrey Breslav
d4a6374d76 Do not inject TopDownAnalysisParameters into ControlFlowAnalyzer 2014-02-24 17:26:02 +04:00
Andrey Breslav
42c7c54ea0 Do not inject TopDownAnalysisParameters into BodyResolver 2014-02-24 17:26:02 +04:00
Andrey Breslav
442658396d BodiesResolveContext exposes TopDownAnalysisParameters 2014-02-24 17:26:01 +04:00
Andrey Breslav
fb0713d1c2 Do not inject TopDownAnalysisParameters into TopDownAnalyzer 2014-02-24 16:40:05 +04:00
Andrey Breslav
4e0df6fd80 Do not create TopDownAnalysisContext in injectors 2014-02-24 15:52:57 +04:00
Andrey Breslav
f5d2e1f7aa Do not inject TopDownAnalysisContext into TypeHierarchyResolver 2014-02-24 15:52:56 +04:00
Andrey Breslav
8b88cc8aec Do not inject TopDownAnalysisContext into OverrideResolver 2014-02-24 15:52:55 +04:00
Andrey Breslav
1abaa9ff20 Do not inject TopDownAnalysisContext into OverloadResolver 2014-02-24 15:52:55 +04:00
Andrey Breslav
25e533a42d Do not inject TopDownAnalysisContext into ScriptHeaderResolver 2014-02-24 15:52:55 +04:00
Andrey Breslav
7e43f2e61e Do not inject TopDownAnalysisContext into ImportsResolver 2014-02-24 15:52:54 +04:00
Andrey Breslav
72a62626df Do not inject TopDownAnalysisContext into DeclarationResolver 2014-02-24 15:52:54 +04:00
Andrey Breslav
e3744cff7c Do not inject TopDownAnalysisContext into ScriptBodyResolver 2014-02-24 15:52:54 +04:00
Andrey Breslav
5976a91998 Do not inject TopDownAnalysisContext into TopDownAnalyzer 2014-02-24 15:52:53 +04:00
Andrey Breslav
f32d8b1d06 Do not inject BodiesResolveContext into BodyResolver 2014-02-24 15:52:53 +04:00
Andrey Breslav
5b67cf67eb Usages of expressionTypingServices from ExpressionTypingContext are replaced with injection
The basic principle behind this change is that no context object should store components.
Components should be injected instead, and contexts only carry parameters around.

Particular changes:
- resolveCallWithGivenName() and resolveBinaryCall() moved to CallResolver
- ForLoopConventionsChecker introduced to confine checking conventions for Iterator and Iterable
- ExpressionTypingComponents introduced to deliver necessary components to ExpressionTypingVisitor's
- Some static methods became non-static to get access to injected components
- ExpressionTypingUtils and ControlStructureTypingUtils became components (got state injected) to avoid passing parameters around
2014-02-24 15:52:52 +04:00
Andrey Breslav
7b89af320c scopeForVisibility replaced with containingDeclaration which is enough 2014-02-24 15:52:52 +04:00
Andrey Breslav
9c3d13940e Typo fixed in the method name 2014-02-24 15:52:52 +04:00
Andrey Breslav
db73481fac Minor: @NotNull added 2014-02-24 15:52:51 +04:00
Steven Allen
9f901d87fe Fix JetKeywordToken docstrings
They were flipped.
2014-02-23 01:37:46 -05:00
Alexander Udalov
be4a8764ff Delete unneeded classpath in 'ant builtins' target 2014-02-22 02:43:35 +04:00
Nikolay Krasko
62e8883138 Test for KT-365 Support renaming packages
#KT-365 Obsolete
2014-02-21 22:12:53 +04:00
Nikolay Krasko
9a349374ee Refactoring: extract common code 2014-02-21 22:12:53 +04:00
Alexander Udalov
cfe0ed212a Minor, optimize imports
Delete references to "jet" in Kotlin sources
2014-02-21 21:37:17 +04:00
Alexander Udalov
6e4c4f536c Delete outdated unused macro in ant buildfile 2014-02-21 20:49:13 +04:00
Alexander Udalov
89e864221d Minor, remove outdated library source root 2014-02-21 20:49:13 +04:00
Alexander Udalov
ebd0ce597c Minor, fix typo in filename 2014-02-21 20:49:13 +04:00
Alexander Udalov
4117d04742 Don't use FileUtil in BuiltInsSerializer
See the comment
2014-02-21 20:49:12 +04:00
Alexander Udalov
391da33c01 Don't use "jet" prefix in stdlib sources 2014-02-21 20:38:02 +04:00
Alexander Udalov
4a603f1268 Minor, specify types for clarity 2014-02-21 20:38:02 +04:00
Andrey Breslav
5c28f672b2 Using Android annotations from KAnnotator 2014-02-21 19:23:42 +04:00
Andrey Breslav
ff762a4467 Use JDK annotations downloaded from a KAnnotator build 2014-02-21 19:23:41 +04:00
Nikolay Krasko
48df541e0f Fix warning and don't fall if class isn't found in binding context after resolve 2014-02-20 16:31:31 +04:00
Nikolay Krasko
356a50325e Refactoring: remove monitoring method 2014-02-20 16:31:29 +04:00
Nikolay Krasko
aca146726a Remove eager resolve for getting light class context 2014-02-20 16:31:28 +04:00
Nikolay Krasko
06af996bd0 Refactoring: inline KotlinLightClassContextCache behaviour 2014-02-20 16:31:26 +04:00
Nikolay Krasko
7e4bb1d467 Test that lazy resolve is able to do propagation in Kotlin-Java-Kotlin hierarchy
Patch by Evgeny Gerashchenko
2014-02-20 16:31:25 +04:00
Nikolay Krasko
f14ff9405d Force resolve descriptor type 2014-02-20 16:31:24 +04:00
Nikolay Krasko
a2c567da93 Common injector for lazy resolve with java lazy resolve 2014-02-20 16:31:22 +04:00
Nikolay Krasko
2ef879ea3e Search classes by qualified name only in sources to prevent recursion 2014-02-20 16:31:21 +04:00
Nikolay Krasko
064612f0f3 Add cache delegating to lazy resolve session for source classes search 2014-02-20 16:31:10 +04:00
Nikolay Krasko
0448736a4c Refactoring: remove unused methods 2014-02-20 16:27:49 +04:00
Nikolay Krasko
5afd1b23d1 Fix error in withoutFirstSegment 2014-02-20 16:17:53 +04:00
Nikolay Krasko
592969bad1 Rewrite utils method for qualified names to Kotlin 2014-02-20 16:17:51 +04:00
Nikolay Krasko
ac4fe93774 Add ability to filter out some particular classes from generator 2014-02-20 16:17:38 +04:00
Nikolay Krasko
ef051fac04 Refactoring: method rename 2014-02-20 16:08:10 +04:00
Nikolay Krasko
e13d568a34 Refactoring: Simplify subclass graph 2014-02-20 16:08:09 +04:00
Nikolay Krasko
e946f1abba Refactoring: remove LightClassStubWithData, use generics for KotlinJavaFileStubProvider 2014-02-20 16:08:09 +04:00
Andrey Breslav
623b169d71 When building light classes don't resolve irrelevant declarations in the same package 2014-02-20 16:08:08 +04:00
Andrey Breslav
783258d91a Forced resolution of all contents enhanced 2014-02-20 16:08:07 +04:00
Andrey Breslav
7c26271500 Force-resolve only relevant declarations 2014-02-20 16:08:07 +04:00
Andrey Breslav
a2c66f7cc4 Using lazy resolve when building light classes 2014-02-20 16:08:06 +04:00
Nikolay Krasko
b1b83a0ecb Store connection between files and lazy package fragment descriptor
LazyPackageDescriptor objects are going to be used as input for light class
generation. Java code generator expects to find connection between descriptors
and files in binding context.
2014-02-20 16:08:05 +04:00
Nikolay Krasko
8eb2a937e6 Remove external packages search from file base declaration provider
External package should be found because of proper module configuration
2014-02-20 16:08:05 +04:00
Nikolay Krasko
558fca5eab Check reference to Java root class from library 2014-02-20 16:08:04 +04:00
Nikolay Krasko
e9091c85a4 Compile java sources into library 2014-02-20 16:08:03 +04:00
Alexander Udalov
fb12c56d1a Add a temporary hack for migration "jet" -> "kotlin" 2014-02-20 02:40:44 +04:00
Alexander Udalov
2d6cbc2ece Include bootstrap runtime in the intermediate kotlin-compiler.jar
This allows Kotlin compiler to be compatible only with the version of runtime
it was built against. This is currently done only on the first cycle of our
bootstrap process (the final released compiler is still supposed to work
against a separately shipped runtime)
2014-02-19 17:46:19 +04:00
Alexander Udalov
b597940048 Minor, rename method 2014-02-19 17:46:18 +04:00
Alexander Udalov
339a990482 Remove ClassLoaderIsolationUtil
Minimize usages of jet.* in Java code: this will help in migration of jet.* to
package kotlin. Since tests will work with fq names instead of Class<?>
instances from now on, ClassLoaderIsolationUtil is useless now (except for one
unrelated method, which was moved to CodegenTestUtil)
2014-02-19 17:46:18 +04:00
Alexander Udalov
eb7b757e38 Fix VerifyError on rangeTo on primitive types 2014-02-19 17:46:18 +04:00
Alexander Udalov
8c97d9ebb3 Fix rangeTo between Float and Long
Float.rangeTo(Long) and Long.rangeTo(Float) now both return FloatRange for
consistency with other binary operations between floats and longs which, in
turn, return float to be consistent with Java
2014-02-19 17:46:18 +04:00
Alexander Udalov
7b642c9e37 Minor, move method closer to its usage 2014-02-19 17:46:18 +04:00
Alexander Udalov
977b156a0d Create fake overrides for deserialized enum class object
Now that Any has members, we need to make sure fake overrides are properly
generated in every class descriptor we create automatically or manually.

This fixes DescriptorSerializationTestGenerated
2014-02-19 17:46:17 +04:00
Alexander Udalov
304129f9c9 Check if the class is special by FQ name
This is needed because our built-ins can be loaded with two different
mechanisms (deserialization and lazy resolve) and, when that happens,
corresponding descriptors aren't equal to each other, so one of two resolved
descriptors for Any (or the same with Nothing) was never considered to be a
"special class" with no supertypes
2014-02-19 17:44:19 +04:00
Alexander Udalov
3e33473c1a Don't check equals, hashCode, toString in LoadBuiltinsTest
Otherwise there'll be too many fake overrides when these methods will appear in
Any
2014-02-19 17:44:19 +04:00
Alexander Udalov
4605a8f1f9 Copy jet.modules.* to kotlin.modules.*
The next step will be to use the new "kotlin.modules" package and drop the old
"jet" one
2014-02-19 17:44:19 +04:00
Andrey Breslav
5c571812a6 Minor. Formatting fixed 2014-02-19 14:30:48 +04:00
Andrey Breslav
b0ec4f10e9 Migrate from MutableClassDescriptor to ClassDescriptorWithResolutionScopes
Cast to MutableClassDescriptor where needed. The code with casts will be removed shortly
2014-02-19 14:30:48 +04:00
Andrey Breslav
5856ce3c2c Minor: idea config file changed 2014-02-18 19:51:49 +04:00
Andrey Breslav
5478204e2d PlatformToKotlinClassMap can be obtained from the module 2014-02-18 19:51:49 +04:00
Andrey Breslav
cbc132efba Mutability of collections made explicit in BodiesResolveContext 2014-02-18 19:51:49 +04:00
Andrey Breslav
d9dceca0c3 getDeclaredCallableMembers() added to ClassDescriptorWithResolutionScopes 2014-02-18 19:51:49 +04:00
Andrey Breslav
ac94dc5411 Interface ClassDescriptorWithResolutionScopes extracted for both lazy and mutable classes 2014-02-18 19:51:49 +04:00
Nikolay Krasko
9a8a8364dd KT-4344 "Overridden method parameters are not annotated" warnings from Java
#KT-4344 Fixed
2014-02-18 14:49:34 +04:00
Nikolay Krasko
f14f2c19a8 Fix goto class action in Idea 13.1 2014-02-18 14:39:19 +04:00
Nikolay Krasko
bd859efb39 Generator for goto symbols test 2014-02-17 22:12:09 +04:00
Andrey Breslav
85e5b4e205 JDK layout fixed for Mac 2014-02-17 17:08:17 +04:00
Andrey Breslav
b67c125f6d More memory for the Ant build 2014-02-17 17:08:17 +04:00
max-kammerer
1c7bb85193 Merge pull request #372 from pk382/replace-dot-qualified-call-intention
New Intention Action: Replace a dot-qualified function call with an infix function call.
2014-02-17 13:20:02 +03:00
Nikolay Krasko
86767c2349 Remove write action for paste for better idea actual behaviour emulation 2014-02-17 10:45:48 +04:00
Natalia Ukhorskaya
9f3b73986a Update to IDEA 13.1 (134.1007) 2014-02-17 10:45:48 +04:00
Pavel V. Talanov
4c57aa9f23 Generate Injectors: minor, remove redundant GenerateInjectors class 2014-02-14 16:47:23 +04:00
Pavel V. Talanov
f8a8bbe9b0 Generate Injectors: add ability to specify that a field is a context
Context field's properties can injected into other components
Use it in GenerateInjectors.kt
2014-02-14 16:47:22 +04:00
Pavel V. Talanov
6c77ea91c5 Generate Injectors: simplify and remove redundancy 2014-02-14 16:47:21 +04:00
Pavel V. Talanov
00cbd11b84 Share "Generate Injectors" run configurations 2014-02-14 16:47:20 +04:00
Pavel V. Talanov
1ab4c2763f Generate Injectors: rewrite facade to Kotlin 2014-02-14 16:47:19 +04:00
Pavel V. Talanov
73dd8a051a Remove useless InjectorForJvmCodegen 2014-02-14 16:47:18 +04:00
Pavel V. Talanov
b37c57cf2b Minor: remove redundant implementations of ResolutionContext#self 2014-02-14 16:47:17 +04:00
Pradyoth Kukkapalli
44234c7c0a New Intention Action: Replace a dot-qualified function call with an infix function call. 2014-02-14 00:18:09 -05:00
Evgeny Gerashchenko
5a1f98041e Simplified kotlinc tests. 2014-02-13 20:46:29 +04:00
Evgeny Gerashchenko
aeade9e68d Regenerated default protobuf. 2014-02-13 20:46:28 +04:00
Evgeny Gerashchenko
846ee2c8ac Introduced protobuf generating script.
It generates two variants: lite (for runtime usage) and debug (for
tests).
2014-02-13 20:46:28 +04:00
Alexander Udalov
8b918ef1aa Add regression tests for obsolete issues
#KT-1291 Obsolete
 #KT-2895 Obsolete
 #KT-3060 Obsolete
 #KT-3298 Obsolete
 #KT-3613 Obsolete
 #KT-3862 Obsolete
2014-02-13 04:43:53 +04:00
Natalia Ukhorskaya
320c23494f Add method to MockPsiDocumentManager to update kotlin plugin to IDEA 13.1 (134.1007) 2014-02-12 22:10:42 +04:00
Alexander Udalov
0b08d03bd6 Minor refactorings in codegen contexts
Add assertions, nullability annotations, fix formatting, etc.
2014-02-12 19:32:59 +04:00
Alexander Udalov
a98434263b Add regression test for outdated issue
#KT-3738 Obsolete
2014-02-12 19:17:55 +04:00
Alexander Udalov
35c7c4afd8 Fix capturing outer this in some cases in JVM codegen
When property initializer of some inner entity (e.g. anonymous object) contains
a reference to some outer entity (say, a property of the outer class), we need
to make sure we called "lookupInContext" on this entity's owner class, so that
"setCaptureThis" was called on the appropriate closure

 #KT-4176 Fixed
2014-02-12 19:17:55 +04:00
Natalia Ukhorskaya
7bf26283b2 Add implementation of PsiDocumentManager to update kotlin plugin to IDEA 13.1 (134.1007) 2014-02-12 18:00:44 +04:00
Svetlana Isakova
70374ea9be KT-4529 Lambdas are analyzed improperly in an infix call nested inside a println
#KT-4529 Fixed
2014-02-12 14:47:10 +04:00
Svetlana Isakova
2ebe8fd6a2 improvements after review in constraint system tests 2014-02-12 12:48:15 +04:00
Svetlana Isakova
4c1c9f8407 do not record smart cast to not nullable type separately 2014-02-12 12:48:14 +04:00
Svetlana Isakova
9063b3803e record smartcast to the most specific type 2014-02-12 12:48:14 +04:00
Svetlana Isakova
9832676701 generate constraint system tests
more tests added
2014-02-12 12:48:13 +04:00
Svetlana Isakova
791fa22abb KT-4405 Control-flow analysis is not performed for some local declarations #KT-4405 Fixed 2014-02-12 12:48:13 +04:00
Svetlana Isakova
aa713ef1f6 generate pseudocode for property accessor only if the property is local
otherwise check it independently like a function
2014-02-12 12:48:12 +04:00
Svetlana Isakova
1c4db84d92 do not try properties named 'invoke' when resolve 'invoke' 2014-02-12 12:48:12 +04:00
Svetlana Isakova
b51e3dc464 added ConstraintSystemTest 2014-02-12 12:48:11 +04:00
Svetlana Isakova
9d493b6f7b generate CHECK_CAST for smartcasted 'this' 2014-02-12 12:48:11 +04:00
Svetlana Isakova
9ed57a5767 removed AutoCastReceiver
check subtype for receiver by AutoCastUtils.isSubTypeByAutoCast directly
 #KT-4403 Fixed
 #KT-4415 Fixed
2014-02-12 12:48:10 +04:00
Svetlana Isakova
5ef320173c generate pseudocode for functions in local classes
#KT-4405 In progress
 #KT-3501 Fixed
2014-02-11 21:07:10 +04:00
Svetlana Isakova
f74fbf9f8b added readme file about diagnostic tests directives 2014-02-11 21:07:09 +04:00
Svetlana Isakova
1446feff20 removed unnecessary more accept(JetVisitorVoid) methods 2014-02-11 21:07:09 +04:00
Svetlana Isakova
cfb97bf0b9 made JetVisitorVoid extends JetVisitor<Void, Void> 2014-02-11 21:07:09 +04:00
Svetlana Isakova
64e13114e2 store unsubstituted descriptor as REFERENCE_TARGET 2014-02-11 21:07:09 +04:00
Svetlana Isakova
8868da8c5f KT-4372 Invalid error position and failing to resolve invoke with receiver from other module #KT-4372 Fixed 2014-02-11 21:07:09 +04:00
Svetlana Isakova
e95e505b5d asserts changed to LOG.error 2014-02-11 21:07:08 +04:00
Svetlana Isakova
c5d9757b94 added renderers for constraint system and type bounds
moved classes
2014-02-11 21:07:08 +04:00
Svetlana Isakova
45abab2a2c KT-4341 No resolved call for right-hand side of equals expression
#KT-4341 Fixed
2014-02-11 21:07:08 +04:00
Svetlana Isakova
aca21f78d5 check incomplete equality 2014-02-11 21:07:08 +04:00
Pavel V. Talanov
80183c88cf Do not normalize visibilities for fake overrides
#KT-4525 Fixed
2014-02-11 20:13:11 +04:00
Mikhael Bogdanov
eab7f5539b Fixed dependency to kotlin runtime (dist version) 2014-02-11 17:36:01 +04:00
Pavel V. Talanov
4a3ccc4eac JDR: do not create package fragment for class statics if class cannot be resolved
This keeps behaviour consistent in rare cases when JavaClass can be found but not resolved
As of now this can happen in IDE if we take PsiClass from index but file structure is wrong so we can't resolve the class
Add test which documents this case
2014-02-11 17:17:34 +04:00
Pavel V. Talanov
4501adf5f1 AbstractInsertImportOnPasteTest: use test framework to create correct file structure for java files 2014-02-11 17:17:33 +04:00
Pavel V. Talanov
e3ae7afac3 Add validation for binding between java classes and corresponding package fragments 2014-02-11 17:17:06 +04:00
Pavel V. Talanov
e4a0221abc Remove PackageFragmentDescriptor#getProvider method
PackageFragmentProvider should be hidden from the client of PackageFramentDescriptor
2014-02-11 17:17:05 +04:00
Pavel V. Talanov
cd6a71ef81 Refactor JDR: add explicit binding between java classes and packages for their statics
Get rid of Kind in JavaPackageFragmentDescriptor and create subclass which exposes additional function
Add method in JavaClassDescriptor to get correponding package fragment
Remove JavaDescriptorResolver from context
2014-02-11 17:17:04 +04:00
Pavel V. Talanov
00a5e7ab15 Refactor JDR: remove some of the usages of JavaDescriptorResolver class 2014-02-11 17:17:03 +04:00
Pavel V. Talanov
16a2a5cd62 Refactor JDR: minor extract function in LazyJavaPackageFragmentProvider 2014-02-11 17:17:02 +04:00
Pavel V. Talanov
2fe2a50b14 Refactor JDR: use JavaResolverCache in LazyJavaPackageFragmentProvider directly
Remove LazyJavaClassResolverWithCache
This actually can affect behaviour because JavaResolverCache has slightly different logic (uses CLASS key in BindingContext as opposed to FQNAME_TO_CLASS_DESCRIPTOR)
2014-02-11 17:17:01 +04:00
Pavel V. Talanov
18d088cb71 Refactor JDR: create LazyJavaPackageFragmentProvider in injector 2014-02-11 17:17:00 +04:00
Pavel V. Talanov
737f538ea7 Minor: use orEmpty() instead of ?: listOf() in LazyJavaPackageFragmentProvider 2014-02-11 17:16:59 +04:00
Pavel V. Talanov
4153182fd2 Refactor JDR: minor, extract class 2014-02-11 17:16:58 +04:00
Zalim Bashorov
37154e42d2 JS backend: fixed smartcast when a call have implicit this or receiver. 2014-02-11 13:50:16 +04:00
Alexey Sedunov
40eaf49a8c Support find usages for declarations with multiple overridden Java methods (e.g. J -> J -> K) 2014-02-10 18:57:56 +04:00
Aleksei Sedunov
0e451bd35e Add assertion message 2014-02-10 12:25:53 +04:00
Alexey Sedunov
d549257bfc Allow to find usages of Java class via references to its constructor #KT-4521 Fixed 2014-02-10 12:25:52 +04:00
Pradyoth Kukkapalli
8b6bd8a184 New Intention Action: Replace an infix function call with a dot qualified method call. 2014-02-09 09:05:19 -08:00
Tuomas Tynkkynen
64f67f30f0 Prevent smartSelectExpression from breaking up 'this@outerClass'
The previous commit made JetThisExpression not implement
JetStatementExpression. This had the side effect that
smartSelectExpression over a label-qualified this expression
(e.g 'this@outerClass') would now also list a plain 'this'
as a potential expression. Restore the old behaviour by adding an
explicit check for JetThisExpression.
2014-02-09 17:22:30 +04:00
Tuomas Tynkkynen
9ce40cd17b Fix unnecessary parenthesis around 'this' in refactorings
Operator priority calculation for 'this' expressions was incorrect in
JetPsiUtil.getPriority(): it would return a very low value for
a JetThisExpression, causing the IDE to report that parenthesis
are necessary in an expression like '(this)[1]'.

Fix this by making JetThisExpression not implement
JetStatementExpression by removing the implements clause from
JetLabelQualifiedInstanceExpression and adding it to all other
subclasses of JetLabelQualifiedInstanceExpression.

Fixes KT-4513.
2014-02-09 17:22:27 +04:00
Tuomas Tynkkynen
85c46019d3 Add test suite for smart expression selector
Add test suite for smart expression selector (the small expression list
popup in e.g. Extract Variable.)

The test file format is similar to that in JetNameSuggesterTest: a .kt
file with the usual <caret> marker specifying the place where the smart
selector will be run. Then, the last comment in the file should contain
the expected outcome.
2014-02-09 17:22:24 +04:00
Tuomas Tynkkynen
815ca2fe57 Separate GUI logic from smartSelectExpression
Previously smartSelectExpression did both the determination of suitable
expressions and displaying the GUI. Separate the actual logic into a new
method, getSmartSelectSuggestions so that smart selection can be tested
in the future.
2014-02-09 17:22:19 +04:00
Tuomas Tynkkynen
7429cc8819 Make JetTestUtils.getLastCommentInFile() to allow trailing newline
Many editors add a trailing newline when saving. Allow them in
getLastCommentInFile.
2014-02-09 17:22:10 +04:00
Tuomas Tynkkynen
420a08167b Extract JetTestUtils.getLastCommentInFile()
JetNameSuggesterTest contains useful code for getting the last comment
of a file. Extract it to JetTestUtils.getLastCommentInFile() so other
tests can use it as well.
2014-02-09 17:22:07 +04:00
Alexander Udalov
cb2733a0ae Fix built-ins serializer to work with any packages
Make it serialize data for all packages found in sources and not only
KotlinBuiltIns.FQ_NAME, i.e. "jet". This is required to migrate built-ins from
package "jet" to "kotlin"
2014-02-09 04:17:35 +04:00
Andrey Breslav
9229062926 Do not annotate bare type parameters as @Nullable
This is to account for the case of, say

     class Function<R> { fun invoke(): R }

it would be a shame to put @Nullable on the return type of the function, and force all callers to check for null,
so we put no annotations
2014-02-07 16:41:12 -08:00
Mikhael Bogdanov
e0ca1abe4b KT-3706 Inconsistent stack height in try catch finally in function
KT-4134 Incorrect bytecode is generated for

 #KT-3706 Fixed
 #KT-4134 Fixed
2014-02-07 13:45:22 +04:00
Nikolay Krasko
7b07b748cb Refactoring: remove unused method 2014-02-06 15:52:04 +04:00
Nikolay Krasko
1d884912a0 Minor: call overloaded constructor 2014-02-06 15:52:04 +04:00
Nikolay Krasko
10dec22feb Minor: Add 'memoized' to dictionary 2014-02-06 15:52:03 +04:00
Nikolay Krasko
876040cb53 Minor: fix warnings and formatting 2014-02-06 15:52:03 +04:00
Nikolay Krasko
3b3f9f7022 Rewrite KotlinImportListRenderer to Java to make it compilable with both JDK 1.6 and JDK 1.7
In JDK 1.7 JList has generic parameter
2014-02-06 15:52:02 +04:00
Nikolay Krasko
e46c19b3f8 Test for correct references to java classes 2014-02-06 15:52:02 +04:00
Nikolay Krasko
e36c0130a0 Test for reference to kotlin compiled inner class 2014-02-06 15:52:01 +04:00
Nikolay Krasko
3ceed45c09 Test for resolving references from package which is declared both in binaries and sources 2014-02-06 15:52:01 +04:00
Erokhin Stanislav
a7eb143cff JS backend: Fix aliasing in CallTranslator for cases noReceiver & receiverObject & add hack for thisObject 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
5d4cb1e065 JS backend: Fix safe call side effects 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
7f8c17d6af JS backend: drop CallType 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
e9b1ae7cb1 JS backend: Move CallTranslator to new package & create CallTranslator object 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
47ed126aa4 JS backend: Move CallInfo extension to separate file. 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
a4436806f7 JS backend: cosmetic changes & class for cases remake to object 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
97955776c4 JS backend: simplify DelegatePropertyAccessIntrinsic 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
5a343841d9 JS backend: add debug info for CallInfo 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
4d287c96d6 JS backend: In CallInfo: receiver1, receiver2 -> ExplicitReceivers. Drop CallInfo.nullableReceiverForSafeCall, move constructSafeCall to extension for CallInfo 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
257d13e90b JS backend: cosmetic changes & remake fakeCall 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
f268f69cbf JS backend: Fix cached array access (KT-740-2) 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
5c9bda0f6e JS backend: Migrate type of alias from JsName to JsExpression 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
ae6fdcc673 JS backend: Fix cache receiver in VariableAccess (KT-740-1) 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
2f1b44ed9e JS backend: Dropped old CallTranslator 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
2d50858289 JS backend: Use new CallTranslator for build main and test calls 2014-02-06 14:01:11 +04:00
Erokhin Stanislav
39f3a6ec4c JS backend: Migrate FunctionIntrinsic to CallInfo 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
4e9187779d JS backend: Optimized CallInfo classes structure 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
7a0f359aa0 JS backend: Use new CallTranslator for ArrayAccessTranslator 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
46a045f969 JS backend: Fix Delegate property - use new CallTranslator 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
42437eb755 JS backend: fix native spread call 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
4bffff43aa JS backend: Use newCallTranslator for several Translators 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
75dd459bdf JS backend: Fix tracked used descriptors 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
4617e730d6 JS backend: Use new call translator in CallExpressionTranslator and move invoke intrinsic to FunctionCallCases 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
a1edc0368a JS backend: simplify canBePropertyAccess method 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
31668406cd JS backend: drop old property access translator 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
402a9f6c81 JS backend: Use new CallBuilder for property access 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
4527c56f6d JS backend: Fix super property access call 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
392da838ca JS backend: Add support for safe call 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
083e789692 JS backend: Add DelegatePropertyAccessIntrinsic 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
740307e94a JS backend: Add VariableCallCases (not all cases supported) 2014-02-06 14:01:10 +04:00
Erokhin Stanislav
16f97d5c97 JS backend: Add FunctionCallCases 2014-02-06 14:01:09 +04:00
Erokhin Stanislav
ee54e50138 JS backend: Add api for call builder and CallCaseDispatcher 2014-02-06 14:01:09 +04:00
Erokhin Stanislav
21f56365b8 JS backend: Create new CallInfo 2014-02-06 14:01:09 +04:00
Erokhin Stanislav
a500925945 Add notNull annotations to VariableAsFunctionResolvedCall 2014-02-06 14:01:09 +04:00
Evgeny Gerashchenko
ce7e0a7457 Fixed problem with overriding method with non-trivial raw type (when erased type parameter has upper bound)
Also added cases for the code which was changed.
2014-02-06 13:52:59 +04:00
Zalim Bashorov
2d31d62163 JS lib: drop es5 shims. 2014-02-06 12:21:12 +04:00
Zalim Bashorov
0812dc8731 JS backend: fixed name clash when override native class. 2014-02-06 12:21:12 +04:00
Zalim Bashorov
bdce3412e3 JS backend: add workaround for mangling Any methods(equals, hashCode and toString) always. 2014-02-06 12:21:12 +04:00
Zalim Bashorov
bc273ddd75 JS backend: fixed using the stable mangling for extra cases. 2014-02-06 12:21:12 +04:00
Zalim Bashorov
2fe5f63924 JS backend: rename test mangling -> manglingStability. And make it independent of structure of generated code. 2014-02-06 12:21:12 +04:00
Zalim Bashorov
77277ce197 JS backend: removed the unnecessary main function from some tests. 2014-02-06 12:21:12 +04:00
Andrey Breslav
8dc9aecbf8 DescriptorSearchRule removed 2014-02-05 18:12:01 +04:00
Andrey Breslav
aa0dde3a78 Old implementation of JavaDescriptorResolver deleted 2014-02-05 18:12:01 +04:00
Andrey Breslav
9f918d48b5 JavaDescriptorResolver always uses lazy mode 2014-02-05 18:12:01 +04:00
Andrey Breslav
76c722b81c Utilities moved closer to their usages and rewritten to Kotlin 2014-02-05 18:12:00 +04:00
Andrey Breslav
e119ca27ca AnnotationLoadingUtil created. Relevant code/constants moved there 2014-02-05 18:11:51 +04:00
Andrey Breslav
aed1ccf771 getKotlinBuiltinClassDescriptor() moved to DescriptorResolverUtils 2014-02-05 18:07:35 +04:00
Andrey Breslav
3d1f2c25e2 resolveCompileTimeConstantValue() rewritten to Kotlin 2014-02-05 18:07:35 +04:00
Andrey Breslav
6aca05023a OBJECT_FQ_NAME moved to DescriptorResolverUtils 2014-02-05 18:07:35 +04:00
Andrey Breslav
ab3b8d63df ExternalAnnotationResolver is enough to look for external annotations 2014-02-05 18:07:35 +04:00
Pavel V. Talanov
6c96d235ec Tests: add complex tests for references to libraries
These tests check that that complex references (var p by delegate, for in collection, array[index]) are resolved correctly when target descriptors have type parameters
See 41f9dcba91

 #KT-4505 Fixed
2014-02-05 17:15:14 +04:00
Alexey Sedunov
7e1c9194f1 Implement navigation to references from Call Hierarchy view
#KT-4518 Fixed
2014-02-05 16:28:16 +04:00
Pavel V. Talanov
c6c1389144 Imports on copy/paste UI: do not show misleading icon in dialog 2014-02-05 12:42:19 +04:00
Pavel V. Talanov
ccaf87bc17 Imports on copy/paste: Check whether import is needed before showing the user
Minor: rename ImportInsertHelper.doNeedImport -> needImport
2014-02-05 11:43:05 +04:00
Pavel V. Talanov
61153c87e0 Insert imports on copy/paste
Introduce KotlinCopyPasteReferenceProcessor
2014-02-04 20:19:52 +04:00
Pavel V. Talanov
2f55959578 Refactor: rewrite JetReferenceContributor to kotlin
Add additional utilities to track what psi elements are capable of holding references
2014-02-04 17:09:45 +04:00
Pavel V. Talanov
41f9dcba91 Refactor: unite two hierarchies or reference, use common code across all references
Jet*Reference#getTargetDescriptors() no longer returns nullable value (convention is dropped)
Use ResolvedCall#getCandidateDescriptor() instead of ResolvedCall#getResultingDescriptor() because unsubstituted descriptors are expected
Add JetReference#resolveMap() function
2014-02-04 17:09:44 +04:00
Pavel V. Talanov
f06cef684e Refactor: introduce JetReference, rename: JetPsiReference -> AbstractJetReference
Add resolveToDescriptors() to JetReference trait
Rewrite JetPsiReference to kotlin
2014-02-04 17:09:43 +04:00
Pavel V. Talanov
cdc6e1b5ba Refactor: move utilities to a separate file 2014-02-04 17:09:42 +04:00
Pavel V. Talanov
8e19ba9851 Fix JetSimpleNameExpression#getReceiver
Correct behaviour for unary, binary expressions and type references
Add instanceof checks in TipsManager so it's clear it only takes care of certain types of JetSimpleNameExpression
2014-02-04 17:09:41 +04:00
Pavel V. Talanov
b7e6717936 Kotlin code style: keywords on new line 2014-02-04 17:09:40 +04:00
Pavel V. Talanov
11c1e29287 Copy paste: annotations for IDEA classes and corresponding changes in ConvertJavaCopyPastePostProcessor 2014-02-04 17:09:39 +04:00
Pavel V. Talanov
7daf7374f8 Minor: JavaCopyPastePostProcessor -> ConvertJavaCopyPastePostProcessor for clarity 2014-02-04 17:09:38 +04:00
Pavel V. Talanov
4638806d11 Shorten references: Do not lookup packages when searching for conflicting declarations
Minor: use JetTreeVisitor
2014-02-04 17:09:37 +04:00
Andrey Breslav
30f49f3c9a Invalidate per-file cache on exceptions 2014-02-04 15:24:27 +04:00
Andrey Breslav
e60bd514fa StorageManager&ExceptionTracker delivered where needed
- GlobalContext introduced to group the two
- Caches track exceptions
2014-02-04 15:24:27 +04:00
Andrey Breslav
364182e3f0 Unneeded public parameters made private 2014-02-04 15:23:15 +04:00
Andrey Breslav
2da51a49dc Invalidate ResolveElementCache on exceptions from storage manager 2014-02-04 15:23:15 +04:00
Andrey Breslav
a90dbc48ef Information about LockBasedStorageManager instances added to assertions 2014-02-04 15:23:14 +04:00
Alexey Sedunov
950e8d521b Remove unjustified assertion 2014-02-04 14:42:39 +04:00
Alexey Sedunov
2ea1a89e4c Specify type explicitly: Add tests 2014-02-04 14:42:37 +04:00
Alexey Sedunov
c251e2dfcb Use lazy analysis in DataFlowValueRenderingTest 2014-02-04 14:42:35 +04:00
Alexey Sedunov
2d72f60f04 Use lazy analysis in live templates 2014-02-04 14:42:34 +04:00
Alexey Sedunov
60fb461842 Go to Super: Use lazy analysis 2014-02-04 14:42:32 +04:00
Alexey Sedunov
7c1e28a748 Override/Implement methods: Use lazy analysis 2014-02-04 14:42:31 +04:00
Alexey Sedunov
bfbcaba0b0 Use lazy analysis in intention actions 2014-02-04 12:59:23 +04:00
Alexey Sedunov
a43404d7eb Change Signature: Use lazy analysis 2014-02-04 12:59:21 +04:00
Alexey Sedunov
ac984b0566 Fix warnings 2014-02-04 12:59:16 +04:00
Alexey Sedunov
ec4c83dc91 Introduce Variable: Use lazy analysis
#KT-3651 Fixed
2014-02-04 12:59:14 +04:00
Alexey Sedunov
a4d6fd9cd5 Call Hierarchy: Use lazy analysis
#KT-4492 Fixed
2014-02-04 12:59:12 +04:00
Alexey Sedunov
0ee950f428 Use lazy analysis in usage type provider 2014-02-04 12:45:57 +04:00
Alexey Sedunov
bfa2b9ba35 Use lazy analysis in Safe Delete 2014-02-04 12:45:56 +04:00
Nikolay Krasko
f526129ca4 Refactoring: use injector for creating lazy resolve session 2014-02-04 12:31:38 +04:00
Nikolay Krasko
b8ddb658fb Refactoring: hide fact of using injector inside lazy resolve session 2014-02-04 12:31:38 +04:00
Nikolay Krasko
36d5e580b4 Refactoring: remove unnecessary constructors (prepare for injectors) 2014-02-04 12:31:37 +04:00
Nikolay Krasko
9aac846798 Refactoring: remove unused jvmInternalName from KotlinPackageLightClassData 2014-02-04 12:31:37 +04:00
Nikolay Krasko
45be6b081d Minor: add public modifier 2014-02-04 12:31:36 +04:00
Nikolay Krasko
5f71511788 Test for "KT-3769 Find usages gives no result for overrides"
#KT-3769 Obsolete
2014-02-04 12:31:36 +04:00
Alexander Udalov
540a06d45d Add -ea to java invocations in build.xml
Also fail if "builtins" target failed to complete successfully
2014-02-03 20:45:20 +04:00
Evgeny Gerashchenko
284124569d Fixed super signature generation when JetObject is explicit.
#KT-4485 fixed
2014-02-03 17:53:07 +04:00
Alexander Udalov
640dac834f Suppress "nothing to override" on equals, hashCode, toString
This is needed to smoothly make equals, hashCode and toString members of Any
instead of being extensions, as they are now: according to our bootstrapping
process, the same compiler code will be built twice, by old compiler (with
extensions) and by new compiler (with members). In the resulting code
'override' should be on all these members in all classes, so the old compiler
should be able to compile such code
2014-02-03 16:26:17 +04:00
Natalia Ukhorskaya
2b382ef719 Find main function when configuring classpath in Run Configuration
#KT-4482 Fixed Exception in thread "main" java.lang.ClassNotFoundException
2014-02-03 13:53:47 +04:00
Natalia Ukhorskaya
420349bb95 Refactoring in CompileTimeChecker 2014-02-03 13:53:46 +04:00
Alexey Sedunov
d7f0e02b16 Simplify function 2014-02-03 13:47:05 +04:00
Alexey Sedunov
95187cd035 Avoid usage duplication for declarations with multiple light elements 2014-02-03 13:47:05 +04:00
Alexey Sedunov
fbb1c2921b Safe Delete: Add support of default and by-name parameters 2014-02-03 13:47:04 +04:00
Alexey Sedunov
775baf1faf Translate KotlinJavaSafeDeleteDelegate to Kotlin 2014-02-03 13:47:03 +04:00
Alexey Sedunov
7f74ea5081 Translate KotlinSafeDeleteProcessor to Kotlin 2014-02-03 13:47:02 +04:00
Alexey Sedunov
f80fa8515a Implement parameterIndex() function 2014-02-03 13:47:02 +04:00
Alexey Sedunov
e52da4fce0 Support JetParameter in element description provider 2014-02-03 13:47:01 +04:00
Alexey Sedunov
a6697a52ef Support getOrigin() for class constructor parameters 2014-02-03 13:47:00 +04:00
Alexey Sedunov
460babbd6f Support generalized light element conversion 2014-02-03 13:46:59 +04:00
Alexey Sedunov
374682e404 Extract utility methods from KotlinSafeDeleteProcessor 2014-02-03 13:46:59 +04:00
Zalim Bashorov
8a1ffeea70 JS backend: consider functions which renamed by annotations in simple mangling. 2014-02-03 13:31:24 +04:00
Zalim Bashorov
5c0eeb59f6 JS backend: dropped unnecessary intrinsics in StringFIF. Added tests for CharSequence.size, CharSequence.length, CharSequence.length() and CharSequence.isEmpty(). 2014-02-03 13:31:24 +04:00
Zalim Bashorov
1f1da542b7 JS: minor fix in debug helper. 2014-02-03 13:31:24 +04:00
Zalim Bashorov
95084f9e0e Js stdlib: fixed the ArrayList implementation and added tests for indexOf, addAll, remove(by ref), removeAll, retainAll, containsAll. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
0cb016b187 JS stdlib: drop unnecessary code. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
b8559744b0 Js backend: minor fix in test closureInNestedFunctions 2014-02-03 13:31:23 +04:00
Zalim Bashorov
529d7374b8 Stdlib: enabled test List::withIndices. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
edb930fd76 JS stdlib: added missed tests for Set and fixed HashSet implementations. Implemented Set::iterator, AbstractCollection::removeAll, AbstractCollection::retainAll, AbstractCollection::containsAll.
#KT-4390 fixed
2014-02-03 13:31:23 +04:00
Zalim Bashorov
ceab4347ec JS stdlib: added missed tests for Map and fix HashMap implementation. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
15a727c6ed JS backend: dropped unnecessary tests which checked implementation details of kotlin js runtime. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
a37f5f57e6 JS backend: fix tests after mangling. 2014-02-03 13:31:23 +04:00
Zalim Bashorov
0374ce96b7 JS backend: introduce the stable mangling for functions which belong to the public API or not final. 2014-02-03 13:31:22 +04:00
Zalim Bashorov
0af1ae360f JS backend: use name of containing declaration when naming local and literal functions. 2014-02-03 13:31:22 +04:00
Zalim Bashorov
1e9defaad3 JS backend: fixed getting qualified reference as JsNameRef for PackageFragmentDescriptor. 2014-02-03 13:31:22 +04:00
Zalim Bashorov
fa552859be JS backend: introduce constants for default test package(foo) and default test function(box). 2014-02-03 13:31:22 +04:00
Zalim Bashorov
5d94c7e83c JS backend: fix closure this in extension (literal) function. 2014-02-03 13:31:22 +04:00
Zalim Bashorov
ca4d347658 JS backend: minor -- move test for KT-2388 to ClosureTest. 2014-02-03 13:31:22 +04:00
Zalim Bashorov
c77a1b0fb9 JS backend: fix recursive closure local function by inner function or lambda.
#KT-4257 fixed
2014-02-03 13:31:21 +04:00
Zalim Bashorov
1f17b55c27 JS backend: minor refactoring -- make LiteralFunctionTranslator stateful. 2014-02-03 13:31:21 +04:00
Zalim Bashorov
25c43e7bfc JS backend: refactoring:
- make static LiteralFunctionTranslator#translate;
    - use TranslationContext#define instead  of  direct use DefinitionPlace.
2014-02-03 13:31:21 +04:00
Zalim Bashorov
9e97f9615b JS backend: Minor changes -- added @NotNull to some methods of InnerDeclarationTranslator. 2014-02-03 13:31:21 +04:00
Zalim Bashorov
948827aa06 JS backend: refactoring LiteralFunctionTranslator -- make possible to store translation state and create an instance for each translation instead of one instance for all translations.
Introduced DefinitionPlace class and make creating a new definition place more safety.
2014-02-03 13:31:21 +04:00
Zalim Bashorov
1c3c2b2f77 JS backend: minor refactoring in LiteralFunctionTranslator 2014-02-03 13:31:21 +04:00
Zalim Bashorov
24c9d802c2 JS backend: made some asserts in AliasingContext and InnerDeclarationTranslator more informative. 2014-02-03 13:31:20 +04:00
Andrey Breslav
a993dfa177 Merge pull request #350 from voddan/patch-4
A small confusing typo
2014-02-02 18:22:26 -08:00
Daniil
c60523c0c6 A small confusing typo
Here was an out-of-date error message. It could confuse developers about the function literal syntax.

"To specify it explicitly use the {(p : Type) => ...} notation"
2014-02-02 17:25:10 +03:00
Alexander Udalov
7cf587c493 Delete outdated j2k.ipr and Makefile from j2k 2014-01-31 16:46:18 +04:00
Alexander Udalov
1107ae9a11 Revert hack for annotations on built-ins
This reverts commit 5cae5c0338
2014-01-31 16:46:18 +04:00
Alexander Udalov
320a583de8 Check that lazy resolve works correctly on built-ins
This test is needed because BuiltInsSerializer uses lazy resolve to load and
serialize built-ins. We need to make sure that lazy resolve works exactly like
deserialization
2014-01-31 16:46:18 +04:00
Alexander Udalov
e28819b42e Revert "Using default renderer in LoadBuiltinsTest."
This reverts commit 1d21ebf882.

Conflicts:
	compiler/testData/builtin-classes.txt
	core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java

Reverting a part of this (related to the field 'prettyFunctionTypes') because
will need to add a test that deserialized built-ins (obtained by
KotlinBuiltIns.getInstance()) are consistent with lazy resolved built-ins. This
test would break because while DescriptorRenderer renders pretty function types
it compares descriptors to the ones from KotlinBuiltIns, but in case of lazy
resolve descriptors created for built-ins would be different from
KotlinBuiltIns, so renderer wouldn't correctly render a function type
2014-01-31 16:46:18 +04:00
Alexander Udalov
c39338798b Delete outdated hack in Unit 2014-01-31 16:46:18 +04:00
Alexander Udalov
1538191c66 Fix variance in Progression and Range 2014-01-31 16:46:17 +04:00
Alexander Udalov
4a0bfa5434 Remove outdated hack in DeclarationResolver 2014-01-31 16:46:17 +04:00
Alexander Udalov
7edc4b0ff7 Add GenerateBuiltInsTest
Tests that generated sources of built-ins (Functions, Ranges, etc.) are
up-to-date
2014-01-31 16:46:17 +04:00
Alexander Udalov
71d956a568 Refactor built-ins source generators 2014-01-31 16:46:17 +04:00
Alexander Udalov
1f15e57918 Change built-ins generators package from 'runtime' to 'builtins' 2014-01-31 16:46:17 +04:00
Alexander Udalov
1c9d614137 Add copyright and auto-generation notice to built-in sources 2014-01-31 16:46:17 +04:00
Alexander Udalov
877d9f2220 Update year to 2014 in generated files 2014-01-31 16:46:16 +04:00
Alexander Udalov
75ab8ac5ec Don't try to generate optimized "in" for LongRange
#KT-4097 Fixed
2014-01-31 16:46:14 +04:00
Alexander Udalov
9b01f01e17 Refactor codegen of "in" expression
Use generateIn() twice, for binary expressions and for when clauses
2014-01-31 16:46:14 +04:00
Nikolay Krasko
1832973491 Assertion messages added 2014-01-31 14:52:15 +04:00
Nikolay Krasko
eb2f3eee4d Refactoring: remove warning 2014-01-31 14:52:15 +04:00
Nikolay Krasko
2bcedf45df Refactoring: remove unused method 2014-01-31 14:52:14 +04:00
Nikolay Krasko
9a6ac60a5f Minor: formatting and warnings 2014-01-31 14:52:14 +04:00
Nikolay Krasko
7546a6dc41 Suppressing warnings + update copyright date 2014-01-31 14:52:13 +04:00
Andrey Breslav
d3d2209452 Rename: CancelableResolveSession -> ResolveSessionForBodies 2014-01-30 21:03:53 +04:00
Andrey Breslav
7a6657d2e8 Resolve sessions use exception tracking from StorageManager 2014-01-30 21:03:53 +04:00
Andrey Breslav
0f4994f8b0 Created LockBasedStorageManagerWithExceptionTracking 2014-01-30 21:03:53 +04:00
Andrey Breslav
26ecf7666d Wrap storage manager inside resolve session 2014-01-30 21:03:53 +04:00
Andrey Breslav
210827b1d5 ExceptionUtils rewritten in Kotlin 2014-01-30 21:03:53 +04:00
Andrey Breslav
d0787795b6 StorageManager supports centralized exception handling 2014-01-30 21:03:52 +04:00
Andrey Breslav
5378bded1e Minor: reorder methods and constructors 2014-01-30 21:03:52 +04:00
Evgeny Gerashchenko
836077916b Fixed tests after adding JetObject to generic signature. 2014-01-29 21:51:53 +04:00
Evgeny Gerashchenko
8212d591c4 Don't show selection popup when there is only one expression candidate. 2014-01-29 18:58:18 +04:00
Evgeny Gerashchenko
abf352cebd KT-4485 getGenericInterfaces vs getInterfaces for kotlin classes
#KT-4485 fixed
2014-01-29 17:57:50 +04:00
Alexey Sedunov
0e9875aec3 Support moving into "else" branch of conditional expression
#KT-3877 Fixed
2014-01-29 15:58:53 +04:00
Alexey Sedunov
609154bab3 Generalize movable element constraint
#KT-4468 Fixed
 #KT-4376 Fixed
2014-01-29 15:58:51 +04:00
Alexey Sedunov
8a0867a9c3 Enable Type Hierarchy for Kotlin classes referenced by non-Kotlin code #KT-4414 Fixed 2014-01-29 15:58:51 +04:00
Alexey Sedunov
774e6e23e9 Support "Find usages" for declarations contained in the library
#KT-4452 Fixed
2014-01-29 15:58:49 +04:00
Andrey Breslav
6a29c38e5b Components across the project use StorageManager 2014-01-29 15:38:44 +04:00
Andrey Breslav
d7e256e992 Making deferred types thread-safe 2014-01-29 15:38:44 +04:00
Andrey Breslav
707255eef6 Automatic toString() for LockBasedStorageManager 2014-01-29 15:34:50 +04:00
Nikolay Krasko
f95017241b Update to Idea 13.0.2 2014-01-29 13:24:49 +04:00
Natalia Ukhorskaya
e6e64c0098 Rename class 2014-01-28 18:21:48 +04:00
Natalia Ukhorskaya
1836c4c560 Add environment property for timeout in android tests 2014-01-28 18:21:47 +04:00
Natalia Ukhorskaya
72dc8ff41b Update Android version in tests (api 19) 2014-01-28 18:21:47 +04:00
Natalia Ukhorskaya
4dbcb256d3 Add JetDiagnosticTest with stdlib 2014-01-28 18:21:46 +04:00
Natalia Ukhorskaya
36810c5bbb Move IS_PURE for constant inside CompileTimeConstant 2014-01-28 18:21:45 +04:00
Natalia Ukhorskaya
3f429116e5 Add constructor parameter for compileTimeConstant (can be used in annotation) 2014-01-28 18:21:44 +04:00
Natalia Ukhorskaya
fd3f852a93 Annotation parameter must be constant on vararg and array arguments 2014-01-28 18:21:43 +04:00
Natalia Ukhorskaya
97da2def08 Record COMPILE_TIME_INITIALIZER for all final variables 2014-01-28 18:21:42 +04:00
Natalia Ukhorskaya
2ddda59465 Add tests for concatenation of strings 2014-01-28 18:21:41 +04:00
Natalia Ukhorskaya
cf5dc5b98b Fix EvaluateTests for strings 2014-01-28 18:21:41 +04:00
Natalia Ukhorskaya
73de3ae9ab Catch exceptions evaluating expression 2014-01-28 18:21:40 +04:00
Natalia Ukhorskaya
e7d31b127d InTextDirectivesUtils: trim line with comment 2014-01-28 18:21:39 +04:00
Natalia Ukhorskaya
694db27da0 Make IntegerValueTypeConstant implements CompileTimeValue<Number>. getValue() method for it is now deprecated - getValue(expectedType) should be used 2014-01-28 18:21:38 +04:00
Natalia Ukhorskaya
a71e062504 Insert proper default value when overriding property of type float, double, char 2014-01-28 18:21:37 +04:00
Erokhin Stanislav
84c76507f0 Fixed kotlin-plugin.jar artifact. 2014-01-28 16:01:59 +04:00
Erokhin Stanislav
07ce974f9b Fixed broken reference to jar file. 2014-01-28 16:00:16 +04:00
Evgeny Gerashchenko
15bba63dc1 Removed obsolete workaround for KT-1752. 2014-01-28 00:51:10 +04:00
Alexander Udalov
a1fa230d82 Fix built-ins reference resolve tests
Built-in sources are contained now in two directories: compiled and
non-compiled (native). kotlin-plugin.jar has them both under 'jet/', but for
tests we manually specify where to look for the former, as it was for the
latter in LightClassUtil.java.

Simplify code in JetReferenceUtil to have almost the same meaning as in
JetPsiReference.multiResolve()
2014-01-27 20:36:08 +04:00
Alexander Udalov
11c023cfb2 Unmark source roots in 'builtins' and 'runtime.jvm'
This is needed because until we have modules and dependencies implemented in
our IDEA plugin, the whole project always is analyzed to highlight any file in
the project. This resulted in weird errors in different modules in Kotlin
project because two declarations were found for each built-in class: the one in
kotlin-runtime.jar and the one (totally unrelated) in the 'builtins' module
2014-01-27 20:36:08 +04:00
Alexander Udalov
5e99b77de7 Compile built-ins with the new compiler in build.xml
Instead of nested "withKotlin" element in javac2 which launches
bootstrap-compiler, we launch K2JVMCompiler from the newly built compiler
directly
2014-01-27 20:36:07 +04:00
Alexander Udalov
829756dcdb Compile built-ins in ForTestCompileRuntime
Remove references to "out/production/builtins", since those built-ins are
compiled by the bootstrap compiler, whereas we want to test built-ins compiled
by the new (working copy) compiler
2014-01-27 20:36:07 +04:00
Alexander Udalov
e46c54f514 Serialize built-ins on 'ant dist'
Don't store binary data in the repository anymore. From now on any test on the
compiler requires that 'ant dist' was executed at least once since the last
update of the built-ins
2014-01-27 18:33:49 +04:00
Alexander Udalov
013d226b50 Update test data after introduction of compilable built-ins
'next()' in primitive iterators is now final, as it always was in module
'runtime' before
2014-01-27 18:33:49 +04:00
Alexander Udalov
5cae5c0338 Don't fail on annotated built-ins
Unit.VALUE is annotated right now (with "suppress"), so deserialization was
throwing an exception from AnnotationDeserializer.UNSUPPORTED. Return empty
collections of annotations instead; here we use the fact that it's the only
annotation in built-ins and its presence is useless to the type checker
2014-01-27 18:33:49 +04:00
Alexander Udalov
61ad9fba4a Remove duplicated sources of built-ins
BuiltInsSerializer now serializes built-ins found in two source roots:
core/builtins/native and core/builtins/src

Add return types to some declarations in core/builtins/src, because now that
BuiltInsSerializer processes them, it launches lazy resolution which can't
always deduce the return type
2014-01-27 18:33:48 +04:00
Alexander Udalov
3b4c341046 Generate Kotlin sources of progression iterators 2014-01-27 18:33:48 +04:00
Alexander Udalov
dc66561ca5 Create module 'builtins', move 'runtime' -> 'runtime.jvm'
'builtins' will be used for platform-independent core built-in definitions,
'runtime.jvm' for things that should be present at runtime in order for Kotlin
code to execute correctly on JVM

ProgressionUtil goes to 'builtins' right now because progression iterators
depend on it, but should be rewritten to Kotlin later
2014-01-27 18:33:47 +04:00
Alexander Udalov
ca565b9c19 Move toString() from primitive ranges to Range
The same can't be done with progressions, because its toString() checks if an
increment is greater than zero, but Progression.increment is of type Number,
which is not Comparable<Int>
2014-01-27 18:33:47 +04:00
Alexander Udalov
d88f76f438 Rewrite Progression, Range, Unit to Kotlin
Delete useless (by now) AssertInvisibleInResolver
2014-01-27 18:33:47 +04:00
Alexander Udalov
d66c5b2fbe Fix floating point number hash code in ranges
Don't make 0.0 and -0.0 have the same hash code: they are different in Java (in
the sense that "Double.valueOf(0.0).equals(Double.valueOf(-0.0))" is false),
and they are considered different already in DoubleRange.equals, which calls
Double.compare, which differentiates them
2014-01-27 18:33:46 +04:00
Alexander Udalov
d427fcc187 Generate Kotlin sources of progressions
The check in DoubleProgression "if (increment == 0.0 || increment == -0.0)"
(and similar in FloatProgression) was simplified to "if (increment == 0.0)"
because 0.0 == -0.0 on JVM
2014-01-27 18:33:46 +04:00
Alexander Udalov
87a6ca5910 Generate Kotlin sources of ranges 2014-01-27 18:33:46 +04:00
Alexander Udalov
f9f1065294 Rewrite built-in primitive iterators to Kotlin 2014-01-27 18:33:45 +04:00
Alexander Udalov
0e7ccec9d4 Rewrite progression iterators to Kotlin 2014-01-27 18:33:45 +04:00
Alexander Udalov
1c2e1cb82f Rewrite built-in annotations to Kotlin 2014-01-27 18:33:45 +04:00
Alexander Udalov
bbdc132ccd Generate FunctionN and FunctionImplN classes in Kotlin 2014-01-27 18:33:45 +04:00
Alexander Udalov
a59565bfa8 Rewrite PropertyMetadata to Kotlin 2014-01-27 18:33:44 +04:00
Erokhin Stanislav
bcfc67a3a6 Drop author annotations from import dart-ast source code 2014-01-27 17:29:49 +04:00
Erokhin Stanislav
93982265a6 Add js.dart-ast module & drop old lib 2014-01-27 17:28:49 +04:00
Erokhin Stanislav
3c562fc658 Imported dart-ast from https://github.com/develar/former-dast-ast to js/js.dart-ast 2014-01-27 17:28:30 +04:00
Alexander Udalov
b5a75b96fa Show 'Logs' tab and extensions in run configurations
The code is copied from JUnitConfiguration, TestNGConfiguration and
ApplicationConfiguration (it's the same in those three places)
2014-01-27 17:17:44 +04:00
Zalim Bashorov
bc26c66bc7 Frontend: don't resolve default parameters value when not need complete analysis. 2014-01-27 15:34:55 +04:00
Zalim Bashorov
d032b5589c Frontend: fixed resolve annotation parameters on properties, accessors, accessor parameters, function parameters when not need complete analysis. 2014-01-27 15:34:55 +04:00
Zalim Bashorov
f5499a93ed Added the checking of extra generation of tests in TestGenerator.
Dropped tests that have been registered more than once.
2014-01-27 15:34:54 +04:00
Christian Laakmann
9b3d357371 added extension methods MutableCollection#addAll(Iterable) and MutableCollection#addAll(Iterator) (#KT-4202 fixed) 2014-01-24 18:12:45 +04:00
Alexey Sedunov
624ac55415 Add more "Safe Delete" tests for value parameters 2014-01-24 15:24:35 +04:00
Alexey Sedunov
5f69317f1e Generate constructor light methods with origin set to Kotlin class/object declaration 2014-01-24 15:24:33 +04:00
Alexey Sedunov
001d95f4b8 Forbid safe delete action if target element is a property setter parameter 2014-01-24 15:24:32 +04:00
Alexey Sedunov
83c9c49125 Add Safe Delete tests for extension functions and properties 2014-01-24 15:24:30 +04:00
Alexey Sedunov
572e09e9ea Reuse Java safe delete for parameters in Kotlin declarations 2014-01-24 15:24:29 +04:00
Alexey Sedunov
89255b25b0 Make light parameters compatible with KotlinLightElement 2014-01-24 15:24:27 +04:00
Alexey Sedunov
1e7297015a Refactoring: Extract method 2014-01-24 15:24:26 +04:00
Alexey Sedunov
c137167290 Search property declaration together with its accessor(s) 2014-01-24 15:24:24 +04:00
Alexey Sedunov
bb04c5fd95 Use light element origin instead of getNavigationElement() 2014-01-24 13:10:29 +04:00
Alexey Sedunov
9eac148555 Extract base interface for Kotlin light elements 2014-01-24 13:10:28 +04:00
Alexey Sedunov
f694b658ef Reuse Java safe delete for type parameters in Kotlin declarations (aside of usages in Kotlin files) 2014-01-24 13:10:27 +04:00
Alexey Sedunov
5b2858ef26 Generate light type parameters for Kotlin light methods 2014-01-24 13:10:27 +04:00
Alexey Sedunov
598a3214d2 Refactoring: Extract methods 2014-01-24 13:10:26 +04:00
Alexey Sedunov
75f67d5336 Add utility functions for conversion to light elements 2014-01-24 13:10:25 +04:00
Alexey Sedunov
2c707ec801 Reuse Java safe delete for non-local Kotlin properties 2014-01-24 13:10:24 +04:00
Alexey Sedunov
b9ddf3a992 Fix warnings 2014-01-24 13:10:23 +04:00
Alexey Sedunov
fffae7b6a4 Forbid "safe delete" for anonymous objects 2014-01-24 13:10:23 +04:00
Alexey Sedunov
5cfb07072c Reuse Java safe delete for Kotlin classes and objects 2014-01-24 13:10:22 +04:00
Alexey Sedunov
d432c10251 Reuse Java safe delete for non-local functions in Kotlin 2014-01-24 13:10:20 +04:00
Alexey Sedunov
e70af5d372 Improvements in element description provider (proper treatment of light classes/methods, support of simple vs qualified names) 2014-01-24 13:10:19 +04:00
Alexey Sedunov
fc848ec263 Translate "Safe Delete" usage info classes to Kotlin 2014-01-24 13:10:18 +04:00
Alexander Udalov
c1777f28f9 Fix NPE in annotation deserializer 2014-01-23 22:02:59 +04:00
Valentin Kipyatkov
3e4b0d960a Added missing intention description 2014-01-23 20:27:36 +04:00
Valentin Kipyatkov
020ea99220 Intention "Convert to expression body" 2014-01-23 18:50:26 +04:00
Valentin Kipyatkov
d01ff28212 Quickfix and intention tests refactoring: refer to intention action by class when checking that it's not available (instead of listing all available actions) 2014-01-23 18:46:27 +04:00
Valentin Kipyatkov
3028cec4cd More correct code transformations: do not perform formatter's job on yourself 2014-01-23 18:46:26 +04:00
Andrey Breslav
ab7d8a7734 Tests for abstract functions with default arguments 2014-01-23 17:59:18 +04:00
Andrey Breslav
4ab0b00bd3 Support [throws] annotation 2014-01-23 17:59:18 +04:00
Andrey Breslav
b66a76e7d2 xxx$default() function should be visible from Java 2014-01-23 17:59:17 +04:00
Andrey Breslav
39234b4d3e Delegated members should not be synthetic
Otherwise they are invisible to Java code
2014-01-23 17:59:17 +04:00
Andrey Breslav
ec3eee133f Ant build requires 512M of heap 2014-01-23 17:59:17 +04:00
Alexander Udalov
0e352aa57a Rename test functions to avoid clashing with JUnit
Android JVM tests run codegen test data with JUnit in classpath
2014-01-23 15:21:54 +04:00
Evgeny Gerashchenko
d3570153ef Fixed mapping generic type with multiple bounds from Java to Kotlin.
#KT-3480 fixed
2014-01-23 12:33:58 +04:00
Zalim Bashorov
e47c84f40f Update to IDEA 133.672 EAP 2014-01-23 12:33:57 +04:00
Alexander Udalov
09e772ff61 Make comparison with NaN consistent with javac 2014-01-22 21:20:09 +04:00
Alexander Udalov
db9d0e381b Rework BuiltInsSerializer
BuiltInsSerializer will be distributed with Kotlin compiler from now on. This
will allow to serialize binary data of built-ins on 'ant dist', as opposed to
storing all *.kotlin_class files in the repository: ant dist will just invoke
this serializer from bootstrap-compiler.jar
2014-01-22 19:11:43 +04:00
Alexander Udalov
d4c98ec18c Prevent annoying tooltip in Kotlin project
Module 'builtins' has no dependency on kotlin-runtime.jar, yet it has a lot of
Kotlin files. Add jet.Unit to the list of marker classes as an example of the
class not from the stdlib, but from built-ins. Since 'builtins' has jet.Unit in
its classpath, no tooltip is displayed
2014-01-22 19:11:42 +04:00
Andrey Breslav
f757881f22 [throws] annotation added to the standard library 2014-01-22 19:04:44 +04:00
Andrey Breslav
0f301e0d2a Support force-resolving lazy annotations 2014-01-22 19:04:43 +04:00
Andrey Breslav
71dd3aaf86 Rename: LazyDescriptor -> LazyEntity 2014-01-22 19:04:43 +04:00
Andrey Breslav
04b47439bd Use findAnnotation() instead of iterating through all annotations 2014-01-22 19:04:43 +04:00
Andrey Breslav
ca7d5a2988 Java annotation resolution made lazy 2014-01-22 19:04:43 +04:00
Andrey Breslav
7d10cfa4a5 Annotations.findAnnotation() added 2014-01-22 19:04:43 +04:00
Andrey Breslav
2ac0853225 Make room for laziness in the Annotations interface 2014-01-22 19:04:42 +04:00
Evgeny Gerashchenko
357fc55358 KT-4456 Generated wrong bytecode when Kotlin class inherited from Java Interface with method which have SAM type argument
#KT-4456 fixed
2014-01-22 16:09:03 +04:00
Andrey Breslav
7b61bdb9b1 Overload constructor of Composite iterator for lazy use cases
This time in the right file
2014-01-22 01:58:46 +04:00
Evgeny Gerashchenko
847d69ee2e Added tests for class object and nested objects. 2014-01-21 18:32:59 +04:00
Evgeny Gerashchenko
8e442bc509 Moved test data. 2014-01-21 18:32:58 +04:00
Evgeny Gerashchenko
461b64e0e7 Removed old injava completion test (all cases are covered by common source/binary tests). 2014-01-21 18:32:57 +04:00
Evgeny Gerashchenko
d502c5af64 Moved injava handler test data. 2014-01-21 18:32:56 +04:00
Evgeny Gerashchenko
a75490803a Test for completion of kotlin sources in java. Reused same test data. 2014-01-21 18:32:55 +04:00
Evgeny Gerashchenko
e4b9c7fd40 Test for completion of kotlin binaries in java. 2014-01-21 18:32:54 +04:00
Andrey Breslav
816e9975ad Overload constructor of Composite iterator for lazy use cases 2014-01-21 16:20:19 +04:00
Alexey Sedunov
3e6f879571 Show call sites of overriden members in "Caller Hierarchy"
#KT-4395 Fixed
2014-01-21 13:53:22 +04:00
Alexey Sedunov
7ec21fc5ca Reuse applicability criteria 2014-01-21 13:31:32 +04:00
Alexey Sedunov
c42e48ef21 Remove unnecessary overriding method 2014-01-21 13:31:32 +04:00
Andrey Breslav
ce1702d633 Replace a hack (Internals class) with a less-of-a-hack workaround
LockBasedLazyResolveStorageManager is put into the same package as LockBasedStorageManager
2014-01-20 23:01:19 +04:00
Andrey Breslav
4936b66626 Do not hide annotations on light classes 2014-01-20 22:35:01 +04:00
Andrey Breslav
b12b6c4080 Merge pull request #340 from Stebalien/fix-file-to_path-java7
Add annotation for `java.io.File.toPath()`
2014-01-20 08:37:57 -08:00
Andrey Breslav
2c61ff9085 Use Project SDK for jps-plugin 2014-01-20 20:12:17 +04:00
Steven Allen
b8d4d07b12 Add annotation for java.io.File.toPath() 2014-01-20 11:09:33 -05:00
Andrey Breslav
77c340d872 Always use Project SDK 2014-01-20 20:08:28 +04:00
Pavel V. Talanov
491e8f2edb Formatter refactoring: move formatting rules to a separate file to avoid mixing up with helper code 2014-01-20 19:54:47 +04:00
Pavel V. Talanov
74dfac4bdb Formatter settings: expand example to demonstrate some of the new options 2014-01-20 19:54:46 +04:00
Pavel V. Talanov
4ef7086e5c Formatter: force keyword to be on exactly next line if the corresponding option is set 2014-01-20 19:54:45 +04:00
Pavel V. Talanov
53d503e242 Formatter: support "catch on new line" and "finally on new line" options 2014-01-20 19:54:44 +04:00
Pavel V. Talanov
7dc7db04b3 Formatter: support "while on new line" option 2014-01-20 19:54:43 +04:00
Pavel V. Talanov
5caabc20f6 Formatter: support "else on new line" option 2014-01-20 19:54:42 +04:00
Pavel V. Talanov
97487e7238 Formatter: UI for left brace placement option 2014-01-20 19:54:40 +04:00
Pavel V. Talanov
f65740f2bd Formatter: left brace formatting for "when" expression and "when" entries 2014-01-20 19:54:39 +04:00
Pavel V. Talanov
03ad7ff49a Formatter: improve indentation rules for when entries 2014-01-20 19:54:38 +04:00
Pavel V. Talanov
7afc9bc30d Formatter: left brace formatting in class/trait/class object/object/object literal declarations 2014-01-20 19:54:37 +04:00
Pavel V. Talanov
e1dab0e1c7 Formatter: left brace formatting for function declaration 2014-01-20 19:54:36 +04:00
Pavel V. Talanov
e0b1170dc6 Formatter: left brace formatting for "for in ..." 2014-01-20 19:54:35 +04:00
Pavel V. Talanov
2aea631c1b Formatter: left brace formatting for "do while" 2014-01-20 19:54:34 +04:00
Pavel V. Talanov
7687e3d61f Formatter: left brace formatting for "try/catch/finally" 2014-01-20 19:54:33 +04:00
Pavel V. Talanov
d3f8b70aa6 Formatter: left brace formatting for "while" statement 2014-01-20 19:54:32 +04:00
Pavel V. Talanov
b404812a77 Formatter tests: minor, enhance "IfSpacing" test 2014-01-20 19:54:31 +04:00
Pavel V. Talanov
a95a8c0368 Formatter: Move custom rule down by eliminating conflicting rule 2014-01-20 19:54:30 +04:00
Pavel V. Talanov
ae473ba3ab Formatter tests: minor, enhance test for function literal 2014-01-20 19:54:29 +04:00
Pavel V. Talanov
ec22470062 Formatter refactoring: Rewrite spacing rules to kotlin, place all rules in one place 2014-01-20 19:54:28 +04:00
Pavel V. Talanov
745252c23e Formatter tests: Separate test model for tests with inverted settings 2014-01-20 19:54:27 +04:00
Pavel V. Talanov
586ac35c7b Formatter tests: Fix wrong test file extension (prevented a bunch of formatter tests from running) 2014-01-20 19:54:26 +04:00
Pavel V. Talanov
2d6f8aef4e Formatter: introduce "Put left brace on new line option", support this option for "if/else" expressions 2014-01-20 19:54:25 +04:00
Pavel V. Talanov
dab3cf37eb Convert Java to Kotlin action: minor improvements
Do not show "Do you want to backup?" dialog if no java files are selected
Improve the code
Change dialog title to Convert Java to Kotlin
Actually cancel if user presses cancel
2014-01-20 19:54:24 +04:00
Andrey Breslav
6ce0b9b919 Annotations used instead of List<AnnotationDescriptor> 2014-01-20 16:17:54 +04:00
Andrey Breslav
314b1e371b Test for the case when annotation arguments contain null in Java
This is an error in Java, but it may be present in the source by mistake
2014-01-20 16:17:53 +04:00
Andrey Breslav
8f56283771 Same storage manager used by lazy resolve session in AnalyzerFacadeForJVM and the rest of the components 2014-01-20 16:17:53 +04:00
Andrey Breslav
1af71c4dbe Using common storage manager for all lazy services 2014-01-20 16:17:53 +04:00
Nikolay Krasko
559f212cfc Redeclaration for same file in different files 2014-01-17 17:28:13 +04:00
Nikolay Krasko
6e25582019 Refactoring: remove unused variable, invert if (move common case to general return, remove boolean invert operator) 2014-01-17 17:28:12 +04:00
Nikolay Krasko
ff747c0e34 Refactoring: move inner class to package level 2014-01-17 17:28:11 +04:00
Nikolay Krasko
4d95a29590 Refactoring: remove local function 2014-01-17 17:28:10 +04:00
Nikolay Krasko
b84c1a2113 Refactoring: remove warning 2014-01-17 17:28:08 +04:00
Nikolay Krasko
72d5513786 Add accessors to dictionary 2014-01-17 17:28:07 +04:00
Nikolay Krasko
e937e3aa9c Fix syntax errors in test 2014-01-17 17:28:06 +04:00
Nikolay Krasko
db57a7f085 Minor: remove outdated todo comments 2014-01-17 17:28:05 +04:00
Nikolay Krasko
15c5a58b3a Add assert messages 2014-01-17 17:28:03 +04:00
Evgeny Gerashchenko
79cab1f1b6 Updated test data. 2014-01-16 23:40:18 +04:00
Evgeny Gerashchenko
82af76fa85 Fixed file name case. 2014-01-16 22:57:25 +04:00
Evgeny Gerashchenko
ae4c68830d Importing root scope without members. 2014-01-16 22:11:55 +04:00
Evgeny Gerashchenko
78e7cbb7fb Extracted SubpackagesScope. 2014-01-16 20:34:11 +04:00
Evgeny Gerashchenko
7c059e2ae8 Removed assertion since it could appear in normal situation. 2014-01-16 20:34:10 +04:00
Evgeny Gerashchenko
292f0e4a38 Introduced lazy type and some related optimizations. 2014-01-16 20:34:10 +04:00
Andrey Breslav
0155bf0189 Fix for KT-4413 Do not add error types to supertype lists
The list is not filtered upon creation because it would force lazy types to compute

#KT-4413 Fixed
2014-01-16 20:05:12 +04:00
Nikolay Krasko
72d3b46fc6 Revert "Add method for getting all classifiers with given name from the scope"
This reverts commit 97759f5bb7.
2014-01-15 22:01:04 +04:00
Nikolay Krasko
0d141d959a Add tests for EA-52767 and KT-4366: "java.lang.IllegalArgumentException: Could not find a classifier for "... 2014-01-15 22:01:03 +04:00
Nikolay Krasko
07229b23d9 Refactoring: extract methods 2014-01-15 22:01:03 +04:00
Alexander Udalov
eb1f573d03 Update to IDEA 133.609 EAP 2014-01-15 20:16:51 +04:00
Natalia Ukhorskaya
14f4b6e4b4 Update android annotations. Do not add jdk annotations for android sdk 2014-01-15 18:00:46 +04:00
Alexey Sedunov
786e59bbfa Implement "Override hierarchy" view 2014-01-15 16:49:39 +04:00
Alexey Sedunov
4ba01ee1d5 Extract methods for conversion between Kotlin declarations and light
methods
2014-01-15 16:49:37 +04:00
Alexey Sedunov
f30d4f042e Fix warnings 2014-01-15 16:49:36 +04:00
Alexey Sedunov
b1c3dc9a48 Use overriders search in "Find Usages" 2014-01-15 16:49:35 +04:00
Alexey Sedunov
4c98cf1b2c Implement overriders search 2014-01-15 16:49:34 +04:00
Alexey Sedunov
8d2ac7c483 Implement hierarchical search 2014-01-15 16:49:33 +04:00
Alexey Sedunov
fc79d34345 Drop class inheritors searcher as it became deprecated after light classes improvements 2014-01-15 16:49:33 +04:00
Alexey Sedunov
88bb5be260 Translate KotlinTypeParameterFindUsagesHandler to Kotlin 2014-01-15 16:49:32 +04:00
Alexey Sedunov
f9f932eab0 Translate JetImportFilteringRule to Kotlin 2014-01-15 16:49:30 +04:00
Alexey Sedunov
ff6456c609 Translate KotlinFindClassUsagesHandler to Kotlin 2014-01-15 16:49:29 +04:00
Alexey Sedunov
e2118b7ae8 Tests for additional lazy resolve (local classes/objects in class initializers) 2014-01-15 16:49:29 +04:00
Alexey Sedunov
adddb70e50 Add codegen tests for local classes/objects declated in class initializers or class parameter initializers 2014-01-15 16:49:28 +04:00
chashnikov
cfd9431d50 Merge pull request #336 from christian-laakmann/patch-1
KT-4371 Add Char.plus(String) to standard library
2014-01-15 04:48:04 -08:00
Ilya Klyuchnikov
5fb81aaa8b filtering incorrect annotation from idea jdk annotations, filtering problematic class javax.management.openmbean.TabularDataSupport from ValidityTest 2014-01-15 16:40:45 +04:00
Andrey Breslav
ca5cf6f3cc Infinite recursion broken for subpackage search 2014-01-15 16:16:22 +04:00
Andrey Breslav
6fe122e7db Correct nullability when loading annotations from Java 2014-01-15 16:16:22 +04:00
Andrey Breslav
8be8ab9c9b Useless method removed
Package fragments do not nest, do there's no need to account for subpackages in member scopes
2014-01-15 16:16:22 +04:00
Andrey Breslav
ff6cbca797 Cryptic-looking functions (iif, eq, neq etc) removed 2014-01-15 16:16:21 +04:00
Andrey Breslav
df88e3e625 Introducing dependency kinds to prioritize package fragments 2014-01-15 16:16:21 +04:00
Andrey Breslav
935fae70ea Prefer sources to binaries in JDR 2014-01-15 16:16:20 +04:00
Andrey Breslav
5a49b6fda5 Loading classes with wrong ABI version as Java classes 2014-01-15 16:16:20 +04:00
Andrey Breslav
2e4d166d6f Loading deseralized descriptors integrated with loading from bare Java code 2014-01-15 16:16:19 +04:00
Andrey Breslav
672594cb92 Deserialization made available through context 2014-01-15 16:16:19 +04:00
Andrey Breslav
2febcb175d Minor: typo fixed 2014-01-15 16:16:18 +04:00
Andrey Breslav
308e438671 Java package fragment's provider is JavaPackageFragmentProvider 2014-01-15 16:16:18 +04:00
Andrey Breslav
1f382ca744 JavaDescriptorResolver exposes ModuleDescriptor 2014-01-15 16:16:17 +04:00
Andrey Breslav
7ebaeae37e Tests regenerated 2014-01-15 16:16:17 +04:00
Andrey Breslav
372ab7954b Got rid of getExactlyOnePackageFragment() 2014-01-15 16:16:16 +04:00
Andrey Breslav
48ac30a933 Add getPackageFragment() to JavaDescriptorResolver 2014-01-15 16:16:16 +04:00
Andrey Breslav
45bd70daec JavaPackageFragmentProvider is only accessible through JavaDescriptorResolver
We need this to guarantee that only one provider is used: either lazy or eager.
2014-01-15 16:16:16 +04:00
Andrey Breslav
cedbc0ea53 Add default supertype to enum class objects 2014-01-15 16:16:15 +04:00
Andrey Breslav
a998c7c963 Injectors regenerated 2014-01-15 16:16:15 +04:00
Andrey Breslav
5d9c11a61e JavaDescriptorResolver returns LazyJavaPackageFragmentProvider in LAZY mode 2014-01-15 16:16:14 +04:00
Andrey Breslav
ada79588f6 Names of subpackages and classes are computed in LazyJavaPackageFragmentProvider 2014-01-15 16:16:14 +04:00
Andrey Breslav
c01705f542 Unneeded subclasses replaced by factory methods 2014-01-15 16:16:14 +04:00
Andrey Breslav
09c33044f3 Rename: LazyJavaSubModule -> LazyJavaPackageFragmentProvider 2014-01-15 16:16:13 +04:00
Andrey Breslav
96a3905dec LazyJavaPackageFragment implements JavaPackageFragmentDescriptor 2014-01-15 16:16:13 +04:00
Andrey Breslav
512599bdf1 LazyJavaSubModule turned into a JavaPackageFragmentProvider 2014-01-15 16:16:13 +04:00
Andrey Breslav
b9526f8907 Members of Java interfaces annotated @ReadOnly 2014-01-15 16:16:12 +04:00
Andrey Breslav
4176ce4e6c Fixing compilation errors to account for package fragment/view 2014-01-15 16:16:10 +04:00
Andrey Breslav
a93769b933 Test data fixed 2014-01-15 16:14:59 +04:00
Andrey Breslav
a26c37419e Synthetic classes created for enum entries 2014-01-15 16:14:58 +04:00
Andrey Breslav
c4fe79f81e Special case for enum entries is not needed any more 2014-01-15 16:14:58 +04:00
Andrey Breslav
811bf22375 Account for API changes 2014-01-15 16:14:58 +04:00
Andrey Breslav
0f9b9ed245 StorageManager rewritten to Kotlin 2014-01-15 16:14:57 +04:00
Andrey Breslav
81069cd213 Minor code improvements 2014-01-15 16:14:57 +04:00
Andrey Breslav
d52a1b56ae Rename innerC to c 2014-01-15 16:14:57 +04:00
Andrey Breslav
5442eaf15f Useless method removed 2014-01-15 16:14:56 +04:00
Andrey Breslav
3e4c533167 Do not allow built-in classes in Java resolve 2014-01-15 16:14:56 +04:00
Andrey Breslav
01b456f5c2 Temporarily caching resolved classes in the trace (for existing code in the IDE to be happy) 2014-01-15 16:14:55 +04:00
Andrey Breslav
ef220eff92 Record Java packages in the trace
Account for LazyJavaPackageFragment in FindUsages
2014-01-15 16:14:55 +04:00
Andrey Breslav
ec1960a960 Detect Kotlin binaries by actually loading binary data, not simply checking whether the annotation is present
This is needed because even if the annotation is present, the ABI version may be wrong, and we should load such class as a Java class anyways
2014-01-15 16:14:55 +04:00
Andrey Breslav
b16b9c58e1 If all supertypes are errors, do not leave the supertype list empty 2014-01-15 16:14:54 +04:00
Andrey Breslav
6915773150 Record lazy classes created 2014-01-15 16:14:54 +04:00
Andrey Breslav
382b29edc8 Fix qualified name construction for the case when IDEA distorts them (e.g. replaces all '$' by '.') 2014-01-15 16:14:54 +04:00
Andrey Breslav
b1c4665246 Support enums in Java code 2014-01-15 16:14:53 +04:00
Andrey Breslav
6ff2d68206 A flag replaced by a predicate 2014-01-15 16:14:53 +04:00
Andrey Breslav
6d4e025267 Do not filter package names by hasStaticMembers() 2014-01-15 16:14:53 +04:00
Andrey Breslav
8ee344132d Resolve annotations on classes lazily 2014-01-15 16:14:52 +04:00
Andrey Breslav
137f33c829 Do not resolve Kotlin binaries as Java classes 2014-01-15 16:14:52 +04:00
Andrey Breslav
2765327ae5 Detour for built-in classes 2014-01-15 16:14:52 +04:00
Andrey Breslav
258db05af2 Always go through JavaDescriptorResolver when resolving classes/packages 2014-01-15 16:14:51 +04:00
Andrey Breslav
d0c0ba83fc Look packages up through JavaDescriptorResolver 2014-01-15 16:14:51 +04:00
Andrey Breslav
71ed2d2c71 Do not fail when an allegedly present name is not resolved 2014-01-15 16:14:50 +04:00
Andrey Breslav
e538668229 Do not allow error supertypes 2014-01-15 16:14:50 +04:00
Andrey Breslav
31d4993406 Properly handle @NotNull for arrays 2014-01-15 16:14:50 +04:00
Andrey Breslav
3f3030ff26 Account for fields annotated @NotNull 2014-01-15 16:14:49 +04:00
Andrey Breslav
645b878ac2 Java resides in the same module as Kotlin 2014-01-15 16:14:49 +04:00
Andrey Breslav
834b306706 Render nullability for error types properly 2014-01-15 16:14:49 +04:00
Andrey Breslav
1eb38febf2 Supertypes are always not null 2014-01-15 16:14:48 +04:00
Andrey Breslav
111b11113d Load classes from Kotlin binaries 2014-01-15 16:14:48 +04:00
Andrey Breslav
e1f7a3cb2b Filter special annotations 2014-01-15 16:14:48 +04:00
Andrey Breslav
67ab159504 Do not build descriptors for built-in classes 2014-01-15 16:14:47 +04:00
Andrey Breslav
eacb731308 Support SAM constructors 2014-01-15 16:14:47 +04:00
Andrey Breslav
9356af8d73 No classes are resolved through package scope for class static members 2014-01-15 16:14:47 +04:00
Andrey Breslav
7619e8f3c7 Support SAM adapters for functions and constructors 2014-01-15 16:14:46 +04:00
Andrey Breslav
834db7a7cc Properly account for constructor's own type parameters 2014-01-15 16:14:46 +04:00
Andrey Breslav
cc1d8448ed Prevent lazy types to be accidentally computed in debug 2014-01-15 16:14:45 +04:00
Andrey Breslav
c94b658462 Nullability fixed for upper bounds that are not type parameters 2014-01-15 16:14:45 +04:00
Andrey Breslav
5c64ad93f8 Properly map annotation classes and account for @Deprecated 2014-01-15 16:14:45 +04:00
Andrey Breslav
34234485a5 Properly look up annotations 2014-01-15 16:14:44 +04:00
Andrey Breslav
0378551b72 Allow for Kotlin class resolution 2014-01-15 16:14:44 +04:00
Andrey Breslav
6257471e24 Prevent recursion on getting all subpackages 2014-01-15 16:14:44 +04:00
Andrey Breslav
924ff03c1c JavaDescriptorResolver exposed for tests 2014-01-15 16:14:43 +04:00
Andrey Breslav
aa34310770 Properly transforming type parameters in case of raw types, and mismatches between parameter and argument numbers
NOTE: JetType.getArguments() now implies that JetType.getConstructor() is computed. In most use cases this happens anyways due to the logic of the client code
2014-01-15 16:14:43 +04:00
Andrey Breslav
c13b77d94c Take care of Java's constructor type parameters 2014-01-15 16:14:43 +04:00
Andrey Breslav
2f2332bfe2 No need for applyNullability() 2014-01-15 16:14:42 +04:00
Andrey Breslav
4a15c6728d Propagation and alternative signatures for functions in Java 2014-01-15 16:14:42 +04:00
Andrey Breslav
089352b525 isError() implemented for lazy java types 2014-01-15 16:14:41 +04:00
Andrey Breslav
03a9c776b2 Support loading Java fields as properties 2014-01-15 16:14:38 +04:00
Andrey Breslav
03cb977b2a Support overrides in Java classes 2014-01-15 16:07:40 +04:00
Andrey Breslav
d79403d82c Don't fail on star projections for error types 2014-01-15 16:07:40 +04:00
Andrey Breslav
78a4b6fff6 Error class descriptor must not fail an attempt to create a type with arguments from it 2014-01-15 16:07:39 +04:00
Andrey Breslav
b3f9dddc84 All extra services delivered through contexts 2014-01-15 16:07:39 +04:00
Andrey Breslav
297bfd2903 Resolve functions in packages loaded from Java classes 2014-01-15 16:07:39 +04:00
Andrey Breslav
eb56550c54 Properly load Java classes as packages 2014-01-15 16:07:38 +04:00
Andrey Breslav
521c203f76 Proper toString() added to lazy classes 2014-01-15 16:07:38 +04:00
Andrey Breslav
5eacd6bdee Differentiate package fragments loaded from java packages and java (static) classes 2014-01-15 16:07:38 +04:00
Andrey Breslav
8dc526a5e1 isEmpty() and flatten() added 2014-01-15 16:07:38 +04:00
Andrey Breslav
e0d890853d Adding submodule to the context 2014-01-15 16:07:38 +04:00
Andrey Breslav
65316b9fab printAndReturn() added 2014-01-15 16:07:38 +04:00
Andrey Breslav
ba81e40ccb Constructors supported 2014-01-15 16:07:37 +04:00
Andrey Breslav
d0d77181e3 ifEmpty for collections 2014-01-15 16:07:37 +04:00
Andrey Breslav
cee4c0c29d All Java classes extend java.lang.Object (directly or indirectly) 2014-01-15 16:07:37 +04:00
Andrey Breslav
1ea9be67c4 Support netsted classes 2014-01-15 16:07:37 +04:00
Andrey Breslav
2620c872ab JavaDescriptorResolver can work in lazy or non-lazy mode 2014-01-15 16:07:37 +04:00
Andrey Breslav
cc06e4aaf9 Basic implementation for class resolver 2014-01-15 16:07:36 +04:00
Andrey Breslav
9ace8eedf1 Resolving functions (no propagation/alternative signatures) 2014-01-15 16:07:36 +04:00
Andrey Breslav
8b6047e48f Allow to trigger search for external annotations lazily 2014-01-15 16:07:36 +04:00
Andrey Breslav
bed01b601b Annotations supported 2014-01-15 16:07:36 +04:00
Andrey Breslav
93dc130e79 Initial version of lazy Java type resolver 2014-01-15 16:07:36 +04:00
Andrey Breslav
8a354ccd15 JDR subsystem: utility methods made public 2014-01-15 16:07:35 +04:00
Andrey Breslav
9879965407 Library functions 2014-01-15 16:07:35 +04:00
Andrey Breslav
36dd874c27 coreLib and Java collections utilities 2014-01-15 16:07:35 +04:00
Andrey Breslav
d0a93f8be0 Pull common method up 2014-01-15 16:07:35 +04:00
Nikolay Krasko
97759f5bb7 Add method for getting all classifiers with given name from the scope 2014-01-15 16:03:50 +04:00
Nikolay Krasko
c46214fd31 Refactoring: use selectors for chain scope behaviour implementation 2014-01-15 16:00:34 +04:00
Nikolay Krasko
297d473273 Refactoring: Move class 2014-01-15 15:19:39 +04:00
Nikolay Krasko
4de9b2d205 Minor: remove waring about annotation absence in JetScope class 2014-01-15 14:05:09 +04:00
Nikolay Krasko
320635c2a4 Minor: add 'goto' to dictionary 2014-01-15 13:09:27 +04:00
Evgeny Gerashchenko
41f61c22e5 Fixed file name case (to fix tests on Linux). 2014-01-14 22:38:12 +04:00
Evgeny Gerashchenko
ad44860604 Fixed file name case (to fix tests on Linux). 2014-01-14 22:11:32 +04:00
Evgeny Gerashchenko
c924a5d097 Test for KT-3444 Front-end doesn't check if local function or function of anonymous class returns value
#KT-3444 obsolete
2014-01-14 19:13:19 +04:00
Evgeny Gerashchenko
b3ab147f6a Minor. Subclassing from interface directly. 2014-01-14 19:13:18 +04:00
Evgeny Gerashchenko
5b7b0c5437 Simpler workaround for infinite recursion when obtaining Java sub packages. 2014-01-14 19:13:18 +04:00
Evgeny Gerashchenko
cb78defa36 Considering static members when checking package-private visibility. 2014-01-14 19:13:16 +04:00
Evgeny Gerashchenko
e994b718cb KT-4351 Cannot resolve reference to self in init of class local to function
#KT-4351 fixed
2014-01-14 19:13:16 +04:00
Evgeny Gerashchenko
958f7c862d Got rid of "namespace" word in test data. 2014-01-14 18:06:50 +04:00
Evgeny Gerashchenko
ee3312fb00 Got rid of "namespace" word in plugin code. 2014-01-14 18:06:50 +04:00
Evgeny Gerashchenko
b41a3f8558 Got rid of "namespace" word in compiler code. 2014-01-14 18:06:50 +04:00
Evgeny Gerashchenko
093afeb05c Renamed diagnostics (namespace → package). 2014-01-14 18:06:49 +04:00
Evgeny Gerashchenko
73ad5552c8 RootNamespaceExpression → RootPackageExpression. 2014-01-14 18:06:49 +04:00
Evgeny Gerashchenko
791b5bb84c JetNamespaceHeader → JetPackageDirective. 2014-01-14 18:06:48 +04:00
Evgeny Gerashchenko
25c65173f2 More exact return type. 2014-01-14 18:06:48 +04:00
Evgeny Gerashchenko
4239f5bb18 Got rid of "namespace" word in backend. 2014-01-14 18:06:47 +04:00
Evgeny Gerashchenko
1f74f02344 NamespaceFactoryImpl is abolished, since it is almost trivial. 2014-01-14 18:06:47 +04:00
Evgeny Gerashchenko
5319c6e24c LazyResolveNamespaceComparingTest → LazyResolveRecursiveComparingTest 2014-01-14 18:06:47 +04:00
Evgeny Gerashchenko
db13cc6ec2 OwnerKind.NAMESPACE → OwnerKind.PACKAGE 2014-01-14 18:06:47 +04:00
Evgeny Gerashchenko
7e7908b831 Got rid of "namespace" term in descriptors module. 2014-01-14 18:05:58 +04:00
Evgeny Gerashchenko
997d3597a9 NamespaceType → PackageType. 2014-01-14 18:05:58 +04:00
Evgeny Gerashchenko
1f615d08c7 NamespaceLikeBuilder → PackageLikeBuilder. 2014-01-14 18:05:57 +04:00
Evgeny Gerashchenko
2189fce64b Renamed class. 2014-01-14 18:05:57 +04:00
Alexander Udalov
7041a10ecf Fix VerifyError on primitive override properties
Don't just blindly map property type in PropertyCodegen when generating getter:
we already have its full signature, so we can just as well take the type from
it. The former also isn't correct for properties which are overrides with a
primitive type. Simple mapType is safe for setter though, because the type of a
method parameter cannot change with override on JVM

The change in StackValue relates to call sites of properties which return Unit:
in that case StackValue's this.type is V, whereas the return type of its getter
is Ljet/Unit; -- so coerceTo was coercing from the wrong type in case of getter
calls

 #KT-4373 Fixed
 #KT-4383 Fixed
2014-01-14 17:52:27 +04:00
Alexander Udalov
b92e121458 Minor inlines and renames in PropertyCodegen 2014-01-14 17:43:32 +04:00
Evgeny Gerashchenko
64b982d821 Verifier URL is always provided from teamcity. 2014-01-14 16:27:51 +03:00
Andrey Breslav
b120a5150c Foo.class never yields null in Java annotation arguments 2014-01-14 16:37:51 +04:00
Andrey Breslav
84709ed363 Annotation methods never return null 2014-01-14 16:37:51 +04:00
Andrey Breslav
bf20c3a734 Annotation constructor parameters are never nullable 2014-01-14 16:37:51 +04:00
Andrey Breslav
65d90e18a2 Use DescriptorRenderer to render annotations everywhere 2014-01-14 16:37:50 +04:00
Valentin Kipyatkov
9fa29535b4 Fixed tests 2014-01-14 16:14:56 +04:00
Valentin Kipyatkov
7aed55fa1d Reference shortening: performance optimization 2014-01-13 19:50:35 +04:00
Nikolay Krasko
ce55f10df1 Fix @Nullable annotation for JetClassObject.getObjectDeclaration() 2014-01-13 17:46:46 +04:00
Nikolay Krasko
c0187ffcd1 Always create descriptors for class object psi element in lazy resolve
KT-4397 Exception: @NotNull method org/jetbrains/jet/lang/resolve/lazy/ResolveSession.getClassDescriptor must not return null

 #KT-4397 Fixed
2014-01-13 16:14:59 +04:00
Nikolay Krasko
4928ff575d Refactoring: extract method 2014-01-13 12:15:28 +04:00
Nikolay Krasko
7094351c00 Refactoring: remove state 2014-01-13 12:15:27 +04:00
Nikolay Krasko
b54fd9fd4e Minor: fix spelling warnings 2014-01-13 12:15:26 +04:00
Alexander Udalov
ba9ea75f9e Change workaround for redeclaration problem
Without this hack, redeclarations are reported when you try to rewrite *Range
classes to Kotlin
2014-01-10 17:26:41 +04:00
Andrey Breslav
01c6997fb7 Enum replaced by a map 2014-01-09 21:48:02 +04:00
Alexander Udalov
afc62dabd9 Disable assertion in redeclaration checker
Workaround a problem with Java built-in sources
2014-01-09 21:30:10 +04:00
Pavel V. Talanov
160f897806 Conversion on copy paste: Reformat code after conversion 2014-01-09 21:07:24 +04:00
Pavel V. Talanov
7db53106fd Stdlib: fix signature of Reader.forEachLine() function
#KT-4242 Fixed
2014-01-09 21:07:23 +04:00
Andrey Breslav
66c7e89f57 TODO added 2014-01-09 20:41:44 +04:00
Andrey Breslav
8b37db12b9 Concrete header classes replaced by kinds
AS a consequence, instanceof checks removed, code simplified
2014-01-09 20:41:44 +04:00
Andrey Breslav
ce18d5ad8c KotlinClassHeader.read() removed 2014-01-09 20:41:44 +04:00
Andrey Breslav
8f8b85101e All IDE code uses VirtualFileFinder instead of KotlinClassFinder + proper service discovery 2014-01-09 20:41:43 +04:00
Andrey Breslav
b3f4527bb8 KotlinJvmBinaryClass now has a getClassHeader() method 2014-01-09 20:41:43 +04:00
Andrey Breslav
7fc9772930 Direct instantiations of VirtualFileKotlinClass are replaced by access to caching service 2014-01-09 20:41:43 +04:00
Andrey Breslav
6c1f579c6d VirtualFileFinder and KotlinClassFinder effectively merged (through inheritance)
This is needed to implement caching of KotlinJvmBinaryClass instance inside CliVirtualFileFinder that relies on reading class headers for filtering
2014-01-09 20:41:43 +04:00
Andrey Breslav
8fcaf511dc Methods renamed to avoid ambiguity 2014-01-09 20:41:43 +04:00
Alexey Sedunov
5fcf9ca448 Fix error message in test data 2014-01-09 19:16:45 +04:00
Alexey Sedunov
446941257b KT-4392 #Fixed 2014-01-09 15:20:17 +04:00
Pavel V. Talanov
e693820fb4 Auto-imports for operator calls and infix calls
#KT-1613 Fixed
 #KT-4192 Fixed

Enable auto-import fix for "unresolved reference with wrong receiver" diagnostic
2013-12-31 13:24:38 +04:00
Pavel V. Talanov
63abe860d6 Minor: do not generate meaningless new lines when rendering to html 2013-12-31 13:24:37 +04:00
Natalia Ukhorskaya
9fb3a22a39 Prohibit modifiers on initializer #KT-4364 Fixed 2013-12-31 12:41:54 +04:00
Christian Laakmann
cfca717c35 KT-4371 Add Char.plus(String) to standard library 2013-12-31 09:16:03 +01:00
Andrey Breslav
161998d2b8 Recursion detection fixed for memoized functions 2013-12-30 19:43:17 +04:00
Andrey Breslav
968e380321 Proper toString() for wrapped throwables 2013-12-30 19:29:33 +04:00
Jon Renner
6781231411 KT-4347 add Array extension indexOf to stdlib 2013-12-30 14:42:56 +04:00
Alexander Udalov
0a552dbb04 Delete outdated hack 2013-12-30 06:41:13 +04:00
Alexander Udalov
713c6f13ae Fix primitive override problem in Kotlin-Java inheritance
See the comment in JetTypeMapper
2013-12-30 06:41:09 +04:00
Alexander Udalov
2ea62bde23 Add equals/hashCode/toString for JVM signatures 2013-12-30 04:15:30 +04:00
Alexander Udalov
603c207a9c Minor inline in BothSignatureWriter + toString() 2013-12-30 04:15:29 +04:00
Alexander Udalov
6a6d7bd236 Refactor JvmMethodSignature
Rename kotlinParameterTypes -> valueParameters. Inline some other methods
2013-12-30 04:15:28 +04:00
Alexander Udalov
d73b2057e3 Refactor CallableMethod, add convenient methods
It no longer exposes its JvmMethodSignature
2013-12-30 04:15:27 +04:00
Alexander Udalov
28d2306aa1 Add a convenient method JvmMethodSignature.getReturnType() 2013-12-30 04:15:26 +04:00
Alexander Udalov
fe96e64bd4 Minor refactoring in JetTypeMapper.mapReturnType 2013-12-30 04:15:25 +04:00
Alexander Udalov
d8c5b0236d Fix incorrect usage of mapReturnType in param assertions 2013-12-30 04:15:24 +04:00
Alexander Udalov
2553cd1907 Refactor JetTypeMapper.mapToCallableMethod parameters
Pass CodegenContext instead of two parameters that are always calculated by it
and instead of the other one which is always OwnerKind.IMPLEMENTATION (except a
single case where it was context.kind, but that case doesn't seem to matter)
2013-12-30 04:15:23 +04:00
Alexander Udalov
49a4abbc9e Minor renames and refactorings related to JetTypeMapper 2013-12-30 04:15:22 +04:00
Alexander Udalov
ace326f4cf Remove JetTypeMapper.map{G,S}etterSignature
Merge their logic with mapSignature()
2013-12-30 04:15:21 +04:00
Alexander Udalov
e531bebe06 Remove JetTypeMapper.mapConstructorSignature()
Move its code to mapSignature with the idea of a future unification of all
signature mapping
2013-12-30 04:15:20 +04:00
Alexander Udalov
fec3030142 Delete different mapSignature() overloads
JetTypeMapper now is fully aware of the name it should choose for the mapped
method. The only exception is SAM conversion in ClosureCodegen, where the name
must be replaced
2013-12-30 04:15:19 +04:00
Alexander Udalov
22883374ac Drop BothSignatureWriter.needGenerics
It's OK to always make JVM generic signature since it's already constructed at
the end anyway
2013-12-30 04:15:18 +04:00
Alexander Udalov
135accea1d Extract and use name-mapping method in JetTypeMapper
It doesn't ever make sense to create JVM method signatures with names that come
directly from descriptors; we need to map some of them (<get-?> for property
accessors, <anonymous> for local functions/lambdas)
2013-12-30 04:15:15 +04:00
Alexander Udalov
8e753e6efd Don't pass useless closure parameter to JetTypeMapper
It should always be recorded in BindingContext
2013-12-27 19:00:01 +04:00
Alexander Udalov
a84b984417 Minor, delete useless utilities 2013-12-27 19:00:01 +04:00
Svetlana Isakova
4657a4b271 fixed bug in renderer for violated upper bound error 2013-12-27 16:02:16 +04:00
Svetlana Isakova
c3ff6a2430 fixed exponential building of cf graph
if there was en error in chained qualified expression
2013-12-27 16:02:16 +04:00
Svetlana Isakova
7055ce2a1f added CFPContext to avoid recreating of CFPVisitor all the time;
used JetVisitorVoidWithParameter
2013-12-27 16:02:16 +04:00
Svetlana Isakova
4fe9fd20f3 added JetVisitorVoidWithParameter 2013-12-27 16:02:16 +04:00
Svetlana Isakova
66b8fc529f unified JetVisitor & JetVisitorVoid 2013-12-27 16:02:15 +04:00
Svetlana Isakova
531d337486 changed default positioning strategy:
added special handling for JetObjectLiteralExpression
2013-12-27 16:02:15 +04:00
Svetlana Isakova
d4c2a542eb fixed 'getSliceContents'
do not throw an exception when some slices were overwritten
2013-12-27 16:02:15 +04:00
Nikolay Krasko
217931622e Fix for IDEA complains when assigning Kotlin objects where java.lang.Object is expected
#KT-4355 Fixed
2013-12-27 15:03:59 +04:00
Nikolay Krasko
e0f13da108 Refactoring: rename method 2013-12-27 15:03:59 +04:00
Nikolay Krasko
b8ce52b995 Refactoring: remove warning 2013-12-27 15:03:58 +04:00
Jon Renner
e99a90b1c2 KT-4343 getStackTrace() for Throwables 2013-12-27 12:37:48 +04:00
Andrey Breslav
5d0c267fdf Merge pull request #334 from jrenner/gen-readme
add Readme to kotlin-stdlib-gen explaining how to run code generation
2013-12-26 23:40:42 -08:00
Jon Renner
9544624755 add Readme to kotlin-stdlib-gen explaining how to run code generation 2013-12-27 15:06:19 +08:00
Alexander Udalov
453b01bbbc Fix wrong assertion in KotlinSignature line markers
Since "memberScope" comes from JavaDescriptorResolver and the latter can return
Kotlin descriptors (built-in or deserialized from another module), "container"
must not always be JavaClassDescriptor.

This assertion was reproducible on Kotlin project by opening "IntProgression"
class from runtime module
2013-12-26 22:43:23 +04:00
Valentin Kipyatkov
259d9fb891 Smart completion handlers tests made generated 2013-12-26 17:29:39 +04:00
Valentin Kipyatkov
39f07b8354 Smart completion: imports insertion + fixed both behaviour and presentation of qualified members in lookup 2013-12-26 17:29:38 +04:00
Valentin Kipyatkov
f303b6dae5 Reference shortening: simplified code for getting resolve session 2013-12-26 17:28:21 +04:00
Mikhael Bogdanov
c9c50e4107 KT-4348: Array access operator overloading doesn't work with vararg's
#KT-4348 Fixed
2013-12-26 17:07:58 +04:00
Andrey Breslav
2daf6961b2 Do not add subpackages that are not found 2013-12-26 16:36:32 +04:00
Andrey Breslav
9d6d071cfb Logic in JetTypeMapper simplified: looking up Java classes directly 2013-12-26 16:36:32 +04:00
Andrey Breslav
4eb6228ce0 Better assertions message 2013-12-26 16:36:31 +04:00
Andrey Breslav
b6c5407aa0 Implementation-specific checks removed from LoadJava test 2013-12-26 16:36:31 +04:00
Andrey Breslav
debacf0554 Instances of ChainedScope should always have a debugMessage 2013-12-26 16:36:31 +04:00
Andrey Breslav
9353bfc449 Merge pull request #333 from jrenner/readme
update README - instructions for code generation
2013-12-26 04:32:36 -08:00
Jon Renner
a2ba7d74d5 update README - instructions for code generation 2013-12-26 20:25:19 +08:00
Natalia Ukhorskaya
18f4a20aa5 Regenerate OperationsMapGenerated.kt 2013-12-26 14:04:24 +04:00
Natalia Ukhorskaya
5c88c8c58f Make CompileTimeConstant abstract class 2013-12-26 13:50:28 +04:00
Natalia Ukhorskaya
292e825fac Increase timeout for android tests 2013-12-26 13:50:27 +04:00
Natalia Ukhorskaya
f2f1a1313d Add jdk jars to kotlin classpath
#KT-4214 Fixed
2013-12-26 13:50:10 +04:00
Evgeny Gerashchenko
4bc94e86c0 Removed unreachable code. 2013-12-25 21:12:24 +04:00
Evgeny Gerashchenko
513be47544 KT-4349 Make jet.Boolean implement Comparable
#KT-4349
2013-12-25 21:07:55 +04:00
Evgeny Gerashchenko
c616b4baa0 Striking out deprecated functions in parameter info. 2013-12-25 20:16:13 +04:00
Evgeny Gerashchenko
56d7f2a2d5 Checking for highlighted parameter in test. 2013-12-25 20:16:13 +04:00
Valentin Kipyatkov
ee62d318ee Fixed bug in reference shortening 2013-12-25 20:01:07 +04:00
Valentin Kipyatkov
906694c49a Minor refactoring in ResolveSessionUtils 2013-12-25 18:44:07 +04:00
Valentin Kipyatkov
b71020efc5 Refactored reference shortening utility (added expression references shortening and rewritten to Kotlin) 2013-12-25 18:40:16 +04:00
Andrey Breslav
fa8127d1a0 Merge pull request #329 from jrenner/patch-1
fix typo
2013-12-25 00:54:34 -08:00
Jon Renner
afde10093f fix typo 2013-12-25 13:37:23 +08:00
Evgeny Gerashchenko
bd4073932b Generating inner suites when dir is not empty, but has not files related to current test. 2013-12-24 23:15:28 +04:00
Evgeny Gerashchenko
90ad65bff8 Made rename refactoring inplace for loop, catch and function literal parameters.
#KT-1296 fixed
2013-12-24 22:30:28 +04:00
Nikolay Krasko
600bb49894 Use actions instead of commands 2013-12-24 22:00:59 +04:00
Nikolay Krasko
9dfe399bf1 Fix infinite analyze in Java files after opening Kotlin view in Kotlin file 2013-12-24 22:00:58 +04:00
Nikolay Krasko
fdeee587b7 Refactoring: extract common code with infinite cycled long running task 2013-12-24 22:00:58 +04:00
Alexander Udalov
571adf3acc Support references to local extensions in codegen 2013-12-24 20:41:20 +04:00
Alexander Udalov
d3a811aa7e Support closures in codegen for callable references 2013-12-24 20:41:20 +04:00
Alexander Udalov
596b1622a3 Add tests on callable references
Object members and accessors for private class members
2013-12-24 20:41:20 +04:00
Alexander Udalov
363fe607fc Support local function references in codegen
#KT-3704 In Progress
 #KT-1183 In Progress
2013-12-24 20:41:19 +04:00
Alexander Udalov
07648583ed Minor refactoring in callable reference codegen
Don't store an extra field for functionDescriptor, since it's available from
the superclass as "callableDescriptor". Store a referenced function descriptor
instead
2013-12-24 20:41:19 +04:00
Alexander Udalov
00cad9df91 Include error type in error message
Everything besides it is almost always useless: descriptor is usually
ERROR_CLASS, declarations are usually nulls because they come from a different
module
2013-12-24 20:41:19 +04:00
Alexander Udalov
8695a0e283 Minor, FieldInfo.toString() 2013-12-24 20:41:19 +04:00
Alexander Udalov
0e9c530567 Simplify function invocation in ExpressionCodegen
Callee is now generated only when it could be non-trivial, which is only the
case when generating function call in invokeFunction()
2013-12-24 20:41:19 +04:00
Alexander Udalov
351aa30141 Simplify code in StackValue$CollectionElement 2013-12-24 20:41:19 +04:00
Alexander Udalov
ece549b4d4 Minor, unindent code 2013-12-24 20:41:19 +04:00
Andrey Breslav
22bc499b96 Check header kind when deserializing from class files 2013-12-24 19:21:53 +04:00
Andrey Breslav
5f20450053 Preserve exception cause in LockBasedStorageManager 2013-12-24 19:21:52 +04:00
Alexey Sedunov
d00b17c621 Method rename 2013-12-24 12:10:55 +04:00
Alexey Sedunov
fbb03afc0f Remove unjustified assertions 2013-12-24 12:10:54 +04:00
Alexey Sedunov
6a9c535129 Navigate to containing declaration in case of local class 2013-12-24 12:10:53 +04:00
Alexey Sedunov
1e66a346d7 Use unsafe qualified names instead of safe ones in FQNAME_TO_CLASS_DESCRIPTOR slice 2013-12-24 12:10:53 +04:00
Alexey Sedunov
c20ee310d0 Add support of local classes/objects declared in class constructor parameters 2013-12-24 12:10:52 +04:00
Alexey Sedunov
34e80056eb Don't create PsiMethod wrapper when it's not necessary 2013-12-24 12:10:51 +04:00
Alexey Sedunov
fffddc3e87 Minor: Restructured KotlinLightClassForExplicitDeclaration, removed assertions 2013-12-24 12:10:50 +04:00
Alexey Sedunov
f94f391a4e Use scope based on constructor descriptor (rather than class itself) when
resolving class initializers
2013-12-24 12:10:49 +04:00
Alexey Sedunov
f381d97dc9 Provide fake enclosing PsiMembers for local light classes 2013-12-24 12:10:48 +04:00
Alexey Sedunov
f547cd2471 Make anonymous light classes descendants of PsiAnonymousClass 2013-12-24 12:10:47 +04:00
Alexey Sedunov
1d03f9f151 Fix caching of light class data for nested classes 2013-12-24 12:10:46 +04:00
Andrey Breslav
09642df623 JavaPackageFragmentDescriptor.getKind() introduced 2013-12-23 21:57:59 +04:00
Andrey Breslav
37a79e8299 Unused slice removed 2013-12-23 21:57:38 +04:00
Andrey Breslav
e5fdebd031 Rename method 2013-12-23 21:57:35 +04:00
Andrey Breslav
230e534989 Interface JavaPackageFragmentProvider extracted 2013-12-23 21:34:38 +04:00
Andrey Breslav
fc2d9cdde6 getProvider() added to PackageFragmentDescriptor 2013-12-23 21:34:38 +04:00
Andrey Breslav
3eadd1403d Looking up classes by fqName instead of complex package traversal 2013-12-23 21:34:38 +04:00
Andrey Breslav
da4245b712 JavaDescriptorResolver is accessible through JavaPackageFragmentDescriptor 2013-12-23 19:10:27 +04:00
Andrey Breslav
1d8547a789 Factory method moved to the top 2013-12-23 19:10:27 +04:00
Andrey Breslav
ed3932eca8 Extract interface JavaPackageFragmentDescriptor 2013-12-23 19:10:27 +04:00
Evgeny Gerashchenko
61d346e93d Reverted changes in test data to fix tests. 2013-12-23 18:28:10 +04:00
Nikolay Krasko
bbf1dff818 KT-4158 Autopopup completion selects irrelevant keyword and confuses typing
#KT-4158 Fixed
2013-12-23 16:43:15 +04:00
Nikolay Krasko
69cb9008b3 Refactoring: rewrite JetKeywordCompletionContributor on Kotlin 2013-12-23 16:43:14 +04:00
Nikolay Krasko
085554b793 Temp commit: Rename before rewriting to kotlin 2013-12-23 16:43:14 +04:00
Nikolay Krasko
964fe6bbdb Refactoring: change structure - each keyword has own filter 2013-12-23 16:43:13 +04:00
Nikolay Krasko
b39b2c1062 Refactoring: reformat with reordering entities 2013-12-23 16:43:13 +04:00
Evgeny Gerashchenko
f7d33d2297 Removed comments auto-generated by IDEA. 2013-12-23 15:58:36 +04:00
Evgeny Gerashchenko
2291b74bff Not generating dumb code for empty directories in testData. 2013-12-23 15:56:07 +04:00
Evgeny Gerashchenko
e3743ace4f Added validation that all non-trait classes have at least one supertype.
Fixed it for some class objects.
2013-12-23 15:56:07 +04:00
Natalia Ukhorskaya
4329c42e3f Make unary minus and unary plus return int for byte and short 2013-12-23 13:46:00 +04:00
Natalia Ukhorskaya
802c1b772f Add gradle-plugin-core folder to exclude of JetConformanceTest 2013-12-23 13:46:00 +04:00
Natalia Ukhorskaya
c9b2cda07c Add tests for usage of java annotation with default arguments 2013-12-23 13:45:59 +04:00
Natalia Ukhorskaya
5d2cb2f97b Annotations inheritance. Either prohibit or implement correctly #KT-3225 Fixed 2013-12-23 13:45:58 +04:00
Natalia Ukhorskaya
cce6b952bd Add warning when 'val' keyword on annotation parameter is missing
#KT-1900
2013-12-23 13:45:58 +04:00
Natalia Ukhorskaya
513a59d552 Check annotations on anonymous intializers
#KT-2208 Fixed
2013-12-23 13:45:57 +04:00
Natalia Ukhorskaya
359f2ddbda Prohibit instantiation of annotation classes
#KT-3465 Fixed
2013-12-23 13:45:57 +04:00
Pavel V. Talanov
9fad61352b Conversion on copy paste dialog:
Change text for dialog options to "Yes/No"
2013-12-22 16:50:09 +04:00
Pavel V. Talanov
7049b4e17e Conversion on copy paste:
Refactor: prettify code
2013-12-22 16:50:08 +04:00
Pavel V. Talanov
5408c6ea77 Conversion on copy paste:
Copy elements that are partially selected as text
2013-12-22 16:50:07 +04:00
Pavel V. Talanov
3a4b7e07f8 Conversion on copy paste:
Copy element as text in case it can't be converted
2013-12-22 16:50:05 +04:00
Pavel V. Talanov
ab19669c43 Conversion on copy paste:
Only convert elements that are wholly selected
2013-12-22 16:50:04 +04:00
Pavel V. Talanov
da3b43fbf3 Refactor converter:
Convert JavaCopyPasteProcessor to kotlin (minor code prettifications)
2013-12-22 16:50:03 +04:00
Pavel V. Talanov
1464d1f7ad Conversion on copy paste:
Introduce tests for conversion on copy paste
Don't insert additional end of line after each converted element (not needed since converter takes care of formatting)
Add test for some of the trivial cases of conversion on copy paste
2013-12-22 16:50:01 +04:00
Pavel V. Talanov
a25ced9aa0 Refactor Converter:
Minor: remove redundant public modifiers and fix formatting issues
2013-12-22 16:50:00 +04:00
Pavel V. Talanov
0e484d9a14 Converter tests:
Use JetTestUtils.assertEqualsToFile for comparison, write test data and fail if test data is absent
2013-12-22 16:49:58 +04:00
Pavel V. Talanov
1570a3792b Converter tests:
Change test data files extension to "java"
2013-12-22 16:49:57 +04:00
Pavel Talanov
d69c61c972 Converter:
Preserve white spaces for top members (classes, package statements, comments)
2013-12-22 16:49:54 +04:00
Pavel Talanov
098a80a2af Converter:
Member comments are preserved (not only doc comments)
2013-12-22 16:49:53 +04:00
Pavel Talanov
f08861c14a Converter:
Wrong test data fixed
2013-12-22 16:49:52 +04:00
Pavel Talanov
35f9d7b834 Converter:
Preserve formatting in member lists
Introduce MemberList
Refactor handling of static/non static members in classes
2013-12-22 16:49:50 +04:00
Pavel V. Talanov
30c016fa2a Converter tests:
Add tests for preserving white spaces between class members
2013-12-22 16:49:49 +04:00
Pavel V. Talanov
7f88de1dba Converter tests:
White spaces in member lists are preserved
2013-12-22 16:49:47 +04:00
Pavel Talanov
4b1b3aa122 Refactor Converter:
Minor: Move StatementList class
2013-12-22 16:49:46 +04:00
Pavel Talanov
5dc790246a Refactor Converter:
Minor: change naming convention of EMPTY_* constants to Empty
2013-12-22 16:49:45 +04:00
Pavel Talanov
8577d3ca55 Converter:
Preserve white spaces inside code blocks
Introduce WhiteSpaceSeparatedElementList which keeps track of whitespaces
Introduce StatementList
Change old test data accordingly
2013-12-22 16:49:43 +04:00
Pavel Talanov
fabfcb4271 Refactor converter:
Minor: Fix "deprecated" warnings
2013-12-22 16:49:42 +04:00
Pavel Talanov
d7e1c1f0a2 Refactor converter:
Minor: Replace *to* naming convention by convert* convention
2013-12-22 16:49:40 +04:00
Pavel Talanov
ffbbbc8529 Refactor converter:
Refactor handling of type parameter list
2013-12-22 16:49:39 +04:00
Pavel Talanov
9ed6fe8888 Refactor converter:
Refactor handling of doc comments
2013-12-22 16:46:56 +04:00
Pavel Talanov
f8c8e59f94 Refactor converter:
Remove unneeded filtering
2013-12-22 16:46:54 +04:00
Pavel V. Talanov
04edb3d742 Converter:
Fix inadequate formatting
2013-12-22 16:46:53 +04:00
Pavel V. Talanov
741e031ff1 Converter:
Use formatter in converter tests
Reformat test data
2013-12-22 16:46:51 +04:00
Pavel V. Talanov
ea6b751645 Converter:
Place function type parameters before function name
2013-12-22 16:46:49 +04:00
Pavel V. Talanov
f912c0bc65 Converter: Fix converting a single import statement
Untested (tests for copy paste processor needed)
2013-12-22 16:46:48 +04:00
Pavel V. Talanov
df74352ea3 Converter:
Fix converting import list
Add tests for imports problem
Add 'element' test type
2013-12-22 16:46:46 +04:00
Pavel Talanov
ba87779a8e Refactor converter:
Move the logic dealing with imports to Imports.kt file, refactor the code
2013-12-22 16:46:44 +04:00
Pavel V. Talanov
0f9a93ffca Refactor converter:
Move some of the code out of Converter.kt to newly created MethodUtils.kt
Simplify and clarify that code
2013-12-22 16:46:43 +04:00
Pavel V. Talanov
5ea324a320 Refactor converter:
Remove unused flags
2013-12-22 16:46:41 +04:00
Pavel V. Talanov
2b9599e987 Refactor converter:
Move some of the code out of Converter.kt to newly created MainMethodUtils.kt and ConstructorUtils.kt
Get rid of class object of Converter class
2013-12-22 15:53:23 +04:00
Pavel V. Talanov
38f5361021 Converter:
Do not generate redundant visibility modifier for overrides
2013-12-22 15:53:22 +04:00
Pavel V. Talanov
d98d8cfa7f Converter:
Functions are final by default in plugin mode
2013-12-22 15:53:21 +04:00
Pavel V. Talanov
bf4e27b152 Converter:
Classes are final by default in plugin mode
2013-12-22 15:53:19 +04:00
Pavel V. Talanov
354daa91bb Converter:
Remove outdated compatibility import mode
2013-12-22 15:53:18 +04:00
Pavel V. Talanov
f9586581a9 Converter:
Fix assert statement
2013-12-22 15:53:15 +04:00
Pavel V. Talanov
21bc2887d2 Converter:
Omit Unit return type
Refactor handling of Unit type: extract separate object UnitType
2013-12-22 15:53:14 +04:00
Pavel V. Talanov
82b19499e3 Converter tests:
Use generated tests approach in converter tests

Introduce two seperate generated test cases of each of configurations, all tests are generated in both test cases
Test data for plugin configuration has extension "ide.kt", for basic configuration "*.kt"
Test data file is used to determine type of the test (file/class/expression/...) instead of directory, all test data is moved accordingly
Add abstract base classes for generated tests
Rename test folder "file" to "misc" (for the lack of imagination)
2013-12-22 15:53:13 +04:00
Pavel Talanov
cba8d3b6db Converter:
Replace hack used to configure Converter by ConverterSettings class
Minor: remove redundant open modifiers, add override annotations
2013-12-22 15:37:09 +04:00
Pavel Talanov
3edefcf598 Converter:
Refactor handling of primitive types
Inject converter in places of use
Make Element and Node traits
2013-12-22 15:37:08 +04:00
Zalim Bashorov
ca99db3c47 Update to IDEA 133.331 EAP 2013-12-20 19:05:16 +04:00
Valentin Kipyatkov
914a566094 Smart completion: anonymous object creation + rewrote some code using LookupElementDecorator 2013-12-20 18:49:11 +04:00
Valentin Kipyatkov
9627a335c2 Smart completion: no items of unresolved types 2013-12-20 18:49:10 +04:00
Andrey Breslav
ac191a7dbb Introduce fall-through handling of recursion in lazy values
Fixed EA-52272 - NA: LockBasedStorageManager$LockBasedLazyValue.recursionDetected
2013-12-20 18:30:10 +04:00
Andrey Breslav
44e055e698 Explicit lock references replaced with capturing StorageManager as an outer instance 2013-12-20 17:29:32 +04:00
Svetlana Isakova
c9f3f9ca1f added position strategy to NOTHING_TO_INLINE error 2013-12-19 22:28:47 +04:00
Svetlana Isakova
cfb7bcb73b use smart cast info while adding constraint for receiver 2013-12-19 22:05:52 +04:00
Evgeny Gerashchenko
b4dbd69d23 Using triple quotes for regexps. 2013-12-19 21:48:41 +04:00
Evgeny Gerashchenko
4f36031874 Using null instead empty string for directory. 2013-12-19 21:48:40 +04:00
Evgeny Gerashchenko
1d21ebf882 Using default renderer in LoadBuiltinsTest. 2013-12-19 21:48:39 +04:00
Evgeny Gerashchenko
ec5d41a10e Added clarifying comments in toString() 2013-12-19 21:48:39 +04:00
Evgeny Gerashchenko
6a36ba99d1 KT-4302 Kotlin plugin drops unsaved document content on indexing finish
#KT-4302 fixed
2013-12-19 21:48:38 +04:00
Evgeny Gerashchenko
9134fc8586 Rewritten single class tests to DSL. 2013-12-19 21:48:38 +04:00
Evgeny Gerashchenko
dd5766d878 Renamed some generated tests to follow conventions. 2013-12-19 21:48:38 +04:00
Evgeny Gerashchenko
cd8f5fae54 Renamed some generated tests to follow conventions. 2013-12-19 21:48:37 +04:00
Evgeny Gerashchenko
7c4675a9c0 Removed unnecessary "recursive = false" 2013-12-19 21:48:37 +04:00
Evgeny Gerashchenko
fa89d537fa Fixed generator class name. 2013-12-19 21:48:36 +04:00
Evgeny Gerashchenko
50d578e0ea Rewritten Generate Tests to Kotlin. 2013-12-19 21:48:36 +04:00
Evgeny Gerashchenko
ac9d520946 Temporarily renamed GenerateTests.java -> GenerateTests.kt 2013-12-19 21:48:25 +04:00
Evgeny Gerashchenko
46ec25e066 Removed duplicate test class. 2013-12-19 21:21:22 +04:00
Natalia Ukhorskaya
9b51a77cdf Remove unused field 2013-12-19 16:43:11 +04:00
Valentin Kipyatkov
24b68e7bdf Completion: better replacement range calculation for both basic and smart completions 2013-12-19 16:07:46 +04:00
Valentin Kipyatkov
d28705a5ec Smart completion to ignore context after the caret 2013-12-19 16:07:46 +04:00
Svetlana Isakova
dd6940be41 added CHECK_TYPE directive to diagnostic tests 2013-12-19 13:01:05 +04:00
Natalia Ukhorskaya
c9a600a405 Fix for varargs as annotation arguments #KT-4326 Fixed 2013-12-18 15:13:53 +04:00
Natalia Ukhorskaya
145c7811a8 Named vararg arguments: don't allow to use array without spread, allow to use one value of vararg type
#KT-3802 Fixed
2013-12-18 15:13:52 +04:00
Alexander Udalov
3a57694ddd Minor, NotNull annotations 2013-12-17 21:49:31 +04:00
Alexander Udalov
11f33c9399 Reorganize JVM intrinsics
Make IntrinsicMethod an abstract class, coerce the resulting value of the
intrinsic to the expected type
2013-12-17 21:49:31 +04:00
Alexander Udalov
24678f189e Make intrinsic method always generate value of expected type on stack
IntrinsicMethod.generate()'s return value is 'StackValue.onStack(returnType)'
and will be dropped
2013-12-17 21:49:30 +04:00
Valentin Kipyatkov
843a005aec Fixed KT-4318 Keyword should be selected in completion if there's exact match
#KT-4318 Fixed
2013-12-17 21:17:56 +04:00
Evgeny Gerashchenko
17cf488cc6 Removed redundant tests for loading builtins. 2013-12-17 20:29:00 +04:00
Evgeny Gerashchenko
b7cfd676bf Merged LoadCompiledKotlin test int LoadJavaTest. 2013-12-17 20:28:59 +04:00
Evgeny Gerashchenko
62f44f7ed0 Minor. Reordered test methods. 2013-12-17 20:28:58 +04:00
Evgeny Gerashchenko
1c25c971e0 Corrected test error message. 2013-12-17 20:28:58 +04:00
Evgeny Gerashchenko
790981ba2b Minor. Typo. 2013-12-17 20:28:57 +04:00
Evgeny Gerashchenko
6adec744f1 Migrated kdoc to package views & fragments instead of namespace descriptors. 2013-12-17 20:28:57 +04:00
Evgeny Gerashchenko
a49551dd35 Introduced getFqNameSafe method. 2013-12-17 20:28:57 +04:00
Evgeny Gerashchenko
3352d8a954 Minor. Renamed method. 2013-12-17 20:28:56 +04:00
Evgeny Gerashchenko
e175ebf60a Rendering package FQ names instead of short names. 2013-12-17 20:28:56 +04:00
Evgeny Gerashchenko
212d303c7b Modified test checking visibility of class objects. 2013-12-17 20:28:55 +04:00
Evgeny Gerashchenko
ecd5dc60ad Correctly checking visibility from package view. 2013-12-17 20:28:55 +04:00
Evgeny Gerashchenko
5c22787c15 Simplified API of JetNamespaceHeader and its usages. 2013-12-17 20:28:55 +04:00
Evgeny Gerashchenko
df1e92959e Generified subpackages obtaining, fixed it for mixed packages. 2013-12-17 20:28:54 +04:00
Evgeny Gerashchenko
3de7f7646b Better assertion. 2013-12-17 20:28:54 +04:00
Evgeny Gerashchenko
20cafec423 Using default toString(). 2013-12-17 20:28:53 +04:00
Evgeny Gerashchenko
de6f25ff1b Removed unused method. 2013-12-17 20:28:53 +04:00
Evgeny Gerashchenko
0f2d9cfbc3 Removed passing of RedeclarationHandler (in code before refactoring it was always DO_NOTHING). 2013-12-17 20:28:53 +04:00
Evgeny Gerashchenko
fbd398fd8e Added test for finding subpackages in mixed Java & compiled Kotlin package. 2013-12-17 20:28:52 +04:00
Evgeny Gerashchenko
00f0ad2eda Minor. Removed unused test method. 2013-12-17 20:28:52 +04:00
Evgeny Gerashchenko
d198c202e3 Minor. Moved method. 2013-12-17 20:28:51 +04:00
Evgeny Gerashchenko
c472cb682f Minor. Moved method. 2013-12-17 20:28:51 +04:00
Evgeny Gerashchenko
1cb13fce12 Minor. Simplified code in KotlinBuiltIns. 2013-12-17 20:28:51 +04:00
Evgeny Gerashchenko
73114d7e9c Fragment providers added on higher level. 2013-12-17 20:28:50 +04:00
Evgeny Gerashchenko
3f790f5f0c Minor. Nullability annotations. 2013-12-17 20:28:49 +04:00
Evgeny Gerashchenko
e680567290 Restored test code for deserialized scopes. 2013-12-17 20:28:49 +04:00
Evgeny Gerashchenko
d64cfa04e9 Simplified method. 2013-12-17 20:28:49 +04:00
Evgeny Gerashchenko
30e668634c Locking scopes of MutablePackageFragmentDescriptors. 2013-12-17 20:28:48 +04:00
Evgeny Gerashchenko
98ad890b60 Extracted method for finding exactly one fragment. 2013-12-17 20:28:48 +04:00
Evgeny Gerashchenko
1bbe9b0bd4 Removed DescriptorFinder.findPackage. 2013-12-17 20:28:47 +04:00
Evgeny Gerashchenko
557aaf363a Renamed method and got rid of some usages. 2013-12-17 20:28:47 +04:00
Evgeny Gerashchenko
ad7044cc6c Fixed resolving references to packages in plugin. 2013-12-17 20:28:46 +04:00
Evgeny Gerashchenko
fbdc31790b Allowed "rewriting" unresolvedCache elements.
This is used to fix tests. The fix is pretty dirty, but related code is going to be thrown away anyway.
2013-12-17 20:28:46 +04:00
Evgeny Gerashchenko
bf0daf4b20 Minor. Renamed method. 2013-12-17 20:28:46 +04:00
Evgeny Gerashchenko
5d0381f073 Using FqName instead of FqNameUnsafe for package predicate. 2013-12-17 20:28:45 +04:00
Evgeny Gerashchenko
78e40114ca More straightforward caching. 2013-12-17 20:28:45 +04:00
Evgeny Gerashchenko
e18173cbac Made scope in JavaPackageFragmentDescriptor final. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko
601cd4ce46 Migrated JS backend to package views and fragments. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko
aa2ff87b47 Simplified intrinsics matching in JS backend. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko
28ef7495af Removed obsolete code in codegen for 'var' parameters captured in closure. 'Var' parameters are forbidden now. 2013-12-17 20:28:43 +04:00
Evgeny Gerashchenko
e625a3a869 Cleanup of CheckLocalVariablesTableTest 2013-12-17 20:28:43 +04:00
Evgeny Gerashchenko
9d2b79c631 Migrated CliLightClassGenerationSupport to package views. 2013-12-17 20:28:42 +04:00
Evgeny Gerashchenko
7e4e3e849d Removed obsolete classes. 2013-12-17 20:28:42 +04:00
Evgeny Gerashchenko
303f2b8c4c Simplified BuiltinsReferenceResolver. 2013-12-17 20:28:42 +04:00
Evgeny Gerashchenko
75e550fe11 Removed namespaces from descriptor visitor. 2013-12-17 20:28:41 +04:00
Evgeny Gerashchenko
005b59e783 Inlined method. 2013-12-17 20:28:41 +04:00
Evgeny Gerashchenko
b783175fb4 Removed ex-ModuleConfiguration classes. 2013-12-17 20:28:40 +04:00
Evgeny Gerashchenko
d0605009ae Removed ModuleConfiguration. 2013-12-17 20:28:40 +04:00
Evgeny Gerashchenko
67f06c816b Reimplemented non-trivial logic of ModuleConfiguration. 2013-12-17 20:28:39 +04:00
Evgeny Gerashchenko
19d8f1394b Big refactoring continued. Migrating to package views and fragments. 2013-12-17 20:28:39 +04:00
Evgeny Gerashchenko
577fb25777 Got rid of useless nested class. 2013-12-17 19:18:33 +04:00
Evgeny Gerashchenko
7abe6a5b4a Big refactoring. Migrating to package views and fragments. 2013-12-17 19:18:33 +04:00
Evgeny Gerashchenko
369824cd2e Skipping error types when processing alternative signatures. 2013-12-17 19:18:32 +04:00
Evgeny Gerashchenko
6c9a5e6a5f Got rid of useless trace access. 2013-12-17 19:18:32 +04:00
Evgeny Gerashchenko
3ccaa9f13e Minor. Dictionary. 2013-12-17 19:18:32 +04:00
Evgeny Gerashchenko
2a0d81a6fe Introduced package view and fragment classes. 2013-12-17 19:18:31 +04:00
Evgeny Gerashchenko
62c542341a Renamed NamespaceComparator → RecursiveDescriptorComparator. 2013-12-17 19:18:31 +04:00
Evgeny Gerashchenko
1b28fb50b9 Removed useless method. 2013-12-17 19:18:31 +04:00
Andrey Breslav
b99753dd4f Builder class extracted 2013-12-17 19:18:30 +04:00
Svetlana Isakova
26f66eaea5 fixed INACCESSIBLE_OUTER_CLASS_EXPRESSION check
for extension lambda (with implicit this) in nested class
2013-12-17 19:04:41 +04:00
Svetlana Isakova
400e6d3f44 KT-4310 Check for definite returns
#KT-4310 Fixed
2013-12-17 19:04:40 +04:00
Andrey Breslav
43cc818506 Fixed: EA-52702 - IAE: JetControlFlowProcessor$CFPVisitor.getResolvedCall 2013-12-17 18:55:23 +04:00
Nikolay Krasko
dbc1f6b42c Fix autopopup completion with irrelevant variants after typing 'f' suffix for float number
#KT-4312 Fixed
2013-12-17 17:43:13 +04:00
Natalia Ukhorskaya
31ad4f8451 Annotation parameter must be constant 2013-12-17 15:41:24 +04:00
Natalia Ukhorskaya
7a9d822070 'As' function for constants 2013-12-17 15:00:30 +04:00
Alexey Sedunov
b4ad149e77 Replace getParentByTypePredicate with getParentByTypesAndPredicate 2013-12-17 01:41:20 +04:00
Alexey Sedunov
e13abf2444 KT-4274 #Fixed 2013-12-17 01:41:19 +04:00
Alexander Udalov
59569f23cf Update to IDEA 133.286 EAP 2013-12-16 21:40:14 +04:00
Valentin Kipyatkov
5e20f509b7 Smart completion: minor code editing 2013-12-16 21:23:09 +04:00
Valentin Kipyatkov
f22ba73a92 Smart completion: enum members to be listed after qualifier too 2013-12-16 21:23:09 +04:00
Valentin Kipyatkov
db77eb54d7 Smart completion: java static members, enum members and class object members added 2013-12-16 21:23:08 +04:00
Natalia Ukhorskaya
dbaaa80918 Add i2b cast boxing Int to Byte? or Short? (fix android tests) 2013-12-16 20:54:10 +04:00
Natalia Ukhorskaya
66effee8cd Fix safe call 2013-12-16 20:54:09 +04:00
Nikolay Krasko
db8222c50a Disable reindex in tests 2013-12-16 19:39:42 +04:00
Nikolay Krasko
372106b914 KT-1043 'Implement Methods' throws a ClassCastException
#KT-1043 Obsolete
2013-12-16 19:39:42 +04:00
Natalia Ukhorskaya
0be28efa00 Regenerate tests 2013-12-16 17:12:41 +04:00
Natalia Ukhorskaya
4ef1af7d12 Cast unary intrinsics to expected type 2013-12-16 17:12:40 +04:00
Svetlana Isakova
20aa3409c7 variable as function call is safe
if one of variable or function calls is safe
2013-12-16 16:24:21 +04:00
Svetlana Isakova
846d5d7cfe initialize constructor of object as static one 2013-12-16 16:24:21 +04:00
Svetlana Isakova
4c41d19eb1 interpret class in class object as static nested class
removed hack in TaskPrioritizer for import class from class object
2013-12-16 16:24:21 +04:00
Svetlana Isakova
656cc16a81 fixed: explicit receiver kind for resolved call shouldn't be used as expected receiver kind for function 2013-12-16 16:24:21 +04:00
Svetlana Isakova
928f77ffce set explicit receiver kind properly for calls 2013-12-16 16:24:21 +04:00
Zalim Bashorov
cf5174d798 Fixed the collection output of processes in integration tests. 2013-12-16 13:40:30 +04:00
Alexander Udalov
13214d2dec Update doc comments of utility functions on lists 2013-12-12 23:34:08 +04:00
Michael Zehender
6546d7a1e7 #KT-2341 Fixed 2013-12-12 23:34:08 +04:00
Alexander Udalov
e179e6bb2f Utilize existing mapType methods
Fix warnings related to nullable CallableDescriptor.getReturnType()
2013-12-12 23:34:08 +04:00
Alexander Udalov
d490a91f26 Delete unused code 2013-12-12 21:38:20 +04:00
Alexander Udalov
cc1d4a033a Rename KotlinBuiltIns.isAny -> isAnyOrNullableAny
Reduce confusion, prevent bugs
2013-12-12 21:38:20 +04:00
Alexander Udalov
0576851102 Fix codegen for closures returning 'Unit?'
Only do a checkcast when we need to coerce Object to Unit: the code was
hopefully type-checked so that it'll only be necessary when the value is either
Unit.VALUE or null
2013-12-12 21:38:20 +04:00
Alexander Udalov
9e5c68a8f9 Fix KotlinBuiltIns.isUnit
It didn't check type's nullability
2013-12-12 21:38:20 +04:00
Alexander Udalov
2892907947 Delete Enum.name()/ordinal() JVM intrinsics
Bytecode is the same if they're generated as is from descriptors

+ Some minor code style improvements
2013-12-12 21:38:20 +04:00
Alexander Udalov
523ad697c7 Minor, fix/suppress warnings in codegen 2013-12-12 21:38:19 +04:00
Alexander Udalov
0215f892a6 Minor, simplify method 2013-12-12 21:38:19 +04:00
Nikolay Krasko
161af7003d Lost import 2013-12-12 18:58:31 +04:00
Nikolay Krasko
bbe85f2533 Stop sending requests if tool window isn't visible 2013-12-12 18:50:48 +04:00
Nikolay Krasko
fcf81f42e2 Refactoring: Rename classes 2013-12-12 18:50:47 +04:00
Alexey Sedunov
a802853ac6 Fix warnings 2013-12-12 17:30:58 +04:00
Alexey Sedunov
fb831a9a2a Add "Find Usages" tests for local classes/objects 2013-12-12 17:30:57 +04:00
Alexey Sedunov
8981208ac9 Rename "Find Usages" tests 2013-12-12 17:30:57 +04:00
Alexey Sedunov
1095c51d6a Reimplement "Find Usages" using KotlinClassInheritorsSearch 2013-12-12 17:30:56 +04:00
Alexey Sedunov
39211e4759 Implement class inheritors search 2013-12-12 17:30:55 +04:00
Alexey Sedunov
d261fe8726 Core classes for declaration search 2013-12-12 17:30:54 +04:00
Alexey Sedunov
f35c77e731 Move search extensions to separate package 2013-12-12 17:30:53 +04:00
Alexey Sedunov
eb6ae2f772 Translate KotlinDirectInheritorsSearcher to Kotlin. Reuse PsiClass.isInheritor() 2013-12-12 17:30:53 +04:00
Alexey Sedunov
6913f42a97 Add support of light classes for local class/object declarations 2013-12-12 17:30:52 +04:00
Alexey Sedunov
594c966c44 Add local class/object declarations to super name index 2013-12-12 17:30:51 +04:00
Alexey Sedunov
72c7399df1 Index object declarations as inheritors 2013-12-12 17:30:50 +04:00
Alexey Sedunov
a50dd96401 Changed some annotations to @Nullable to make them JDK-compliant 2013-12-12 17:30:49 +04:00
Natalia Ukhorskaya
1c9b093728 Rename parameter 2013-12-12 17:11:42 +04:00
Natalia Ukhorskaya
69ed9bc47a Do not cast arguments of binary operation to expected type for byte and short 2013-12-12 17:11:42 +04:00
Natalia Ukhorskaya
8b9fbdf911 Make Android test load files with diagnostics 2013-12-12 17:11:41 +04:00
Natalia Ukhorskaya
7e9b1c5c38 Fix Android tests 2013-12-12 17:11:40 +04:00
Nikolay Krasko
c0df908f0e Rewrite test to kotlin and add use Json format for tests configure 2013-12-12 15:41:11 +04:00
Nikolay Krasko
03e2e6d352 Rewrite class to Kotlin: temp commit for store history 2013-12-12 15:37:13 +04:00
Svetlana Isakova
cc3f450132 added test for obsolete task
#KT-2336 Fixed
2013-12-11 19:53:52 +04:00
Svetlana Isakova
4d39dc38da fixed: smart cast of boolean variable didn't work in boolean expression 2013-12-11 19:53:52 +04:00
Svetlana Isakova
cd6934bee8 fixed bug in 'DataFlowInfo.getPossibleTypes'
parent types should be enriched as well
2013-12-11 19:53:51 +04:00
Svetlana Isakova
4a26c9df04 don't report autocast on left expression in equality
if it was checked for not-null beforehand
2013-12-11 19:53:51 +04:00
Svetlana Isakova
90535283ba refactoring: extracted 'recordCastOrError' method 2013-12-11 19:53:51 +04:00
Svetlana Isakova
4b89c22ba7 Check separately auto casts for nullable types.
It's necessary for functions with generics: constraint system ignores nullability divergence,
the error checks are made afterwards, the auto cast check should be made similarly.
2013-12-11 19:53:51 +04:00
Svetlana Isakova
f271cb3609 rename: checkReceiver -> checkReceivers 2013-12-11 19:53:51 +04:00
Svetlana Isakova
41f2fcbb40 while resolve 'equals' as a fake call do not throw away temporary trace 2013-12-11 19:53:51 +04:00
Svetlana Isakova
499783fbc6 rename:
getAutoCastVariantsIncludingReceiver -> getAutoCastVariants
getAutoCastVariants -> getAutoCastVariantsExcludingReceiver
2013-12-11 19:53:50 +04:00
Svetlana Isakova
81e6eb8253 refactoring: removed AutoCastService
used getAutoCastVariantsIncludingReceiver util method instead
2013-12-11 19:53:50 +04:00
Svetlana Isakova
ab1d27dd6b don't use data flow info while checking for receiver
receiver with smart cast is checked separately
2013-12-11 19:53:50 +04:00
Svetlana Isakova
46b77f4472 don't report unnecessary smart cast on receiver 2013-12-11 19:53:50 +04:00
Svetlana Isakova
33c04bde9a changed tests where autocasts aren't needed but are reported
due to KT-4294
2013-12-11 19:53:50 +04:00
Svetlana Isakova
c30259dfbe added info about smart casts to diagnostic tests 2013-12-11 19:53:50 +04:00
Alexander Udalov
00da5fe1fb Fix VerifyError for 'when' of type 'Unit?' 2013-12-11 07:40:19 +04:00
Alexander Udalov
0d9c126485 Add regression test for KT-3634
#KT-3634 Obsolete
2013-12-11 07:40:19 +04:00
Alexander Udalov
220e4e98b7 Minor, print internal class names in CallableMethod.toString() 2013-12-11 07:40:18 +04:00
Evgeny Gerashchenko
20542d94c1 Added extra output for tests if they fail. Muted test on "bad" agents. 2013-12-09 19:04:20 +04:00
Evgeny Gerashchenko
50bea726ff Fixed exit code passing on Windows XP 2013-12-09 19:04:20 +04:00
Alexander Udalov
ee554d2e2f Unwrap fake override of original
This fixes a couple of verify errors related to the order of supertypes in the
class declaration
2013-12-09 17:59:58 +04:00
Alexander Udalov
68961004a5 Collect overridden descriptors for property accessors to LinkedHashSet 2013-12-09 17:59:58 +04:00
Alexander Udalov
44ad36ef97 Minor cleanup in FunctionGenerationStrategy and inheritors 2013-12-09 17:59:58 +04:00
Alexander Udalov
7453af9f36 Minor, don't do unnecessary mapType 2013-12-09 17:58:00 +04:00
Alexander Udalov
fb370a4538 Make anonymous class inner 2013-12-09 17:58:00 +04:00
Alexander Udalov
6276dd1483 Return Unit.VALUE if Unit or Any is expected
StackValue.coerce will do its job in casting void to Unit correctly

 #KT-4212 Fixed
2013-12-09 17:57:59 +04:00
Alexander Udalov
f19ede0637 Don't treat values of type "Unit?" to be always equal to Unit.VALUE
Two changes here: StackValue.Constant does cast iff value is non-null (if null,
no cast between classes is really needed, as null can be an instance of
anything), and codegen for safe qualified expressions uses correct type for the
expression

 #KT-4265 Fixed
2013-12-09 15:52:19 +04:00
Alexander Udalov
96f753278c Minor, prettify code 2013-12-09 15:52:19 +04:00
Nikolay Krasko
21a0ca5840 Revert extending range of supported versions (ba96538)
Incompatibility in ClsFileImpl file:
java.lang.NoSuchMethodError: com.intellij.psi.impl.compiled.ClsFileImpl.<init>(Lcom/intellij/psi/PsiManager;Lcom/intellij/psi/FileViewProvider;)V
2013-12-09 15:45:50 +04:00
Alexander Udalov
9ba562ba3d Add more info to exception message (EA-52595) 2013-12-07 02:42:00 +04:00
Nikolay Krasko
5d62805711 Stable order for generated tests 2013-12-06 21:29:39 +04:00
Evgeny Gerashchenko
e80af77c31 Added max() and min() for CharArrays. 2013-12-06 20:35:31 +04:00
nik
f439604b57 standard library: 'max' and 'min' functions reimplemented to avoid unnecessary null checks
(as proposed for minBy/maxBy in https://github.com/JetBrains/kotlin/pull/324)
2013-12-06 20:22:53 +04:00
Nikolay Krasko
ba96538a14 Extend range of compatible versions 2013-12-06 18:39:33 +04:00
Svetlana Isakova
4c4e192914 Fixed: control flow graph building for array of functions.
'get' call for array should be get from INDEXED_LVALUE_GET
2013-12-06 15:58:45 +04:00
Nikolay Krasko
3966f36b0c Reindex files with manual virtual file and index refresh 2013-12-06 13:15:15 +04:00
Nikolay Krasko
d2b948dc2c Fix path util to return dist paths in tests 2013-12-06 13:15:14 +04:00
Andrey Breslav
71be3bcec5 All tests for TCO moved to box (with diagnostics marked up) 2013-12-06 11:29:28 +04:00
Andrey Breslav
1849643e52 Got rid of HAS_TAIL_CALL slice 2013-12-06 00:28:13 +04:00
Andrey Breslav
934d8ee199 Rename class 2013-12-06 00:28:13 +04:00
Andrey Breslav
d5941e90eb Unused code removed 2013-12-06 00:28:13 +04:00
Andrey Breslav
fe33fbe79b Properly detect changing 'this' reference in tail calls to members 2013-12-06 00:28:12 +04:00
Andrey Breslav
97319808b6 Detecting tail calls through CFA 2013-12-06 00:28:12 +04:00
Andrey Breslav
9f319e8b24 TCO: Re-use parameter values already loaded onto the stack for a recursive call 2013-12-06 00:28:12 +04:00
Andrey Breslav
2a03d40233 TCO: Optimize all function calls, not only JetCallExpressions 2013-12-06 00:28:11 +04:00
Andrey Breslav
6d369b985f Do not rely on JetCallExpressions in tail-call detection
Calls come in other forms too
2013-12-06 00:28:11 +04:00
Andrey Breslav
9ed0b009d4 No need to store a list of recursive call expressions in trace 2013-12-06 00:28:11 +04:00
Andrey Breslav
0316e6cb8d Indirect tests for tail call diagnostics removed 2013-12-06 00:28:10 +04:00
Andrey Breslav
94500bd968 Use codegen box tests for tail calls as diagnostic tests too 2013-12-06 00:28:04 +04:00
Andrey Breslav
bb6ceffbbb Missing tests added 2013-12-06 00:27:31 +04:00
Andrey Breslav
c70a54306f Rename directory for back-end tests 2013-12-05 23:53:08 +04:00
Andrey Breslav
fe00b03279 Rename directory for diagnostic tests 2013-12-05 23:53:07 +04:00
Andrey Breslav
bf8bfc63c5 Don't analyze tail calls when only declaration headers are processed
Otherwise we are getting spurious "NO_TAIL_CALLS" warnings
2013-12-05 23:53:07 +04:00
Sergey Mashkov
fb0ec573e0 Tests for JVM back-end support of tail-call optimization 2013-12-05 23:53:07 +04:00
Sergey Mashkov
9da3d2f051 Support tail-call optimization in the JVM back-end 2013-12-05 23:53:06 +04:00
Sergey Mashkov
cfbcbb80f5 Store methodStartLabel in MethodContext 2013-12-05 23:53:06 +04:00
Sergey Mashkov
e4382ff95b Minor: better assertions and warnings removed 2013-12-05 23:53:06 +04:00
Sergey Mashkov
1c81102941 Tail-call detection support in the front-end 2013-12-05 23:53:05 +04:00
Sergey Mashkov
83b4ad4eac Add binary attribute to generated built-ins data 2013-12-05 23:53:05 +04:00
Sergey Mashkov
b62e5e3ef5 Add [tailRecursive] annotation to built-ins 2013-12-05 21:41:02 +04:00
Andrey Breslav
d2a31d88cd Subroutine exit knows when it's an error 2013-12-05 21:41:02 +04:00
Andrey Breslav
2197c7e8c6 InstructionVisitorWithResult introduced 2013-12-05 21:41:02 +04:00
Andrey Breslav
66e3743cc5 Useful method extracted + visiting strategy added 2013-12-05 21:41:02 +04:00
Andrey Breslav
da1397b5bd Marker interface ReturnInstruction extracted 2013-12-05 21:33:51 +04:00
Svetlana Isakova
e44fe3769a fixed compilation after return requirement for local functions added 2013-12-05 15:51:57 +04:00
Svetlana Isakova
8e27877817 check definite return in local functions 2013-12-05 15:51:57 +04:00
Svetlana Isakova
d27c8b7d61 added test for obsolete task
#KT-4034 Fixed
2013-12-05 15:51:57 +04:00
Svetlana Isakova
3df37ee113 moved method 2013-12-05 15:51:57 +04:00
Svetlana Isakova
29acef7842 find pseudocodeVariablesData lazily 2013-12-05 15:51:57 +04:00
Natalia Ukhorskaya
a9da88b425 Remove NumberValueTypeConstructor 2013-12-05 15:23:42 +04:00
Natalia Ukhorskaya
27e602133d Small fixes after review: do not set is_pure=true for named constants refactoring 2013-12-05 15:23:41 +04:00
Natalia Ukhorskaya
155cbbfc02 Add evaluator for java property initializer 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya
e5a3518248 Parse longs with 'L' suffix. Report error if 'l' used. 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya
53d17bc4ce Rename CompileTimeConstantResolver to CompileTimeConstantChecker 2013-12-05 15:23:39 +04:00
Natalia Ukhorskaya
b6ce6c5e5a Parse floats with 'F' or 'f' suffix 2013-12-05 15:22:01 +04:00
Natalia Ukhorskaya
fb9a7e3c4c Create error value for division by zero 2013-12-05 15:22:00 +04:00
Natalia Ukhorskaya
e805478d6c Get call expression type from compile time value if possible 2013-12-05 15:22:00 +04:00
Natalia Ukhorskaya
e6c442ba04 Remove set of PROCESSED flag in updateRecordedType 2013-12-05 15:21:59 +04:00
Natalia Ukhorskaya
17152c39e0 Tear down for test 2013-12-05 15:21:59 +04:00
Natalia Ukhorskaya
53a5264aaf Use type from compile time value for binary expression 2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya
6331dd2308 Fix toFloat in stdlib 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya
cbcca6c08e Support IntegerValueTypeConstant in java backend 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya
f329e245ad Support IntegerValueTypeConstant in js backend 2013-12-05 15:21:56 +04:00
Natalia Ukhorskaya
2a023c16a9 Use type from compile time value for prefix expression 2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya
9c176ddaa8 Warning for integer overflow 2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya
b4b7988eec Refactoring 2013-12-05 15:21:54 +04:00
Natalia Ukhorskaya
a99ce06e78 Move methods 2013-12-05 15:21:53 +04:00
Natalia Ukhorskaya
8da528a018 Add common method to parse char value 2013-12-05 15:21:53 +04:00
Natalia Ukhorskaya
888b747feb Rename 2013-12-05 15:21:52 +04:00
Natalia Ukhorskaya
f996860f83 Move methods 2013-12-05 15:21:52 +04:00
Natalia Ukhorskaya
02e19ea8fd Add compileTimeConstant to checkConstantExpressionType method 2013-12-05 15:21:51 +04:00
Natalia Ukhorskaya
33d973f016 Delete DoubleValueTypeConstructor 2013-12-05 15:21:51 +04:00
Natalia Ukhorskaya
d63f6843c8 Merge ConstantExpressionEvaluator and CompileTimeConstantResolver 2013-12-05 15:21:50 +04:00
Natalia Ukhorskaya
e6923ba29e create StringValue only for primitive compile time values 2013-12-05 15:20:23 +04:00
Natalia Ukhorskaya
9593edc6e7 Rename Unary(Binary)OperationKey 2013-12-05 15:20:22 +04:00
Natalia Ukhorskaya
0bf7b60382 Generate map for ConstantExpressionEvaluator 2013-12-05 15:20:21 +04:00
Natalia Ukhorskaya
0bffa9f0ac Improve creation of compile constants for equals and compareTo 2013-12-05 15:20:20 +04:00
Natalia Ukhorskaya
cbe04a6adf Simplify if (..==null) {return null} 2013-12-05 15:20:19 +04:00
Natalia Ukhorskaya
06cb48e300 Add inner visitor for StringEntries 2013-12-05 15:20:19 +04:00
Natalia Ukhorskaya
dd0122a482 Rewrite evaluator to kotlin. Small refactoring 2013-12-05 15:20:18 +04:00
Natalia Ukhorskaya
e23ef2dc98 Record compile time constants to trace 2013-12-05 15:20:16 +04:00
svtk
1bd63fefa4 Support equlas in ConstantExpressionEvaluator 2013-12-05 15:20:14 +04:00
svtk
32299a7b9b Resolve fake call for 'equals(Any?)' with actual right expression instead of fake one 2013-12-05 15:20:13 +04:00
Natalia Ukhorskaya
1d5d5486ce Support compareTo in ConstantExpressionEvaluator 2013-12-05 15:20:12 +04:00
Natalia Ukhorskaya
08d80bbb16 Rewrite toInt and similar expression like unary expressions 2013-12-05 15:20:10 +04:00
Natalia Ukhorskaya
96dc8b42bb Support for unary expressions 2013-12-05 15:20:08 +04:00
Natalia Ukhorskaya
b7b957ffd2 Deparentesize expression in ConstantExpressionEvaluator 2013-12-05 15:19:58 +04:00
Natalia Ukhorskaya
210899af22 Support && and || in ConstantExpressionEvaluator 2013-12-05 15:19:55 +04:00
Natalia Ukhorskaya
f8f55799b9 Support or, and, xor and etc in ConstantExpressionEvaluator 2013-12-05 15:19:49 +04:00
Natalia Ukhorskaya
41387c3544 Support plus, minus, div, mod, multiply in ConstantExpressionEvaluator 2013-12-05 15:19:46 +04:00
Natalia Ukhorskaya
50d29e0526 Support string templates in ConstantExpressionEvaluator 2013-12-05 15:19:37 +04:00
Natalia Ukhorskaya
c56c2263f0 Use propagation of constant values in evaluator 2013-12-05 15:19:30 +04:00
Natalia Ukhorskaya
0b1dd2d2be Support toInt, toChar and etc as CompileTimeConstants 2013-12-05 15:19:26 +04:00
Natalia Ukhorskaya
f218bd1df2 Add NotNull annotations 2013-12-05 15:19:23 +04:00
Natalia Ukhorskaya
9dcee96734 Move test methods to separate class 2013-12-05 15:19:22 +04:00
Natalia Ukhorskaya
c437b8c4dc Rename files 2013-12-05 15:19:22 +04:00
Natalia Ukhorskaya
64f8556a76 Extract evaluator from AnnotationResolver 2013-12-05 15:19:21 +04:00
Andrey Breslav
9efa604cff Revert 4ca90e9c68 2013-12-05 14:04:50 +04:00
Andrey Breslav
d665146e9a No real need to check whether expressions have already been marked 2013-12-05 13:29:54 +04:00
Andrey Breslav
0e1ccc4525 Rename parameter 2013-12-05 13:28:41 +04:00
Andrey Breslav
4ca90e9c68 Proper instructions for elvis operator
We should not mark elvis operator unused, for the rhs may have desired side-effects
2013-12-05 13:28:41 +04:00
Andrey Breslav
3629a539e4 Smoke test data fixed 2013-12-05 13:28:40 +04:00
Andrey Breslav
6df3a3042c Properly handle the case of backing field access qualified with 'this' reference 2013-12-05 13:28:40 +04:00
Andrey Breslav
5b3bc7f839 Print instructions for functions in classes 2013-12-05 13:28:40 +04:00
Andrey Breslav
853ebe3436 Do not print trailing whitespace in test data 2013-12-05 13:28:39 +04:00
Andrey Breslav
87879ba654 Test data fixed: mark() instructions added 2013-12-05 13:28:39 +04:00
Andrey Breslav
e09d3aab3a Test for CFA in string templates 2013-12-05 13:28:39 +04:00
Andrey Breslav
11fcd64949 Mark expressions for correct recognition by "unreachable code" 2013-12-05 13:02:17 +04:00
Andrey Breslav
6a4043c9a0 Do not display trivial sets of next/previous instructions in test data
For better readability of test failures
2013-12-05 13:02:17 +04:00
Andrey Breslav
e8c94a9d1d Do not generate call for elvis + move dead code tests 2013-12-05 13:02:17 +04:00
Andrey Breslav
e0cf73d989 Do not forget to process rhs on unsupported lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav
6c519bb515 Render whitespace in elements without newlines and tabs 2013-12-05 13:02:16 +04:00
Andrey Breslav
81003ba298 CFA test data updated 2013-12-05 13:02:16 +04:00
Andrey Breslav
ef194ffe23 Order fixed in assignment instructions with qualified expression on a lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav
28acbcb219 Using call for set on an indexed expression in lvalue position 2013-12-05 13:02:15 +04:00
Andrey Breslav
a5854560f0 Proper order of arguments in array setter calls 2013-12-05 13:02:15 +04:00
Andrey Breslav
163e5cfbb4 Properly process this in callee position 2013-12-05 13:02:15 +04:00
Andrey Breslav
b15b075484 Tests for bug in CFA: no return in when() is now detected 2013-12-05 13:02:15 +04:00
Andrey Breslav
ec39105183 Type parameter is not an expression: no need to report 'unused expression' on it 2013-12-05 13:02:14 +04:00
Andrey Breslav
b5ae3adf77 Proper resolved calls for '==' 2013-12-05 13:02:14 +04:00
Andrey Breslav
87b6ec4990 Proper read instructions for function literals 2013-12-05 13:02:14 +04:00
Andrey Breslav
09a1736ab6 Recovery in qualified expressions 2013-12-05 13:02:06 +04:00
Andrey Breslav
5908211fbf Refactor JetControlFlowBuilderAdapter to avoid mutable fields 2013-12-05 13:00:44 +04:00
Andrey Breslav
de3af6151b Proper assertion message 2013-12-05 13:00:44 +04:00
Andrey Breslav
1e2eb6dfa1 Special instructions added for calls and other constructs 2013-12-05 13:00:44 +04:00
Andrey Breslav
0b575da5d3 @NotNull annotations in instruction classes 2013-12-05 12:56:17 +04:00
Andrey Breslav
3110edaca6 Useless assertions removed 2013-12-05 12:56:17 +04:00
Andrey Breslav
f26fe1b71a Rename method and class 2013-12-05 12:56:17 +04:00
Andrey Breslav
750390704d Rename methods 2013-12-05 12:56:17 +04:00
Andrey Breslav
5bedec575d Adding local functions through builder 2013-12-05 12:56:17 +04:00
Andrey Breslav
0a3557d331 Rename class 2013-12-05 12:56:16 +04:00
Andrey Breslav
47ea25dbc2 Rearranged declarations, added missing annotations in JetControlFlowBuilder 2013-12-05 12:56:16 +04:00
Andrey Breslav
8b0eea76ef Field made final 2013-12-05 12:56:16 +04:00
Alexander Udalov
1760c3c90c Fix test data for Char members 2013-12-04 18:35:53 +04:00
Alexander Udalov
1bde7344a4 Move declaration of jet.Char out of Numbers.kt
It's not a number anymore (see previous commit)
2013-12-04 17:06:44 +04:00
Alexander Udalov
1c3383c811 Unextend Char from Number
This is impossible to achieve on JVM, where java/lang/Character does not extend
java/lang/Number
2013-12-04 15:57:53 +04:00
Alexander Udalov
77d8a745bd Print the entire bytecode upon ASM verification failure 2013-12-04 15:57:53 +04:00
Alexander Udalov
7af72b98fe Resolve generic bounds of all classes prior to supertypes 2013-12-04 15:57:53 +04:00
Alexander Udalov
028274b934 Don't assert that class is found in BindingContext
This isn't true when light classes are generated, according to other such
checks in the same file

 #KT-4276 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
4ecd1a8f68 Don't fail when using Unit class object as a value
#KT-4243 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
fa7076a4fa Fix ClassCastException with nullable chars
#KT-4210 Fixed
 #KT-4098 Fixed
 #KT-4251 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
dab9d69a40 Don't show bytecode for files out of source roots (EA-50793) 2013-12-04 15:19:57 +04:00
Alexander Udalov
4aa6a42483 Support codegen of empty for-loop
#KT-3009 Fixed
 EA-35742 fixed
2013-12-04 15:19:56 +04:00
Alexander Udalov
61ff9eb45b Support codegen of empty do-while-loop
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
9058272528 Support codegen of empty while-loop
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
4cd4026174 Support empty if-statements
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition

 #KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Alexander Udalov
f045a06dee Update to IDEA 133.193 EAP 2013-12-03 19:00:48 +04:00
Alexander Udalov
dfd660a8e3 Try to resolve expression as class object if resolution found an inappropriate result 2013-12-03 19:00:44 +04:00
Alexander Udalov
b8a97bf192 Minor, fix typo 2013-12-03 18:59:52 +04:00
Nikolay Krasko
1675e45aee Enable basic spell check for Kotlin
#KT-4272 Fixed
2013-12-02 20:28:38 +04:00
Alexander Udalov
d6e1af645f Upgrade ABI version after objects refactoring 2013-12-02 19:56:17 +04:00
Alexander Udalov
076cb07ace Update built-ins test data after objects refactoring 2013-12-02 19:56:17 +04:00
Alexander Udalov
9465fb22d3 Delete unused method from JetClassLikeInfo 2013-12-02 19:56:16 +04:00
Alexander Udalov
969d81b43b Drop deprecated INLINE flag from binary format 2013-12-02 19:56:16 +04:00
Alexander Udalov
310a70bf84 Report a separate diagnostic on inheritance from singletons 2013-12-02 19:56:16 +04:00
Alexander Udalov
2c2e212d0a Don't allow to call constructors of singletons
This fixes testKt2014
2013-12-02 19:56:16 +04:00
Alexander Udalov
080bd42f88 Allow singletons and functions with the same name 2013-12-02 19:56:15 +04:00
Alexander Udalov
dcedbed7e1 Minor, inline DescriptorUtils.getEnumEntriesScope 2013-12-02 19:56:15 +04:00
Alexander Udalov
8549cbb510 Minor, make field final 2013-12-02 19:56:15 +04:00
Alexander Udalov
c2598faa4e Fix class object visibility check
ExpressionTypingContext now has a scope for visibility checking, which isn't
replaced on replaceScope()
2013-12-02 19:56:15 +04:00
Alexander Udalov
d82e8b9a35 Minor, use ExpressionTypingContext in CallExpressionResolver
Will be needed to use expression-typing-specific things
2013-12-02 19:56:14 +04:00
Alexander Udalov
49f8f0af92 Fix highlighting for objects and enum entries
JetObjectDeclarationName is now highlighted with KOTLIN_CLASS
2013-12-02 19:56:14 +04:00
Alexander Udalov
92cdb0b6e7 Fix imports from objects
This almost reverts 345ecbf, since now properties are no longer created for
objects
2013-12-02 19:56:13 +04:00
Alexander Udalov
dce9fbb91c Report a proper error on class object in enum entry or object
CLASS_OBJECT_NOT_ALLOWED instead of MANY_CLASS_OBJECTS
2013-12-02 19:56:13 +04:00
Alexander Udalov
2e4807856f Don't create NamespaceType for enum entries
Enum entry expressions have the type of their enum, so it shouldn't be possible
to access static nested classes of enum entries from outside.

This fixes BlackBoxCodegenTestGenerated$CallableReference.testEnumNameMethod
2013-12-02 19:56:13 +04:00
Alexander Udalov
e48c91bba4 Fix find usages classification for objects
Objects/enum entries are treated as variables as before. Test data for private
object in superclass was changed because now the object (as opposed to the
property) is no longer resolved due to KT-354
2013-12-02 19:56:13 +04:00
Erokhin Stanislav
ddda69c0a6 JS Backend: hack nested object access 2013-12-02 19:56:12 +04:00
Alexander Udalov
97ad75a9f9 JS Backend: fix tests after object refactoring 2013-12-02 19:56:12 +04:00
Alexander Udalov
ba693d3e38 Delete nested_object_name from binary format
It's useless now: nested objects are stored along with classes
2013-12-02 19:56:12 +04:00
Alexander Udalov
4526d96186 Delete JetScope.getObjectDescriptor() 2013-12-02 19:56:11 +04:00
Alexander Udalov
550df37056 Delete JetScope.getObjectDescriptors() 2013-12-02 19:56:11 +04:00
Alexander Udalov
31c84951dc Fix objects appearing in type position in completion
After the object refactoring they're present as classes in scopes, not as
object descriptors
2013-12-02 19:56:11 +04:00
Alexander Udalov
9e6cc829fb Delete WritableScopeImpl.addObjectDescriptor() 2013-12-02 19:56:10 +04:00
Alexander Udalov
c2c4123f64 Don't store object descriptors separately in lazy member scope
Object descriptors are refactored to be the usual classes, so the scope can't
contain any 'objects'
2013-12-02 19:56:10 +04:00
Alexander Udalov
9890f2e5ac Simplify CodegenBinding.canHaveOuter(), make it work for objects
This fixes CompileKotlinAgainstKotlinTest
2013-12-02 19:56:10 +04:00
Alexander Udalov
90490b5c0c Delete OBJECT_DECLARATION_NAME slice and relevant usages
JetObjectDeclarationName is almost useless now, since properties aren't created
for objects anymore
2013-12-02 19:56:10 +04:00
Alexander Udalov
0792af5f85 JetObjectDeclarationName is no longer JetDeclaration
Fix lazy resolve descriptor renderer tests after object refactoring
2013-12-02 19:56:09 +04:00
Alexander Udalov
f0e230cf23 Fix test data of recursive processor and renderer
After object refactoring
2013-12-02 19:56:09 +04:00
Alexander Udalov
c6cfeec6fc Delete VariableDescriptorForObject 2013-12-02 19:56:09 +04:00
Alexander Udalov
e3fffa6b0b Fix decompiled data for objects and enum entries
Also prettify it for enum entries: output only names
2013-12-02 19:56:09 +04:00
Alexander Udalov
ce481b08d8 Fix CompileKotlinAgainstCustomBinariesTest
The two cases are almost irrelevant now that objects aren't resolved to
properties anymore
2013-12-02 19:56:08 +04:00
Alexander Udalov
cb6c98d4d6 Delete OBJECT_PROPERTY kind from binary format
We never create properties for objects anymore, except enum entries of Java
enums. Delete PropertyDescriptorForObjectImpl and its usages
2013-12-02 19:56:08 +04:00
Alexander Udalov
42839fa061 Delete LoadKotlinCustomTest
It's useless now because enums are loaded the same way from binaries as well as
from sources
2013-12-02 19:56:08 +04:00
Alexander Udalov
dd290bbeb9 Create classes when deserializing enum entries 2013-12-02 19:56:07 +04:00
Alexander Udalov
bd5eee5cc2 Put enum entries into enum in lazy resolve 2013-12-02 19:56:07 +04:00
Alexander Udalov
5a4cc1e2fe Put enum entries into enum class in JDR 2013-12-02 19:56:07 +04:00
Alexander Udalov
60e7722a82 Enum entries are put into enum class, not its class object 2013-12-02 19:56:06 +04:00
Alexander Udalov
a5d6d6719c EnumValue now has a ClassDescriptor for its enum entry 2013-12-02 19:56:06 +04:00
Alexander Udalov
83ef095093 Change enum entry resolution strategy in JDR
Enum entry is now resolved into a class with a class object, which inherits
from the former class, as in the other parts of the compiler. Create a special
class EnumEntrySyntheticClassDescriptor which will be reused in deserialization
later
2013-12-02 19:56:06 +04:00
Alexander Udalov
57678a5506 Fix AnnotationDescriptorResolveTest, objects are now classes in scopes 2013-12-02 19:56:06 +04:00
Alexander Udalov
6f930ef725 Support updated enum entry hierarchy in JVM codegen 2013-12-02 19:56:05 +04:00
Alexander Udalov
edc37bd499 Change local objects resolution, delete LocalVariableDescriptorForObject
Local objects are now resolved as global ones (with derived class objects)
2013-12-02 19:56:05 +04:00
Alexander Udalov
2967b69c4a Update enum entry resolution strategy in lazy resolve 2013-12-02 19:56:05 +04:00
Alexander Udalov
bf1ea5fb01 Drop NamespaceLikeBuilder.addObjectDescriptor 2013-12-02 19:56:05 +04:00
Alexander Udalov
dd6cfcdc78 Resolve enum entries similar to objects in TypeHierarchyResolver 2013-12-02 19:56:04 +04:00
Alexander Udalov
c04f63e157 Change object deserialization strategy
Objects now have synthetic class objects in deserialization as well. "Class"
proto message now can have a synthetic class object proto within, if it's not
contained in any external class file, which is the case with objects. Drop
"class_object_present" field from binary format, since its value is equivalent
to the presence of "class_object" field
2013-12-02 19:55:21 +04:00
Alexander Udalov
26bd1ff189 Change object resolution strategy in lazy resolve 2013-12-02 19:55:20 +04:00
Alexander Udalov
ae116c6d9a Support updated object hierarchy in JVM codegen 2013-12-02 19:55:20 +04:00
Alexander Udalov
197eaa0b2e Drop BodiesResolveContext.getObjects()
Objects are stored in the same place where classes are
2013-12-02 19:55:20 +04:00
Alexander Udalov
6c74b10f6c Change object resolution strategy in TypeHierarchyResolver
Instead of creating a synthetic property descriptor for objects, create a
synthetic class object in it and make it inherit from the object. This way all
of object's members will be accessible via its class object
2013-12-02 19:55:20 +04:00
Alexander Udalov
18c59d5495 Treat anonymous objects as classes (ClassKind.CLASS)
They're not objects per se, i.e. they're not singletons
2013-12-02 19:55:19 +04:00
Alexander Udalov
27f832a713 BodiesResolveContext.getClasses()'s key is JetClassOrObject
This has no effect right now, but is a preparation for the objects refactoring,
when BodiesResolveContext.getObjects() will be dropped
2013-12-02 19:55:19 +04:00
Alexander Udalov
008e5f0b13 Don't serialize default primary constructors
Drop "Callable primary_constructor" field, because it requires serializer to
serialize the fact that a class has a primary constructor. Default primary
constructors for objects etc. may not be serialized, because they can be
re-created trivially when they're loaded. There are three options: a class
doesn't have a primary constructor, a class has a default primary constructor,
a class has a custom primary constructor. This explains the change in
descriptors.proto
2013-12-02 19:52:44 +04:00
Mikhael Bogdanov
606b3aa4a9 Test for local fun 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
59dbf75d80 Added test for sam 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
712dcaac91 Added tests for && and || 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
0728428814 Change renderer for descriptors 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
0b2c3efc40 Inline recursion diagnostic 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
9a9527906b Don't lost diagnostics on real elements when processing fake resolveCall 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
621a4002e4 Binary and unary expression support 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
431e61ef74 Beatify code 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
771501912e Comment 'inline' annotation that brokes build 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
1391676281 Support parenthesized, typed and labeled expressions 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
ceda72e0ca Deserialization of function descriptors via DesirializedSimpleFunctionDescriptor 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
8533fd64ff Compiler inline on/off flag 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
4079735bf2 Diagnostic for nullable parameter of Function type 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
40239c42a7 Fix cli 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
d11311ec20 Test compilation fix 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
191891963c Fixed warning with 'orEmpty' function 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
382b2d4a96 Fix compilation warnings with redundant inline annotation 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
16f554b6bf Removed inline annotation from downTo functions 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
0e0f950140 Replacing callable and rullable funs with SAM constructor 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
1dba69186c Stdlib compilation error fixes with new diagnostics 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
339e639135 Stdlib regenerated 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
40d7841892 Added inline flag to templates 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
eb3edeb527 Nothing to inline diagnostic 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
f7c62fe631 Checking modality and visibility of inline function 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
87e66a6e57 Diagnostric for default 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
7329a7a9ef Diagnostic for vararg parameters 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
558687f20f Inline visibility checking 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
c89c465fec Diagnostics for wrong inlinable usage 2013-12-02 18:28:24 +04:00
nik
ac6dc9fa54 standard library: 'maxBy' and 'minBy' functions added (#KT-4267 fixed) 2013-12-02 18:24:24 +04:00
nik
45e9211943 standard library: added isEmpty/isNotEmpty functions for primitive arrays 2013-12-02 18:24:24 +04:00
nik
b636538422 standard library: variance for Array functions corrected 2013-12-02 18:24:24 +04:00
Alexey Sedunov
f5f394cf15 Added read action wrapper
#KT-4268 Fixed
2013-12-02 15:52:24 +04:00
Mikhael Bogdanov
4f017df237 Fix kt-1800 test 2013-12-02 10:40:54 +04:00
Svetlana Isakova
08befe02ee Merge pull request #322 from chashnikov/stdlib-min-max
standard library: 'max' and 'min' functions added (KT-3714, KT-3843, KT-3126)
2013-11-29 06:43:35 -08:00
Mikhael Bogdanov
ff40005973 Record resolved call for this expression 2013-11-29 16:27:31 +04:00
Mikhael Bogdanov
e7cc7d92c2 Make ReceiverParameterDescriptorImpl extends CallableDescriptor 2013-11-29 16:27:30 +04:00
Nikolay Krasko
48382803ac Refactoring: remove absent annotation warning 2013-11-29 15:04:16 +04:00
Nikolay Krasko
61e190c3e6 Move stub index 2013-11-29 15:04:15 +04:00
Nikolay Krasko
6e229af400 Disable getting variants from kotlin references 2013-11-29 15:04:15 +04:00
Nikolay Krasko
b437fca321 Don't download idea for invalid branch 2013-11-29 15:04:14 +04:00
Andrey Breslav
8f45f73340 JetControlFlowTest rewritten to generator 2013-11-29 14:48:31 +04:00
Andrey Breslav
93160431f9 Fix recusrive calls in infix and prefix form
The infamous invokeOperation() method removed
2013-11-29 12:52:58 +04:00
Andrey Breslav
db4b73189a Move handling of VariableAsFunctionCall's to invokeFunction 2013-11-29 12:52:57 +04:00
Andrey Breslav
23e533f3b7 Render byte code on exception from back-end 2013-11-29 12:52:57 +04:00
Andrey Breslav
c975fcb847 Do not generate byte code to text twice 2013-11-29 12:52:56 +04:00
Andrey Breslav
25f6aa68e0 Verification by ASM added to back-end tests 2013-11-29 12:49:43 +04:00
Nikolay Krasko
7f657ead85 Fix preventing showing any methods in "Goto Symbols" by kotlin plugin 2013-11-28 19:23:26 +04:00
Andrey Breslav
1234e55e7e Expand statement templates whenever they are mentioned at the beginning of line 2013-11-28 17:57:46 +04:00
Zalim Bashorov
ededa487a2 Use IDEA 13 branch for jb_update_continuous_local.
Use last ".lastSuccessful" as default value for continuous.idea.version.
2013-11-28 15:36:08 +04:00
Mikhael Bogdanov
1f37ebf7e7 Tests for KT-3646: Wrong this in closure for extension function in constructor
#KT-3646 Obsolete
2013-11-28 12:12:14 +04:00
Mikhael Bogdanov
9ae4af2e4b Fix compilation 2013-11-28 11:58:01 +04:00
Mikhael Bogdanov
35f42b1a65 Tests for KT-4252: Error generating primary constructor with kind OwnerKind
#KT-4252 Obsolete
2013-11-28 10:11:26 +04:00
nik
bf36eb07e9 standard library: 'max' and 'min' functions added (KT-3714, KT-3843, KT-3126) 2013-11-27 23:09:30 +04:00
Valentin Kipyatkov
47d3e2e1bb Smart completion: this expressions added 2013-11-27 21:00:19 +04:00
Valentin Kipyatkov
29f7318f4f Refactored completion tests to support more flexible input file format 2013-11-27 21:00:19 +04:00
Valentin Kipyatkov
912fb904b8 Smart completion: declarations of type Nothing filtered out 2013-11-27 21:00:18 +04:00
Nikolay Krasko
1bde5a90a4 Add ability to rename java methods with usages in Kotlin 2013-11-27 15:50:46 +04:00
Nikolay Krasko
9bdb97bfe8 Test for renaming file name after class rename 2013-11-27 15:50:45 +04:00
Nikolay Krasko
3aaf90f8aa Test for renaming not base java method with base kotlin method 2013-11-27 15:50:45 +04:00
svtk
b178c79573 analyze function arguments after completion for unresolved and ambiguity cases 2013-11-27 14:26:36 +04:00
nik
cde36adbdc standard library: 'sum' function added (KT-3714, KT-3843, KT-3126) 2013-11-27 12:42:40 +04:00
Nikolay Krasko
4ecfab6e0b Fix path case problem 2013-11-27 00:53:32 +04:00
Nikolay Krasko
26d3168224 Test for KT-4100 'Imports doesn't change after java interface name refactoring'
#KT-4100 Fixed
2013-11-27 00:53:31 +04:00
Nikolay Krasko
722118772a Test for KT-3256 'Can't rename a Kotlin function from Java code'
#KT-3256
2013-11-27 00:53:31 +04:00
Zalim Bashorov
3104fc9574 Update to IDEA 133.124 EAP 2013-11-26 21:46:12 +04:00
Nikolay Krasko
a4203fac2f Add test for rename method produced from kotlin function 2013-11-26 19:20:01 +04:00
Nikolay Krasko
97c8e05984 KT-2836 Rename kotlin base function with overrides
#KT-2836 Fixed
2013-11-26 19:20:01 +04:00
Nikolay Krasko
5350dc265a Rename: RenameKotlinFunctionProcessor.java -> RenameKotlinFunctionProcessor.kt 2013-11-26 19:20:00 +04:00
Nikolay Krasko
ce810d3a55 Generate error tip for rename kotlin package klass from java 2013-11-26 19:20:00 +04:00
Nikolay Krasko
76562f9aa5 KT-3255 Add ability to rename kotlin classes from java
#KT-3255 Fixed
2013-11-26 19:19:59 +04:00
Nikolay Krasko
87fac21310 Auto generate test for rename 2013-11-26 19:19:59 +04:00
Nikolay Krasko
6935ad4437 Refactoring: remove author comment 2013-11-26 19:19:58 +04:00
Nikolay Krasko
d765196758 Refactoring: remove warnings 2013-11-26 19:19:58 +04:00
Alexey Sedunov
6dfad69434 Allow super calls in object declarations 2013-11-26 17:29:59 +04:00
Evgeny Gerashchenko
897786f087 Fixed references to com.beust.* 2013-11-26 15:36:40 +04:00
Mikhael Bogdanov
9037449313 Inline flag calculation through inline annotation 2013-11-26 12:53:07 +04:00
Mikhael Bogdanov
fd4816aa36 Inline flag marked deprecated 2013-11-26 12:53:07 +04:00
Mikhael Bogdanov
868f4841be Inline keyword removal 2013-11-26 12:53:06 +04:00
Mikhael Bogdanov
1ecdf77305 Added inline annotation 2013-11-26 12:53:06 +04:00
svtk
56aaf4a4b4 removed CallResolverUtil.copy 2013-11-25 19:42:07 +04:00
svtk
95ca2d8f98 Fixed bug with property and function name clash.
Complete type inference dependent on function literals and expected type
for variable as function calls not for 'invoke' calls
2013-11-25 19:42:07 +04:00
Nikolay Krasko
f939918d36 Use system variables on teamcity for passing them into ant script 2013-11-25 14:01:26 +04:00
svtk
1bfca62592 Fixed: analyze unmapped (or with no callee) functional arguments with right context. 2013-11-22 18:58:02 +04:00
svtk
ae3331717e Fixed: unmapped arguments should be completed as well. 2013-11-22 18:58:02 +04:00
svtk
058726a0f1 Check function arguments of nested unsuccessful calls. 2013-11-22 18:58:02 +04:00
svtk
1a34dffb1f Fixed inference in a simple case.
Try number lower bounds before upper bounds when computing a value.
2013-11-22 18:58:01 +04:00
svtk
9d3a7804cc Fixed tests for labels.
The bug was automatically fixed by previous commit.
2013-11-22 18:58:01 +04:00
svtk
ca1650d31d Fixed exception from EA
"The constraint shouldn't contain different type variables on both sides: T <: R".
It occurred because we analyzed function literals before completion with unsubstituted (therefore wrong) expected type, and cached resulting type.
2013-11-22 18:58:01 +04:00
svtk
efd5f69330 made try, finally and throw expressions implement JetStatementExpression 2013-11-22 18:58:00 +04:00
svtk
2bd4aa97c6 KT-4204 ConstraintSystem erased after resolution completion
#KT-4204 Fixed
2013-11-22 18:57:59 +04:00
svtk
5d95fa99bd small: removed obsolete logic ('isIrrefutable') 2013-11-22 18:57:59 +04:00
svtk
8defeef050 made UNREACHABLE_CODE a warning instead of error 2013-11-22 18:57:59 +04:00
svtk
c1ec8cbde9 check Nothing type for all expressions not only for calls and simple names
(but excluding statement expressions)
2013-11-22 18:57:58 +04:00
svtk
36ce8f24b3 removed obsolete commented code 2013-11-22 13:08:11 +04:00
svtk
e187b37f2d use constant BindingContext.EMPTY
instead of creating new BindingTraceContext
2013-11-22 13:08:10 +04:00
svtk
e29dab5044 refactoring: record copy of resolved call explicitly 2013-11-22 13:08:10 +04:00
Andrey Breslav
4ac7afbb9f Module annotations-ext removed. Annotations are moved to runtime 2013-11-21 20:47:48 +04:00
Alexander Udalov
c7d5819ef2 Pull up getThisAsReceiverParameter() 2013-11-21 19:34:51 +04:00
Alexander Udalov
a77d6a006d Cleanup ClassDescriptorImpl & ErrorClassDescriptor
ClassDescriptorImpl now extends ClassDescriptorBase and reuses most of its
functionality. ErrorClassDescriptor now is initialized in its own constructor.
Inline trivial arguments everywhere
2013-11-21 19:34:51 +04:00
Alexander Udalov
62068bf741 Pull up getUnsubstitutedInnerClassesScope() 2013-11-21 19:34:50 +04:00
Alexander Udalov
e9f102f3e6 Pull up getClassObjectType() 2013-11-21 19:34:50 +04:00
Alexander Udalov
97f2d568a3 Use StorageManager in AbstractClassDescriptor to create a lazy value 2013-11-21 19:34:50 +04:00
Alexander Udalov
ff29684e3d Delete ExpressionPosition
It had been deprecated in 838c408
2013-11-21 19:34:50 +04:00
Alexander Udalov
223bf11de6 Minor, NamedMembers.toString() 2013-11-21 19:34:50 +04:00
Alexander Udalov
2c6bf6171f Rename ClassKind.isObject -> isSingleton
"isObject" gives a false impression that this is a check if the kind is OBJECT
2013-11-21 19:34:50 +04:00
Evgeny Gerashchenko
9a8d639ac5 Fixed compilation.
Ffter accidental using of method from too fresh IDEA.
2013-11-21 19:15:49 +04:00
Alexey Sedunov
2ecac63405 Fix compilation error caused by the change in IDEA API 2013-11-21 18:57:13 +04:00
Evgeny Gerashchenko
f2bbbed7f6 Returning correct exit code from Windows batch scripts. 2013-11-21 17:37:38 +04:00
Evgeny Gerashchenko
51ac515941 Fixed kotlinc-* executables. 2013-11-21 17:37:37 +04:00
Evgeny Gerashchenko
581b9646d7 Added test for kotlinc executables. 2013-11-21 17:37:37 +04:00
Evgeny Gerashchenko
ca785cbdd5 Minor. Moved classes. 2013-11-21 17:37:37 +04:00
Evgeny Gerashchenko
d937909ebf Separated test data depending on target platform (JS/JVM) 2013-11-21 17:37:36 +04:00
Evgeny Gerashchenko
f06e46951f Separated ScriptTest from other cli tests. 2013-11-21 17:37:36 +04:00
Evgeny Gerashchenko
46879e5a26 Moved args into test data of cli tests. 2013-11-21 17:37:35 +04:00
Alexey Sedunov
139f98a983 Update to IDEA 133.79 EAP 2013-11-21 17:08:54 +04:00
Andrey Breslav
054ecdaa6c More info in the assert message 2013-11-21 13:07:39 +04:00
Andrey Breslav
345ecbf4c0 Never import object descriptors, for they may overwrite corresponding vals 2013-11-21 13:07:39 +04:00
Andrey Breslav
0fa70b7e47 Move utility method to DescriptorUtils and make it more general 2013-11-21 13:07:38 +04:00
Andrey Breslav
dbd12b0c60 More information in debug message: file name 2013-11-21 13:07:38 +04:00
Andrey Breslav
d9444fea09 printScopeStructure() introduced for debugging 2013-11-21 13:07:38 +04:00
Andrey Breslav
af68739e69 More information in assert message 2013-11-21 13:07:38 +04:00
Andrey Breslav
a0b09ae590 Optimization: don't check when there's nothing to check or report 2013-11-21 13:07:37 +04:00
Andrey Breslav
ce496c4512 More info in assert 2013-11-21 13:07:37 +04:00
Andrey Breslav
301bcebaf1 Unnecessarily specific cast weakened 2013-11-21 13:07:37 +04:00
Andrey Breslav
d2a9cd7b43 Render types with renderer 2013-11-21 13:07:37 +04:00
Andrey Breslav
083644ea43 Support parameter annotations. Fix class path and test data 2013-11-21 13:07:36 +04:00
Andrey Breslav
c034d5e675 Report target file on injector generation failure 2013-11-21 13:07:36 +04:00
Andrey Breslav
ef2ae0f398 Consider packages equal if their fqNames are equal 2013-11-21 13:07:36 +04:00
Andrey Breslav
9e446373e3 Old JDR and test data fixed 2013-11-21 13:07:35 +04:00
Andrey Breslav
80c281bcd3 Unnecessary downcast removed 2013-11-21 13:07:35 +04:00
Andrey Breslav
11c8d0785b Extra information in assertion message 2013-11-21 13:07:35 +04:00
Andrey Breslav
814311075d Assertion message 2013-11-21 13:07:35 +04:00
Andrey Breslav
ba8bcb2e9a Better diagnostics + basic recursion detection in memoized functions 2013-11-21 13:07:34 +04:00
Andrey Breslav
4aadf6e802 Storage manager framework uses Kotlin iterfaces 2013-11-21 13:07:34 +04:00
Andrey Breslav
0c2e1fb806 @NotNull annotations on descriptor classes 2013-11-21 13:07:34 +04:00
Andrey Breslav
6dde064791 Collections in interfaces marked @ReadOnly 2013-11-21 13:07:34 +04:00
Andrey Breslav
e5c67e7935 Classes @Nullable and @NotNull are added to runtime
This is needed because Kotlin now annotates all emitted byte code with @Nullable and @NotNull, and a verifier like proguard would reject the code unless the classes are on the class path
2013-11-21 13:07:33 +04:00
Andrey Breslav
a7b50d7d06 Remove rependency on annotations-ext.jar 2013-11-21 13:07:33 +04:00
Andrey Breslav
70ae245181 Annotation classes @ReadOnly and @Mutable added to runtime (to get into the standard library) 2013-11-21 13:06:45 +04:00
Andrey Breslav
bfbb200ba8 Only render exact function types in special syntax 2013-11-21 13:05:39 +04:00
Alexey Sedunov
9f5ee13c20 Implement "Merge when" intention 2013-11-20 20:55:58 +04:00
Evgeny Gerashchenko
d9b1c88bf4 Minor. Fixed misused class. 2013-11-20 19:33:27 +04:00
Evgeny Gerashchenko
32a2f98c74 Minor. Reused util method. 2013-11-20 19:33:27 +04:00
Mikhael Bogdanov
1e4397a83d Added isExactFunctionOrExtensionFunctionType method 2013-11-20 16:32:08 +04:00
Mikhael Bogdanov
3caa410e06 OverloadResolutionResultsImpl param substituted with ResolvedCall in callResolverExtension 2013-11-20 16:32:08 +04:00
Mikhael Bogdanov
afa09caa0f Added AnnotationContext flag 2013-11-20 16:32:07 +04:00
Nikolay Krasko
c09ba00c8d Add task for generating repository xml 2013-11-20 15:43:45 +04:00
Nikolay Krasko
01d5b6a222 Remove verifying kannotator from publishing kotlin plugin 2013-11-20 15:43:44 +04:00
Alexey Sedunov
9839c2b0b6 Stdlib: Add iteration over unary function, implement iterator zip and skip 2013-11-20 01:44:13 +04:00
Nikolay Krasko
3fadff21cb KT-4211 Can't see kotlin annotation icon for Java-declaration with source
#KT-4211 Fixed
2013-11-19 21:56:50 +04:00
Nikolay Krasko
2b37214efa Don't auto insert '}' after '{' in unfinished control statements 2013-11-19 18:37:00 +04:00
Nikolay Krasko
f6af946215 Refactoring: extract common method 2013-11-19 18:36:59 +04:00
Nikolay Krasko
9ed900e2be Fix auto-indent for { 2013-11-19 18:36:58 +04:00
Nikolay Krasko
99ddfe8c83 Refactoring type handler 2013-11-19 18:36:58 +04:00
Evgeny Gerashchenko
9ba3e39cf0 Removed useless method. 2013-11-19 18:05:29 +04:00
Evgeny Gerashchenko
6e19b98997 Unified resolve and multiResolve for references. 2013-11-19 18:05:29 +04:00
Alexey Sedunov
f36743e8b8 Recover suppress annotation 2013-11-19 13:09:48 +04:00
Alexey Sedunov
75edea0dd3 Fix location of "Remove parentheses" intention 2013-11-19 13:09:40 +04:00
Natalia Ukhorskaya
0302c591f2 Fix android tests: classObjectToString test should be excluded 2013-11-19 12:05:27 +04:00
Natalia Ukhorskaya
d241bfc138 KT-3517 Can't call .equals() on a boolean
#KT-3517 Fixed
2013-11-19 12:05:26 +04:00
Alexey Sedunov
8dfe771f8e Fix intention property key 2013-11-18 21:22:25 +04:00
Alexey Sedunov
0908b9146c Add suppress annotation to runtime 2013-11-18 20:45:29 +04:00
Alexey Sedunov
8792ea8b1b Remove "suppress" from top level to fix build error 2013-11-18 20:31:12 +04:00
Alexander Udalov
6f31692996 Import nested classes both from classes and their class objects
It seems that this incorrect behaviour was introduced in 726bcb5
2013-11-18 19:51:29 +04:00
Alexander Udalov
e2622b5dbb Resolve extension calls on class objects
#KT-3470 Fixed
2013-11-18 19:51:29 +04:00
Alexander Udalov
838c408e68 LHS of qualified expressions are determined manually
ExpressionPosition is useless now and will be dropped

 #KT-3866 Fixed
2013-11-18 19:51:28 +04:00
Alexander Udalov
e8089cc461 Synthetic class object of enum should always be public
#KT-2834 Fixed
2013-11-18 19:46:01 +04:00
Alexey Sedunov
c63265bd69 Translate RemoveUnnecessaryParenthesesIntention and apply refactoring 2013-11-18 18:53:37 +04:00
Alexey Sedunov
a24ee8745c Merge WhenUtils with IfWhenUtils 2013-11-18 18:49:46 +04:00
Alexey Sedunov
167ec19e35 Translate IfWhenUtils to Kotlin 2013-11-18 18:49:38 +04:00
Alexey Sedunov
523e44f00d Annotate JetVisitorVoid and its inheritors 2013-11-18 18:49:30 +04:00
Alexey Sedunov
05d9cbd67d Translate WhenUtils to Kotlin 2013-11-18 18:49:22 +04:00
Alexey Sedunov
72f4ae3a13 Translate intention classes to Kotlin and apply refactoring 2013-11-18 18:33:34 +04:00
Alexey Sedunov
6b971fa50c Implement custom TargetElementEvaluator KT-4190 #Fixed 2013-11-18 18:33:33 +04:00
Andrey Breslav
38b38e7b6d KT-4198 On covariant projection, do not throw whole var's away
#KT-4198 Fixed
2013-11-18 18:30:41 +04:00
Valentin Kipyatkov
3fe55c997f Smart completion: changed test data to use Any instead of Object 2013-11-18 17:54:09 +04:00
Valentin Kipyatkov
acb5bb2b07 Smart completion: auto-casted types supported 2013-11-18 17:54:09 +04:00
Andrey Breslav
7bc8f9f5ff Test data fixed 2013-11-18 16:38:45 +04:00
Andrey Breslav
c0fce6becd KT-4209 Make constructors of primitives private
#KT-4209 Fixed
2013-11-18 15:09:56 +04:00
Zalim Bashorov
59e47a5f77 Normalize paths in output in integration-tests. 2013-11-17 03:21:55 +04:00
Zalim Bashorov
cf717f8cb7 JS backend: minor fixes in k2js stdlib. 2013-11-17 03:21:55 +04:00
Nikolay Krasko
dd44478c2f Remove "StaticMethodReferencedViaSubclass" warning mute 2013-11-15 19:41:28 +04:00
Nikolay Krasko
74c321ba73 Test for absence static warnings 2013-11-15 19:41:26 +04:00
Andrey Breslav
0c1c0e0099 Always generate local variable table to preserve parameter names 2013-11-15 19:41:25 +04:00
Nikolay Krasko
4348678cea Add light parameters for functions 2013-11-15 19:41:23 +04:00
Nikolay Krasko
f8357aecc1 Assign annotation to intellij-core library 2013-11-15 19:41:20 +04:00
Nikolay Krasko
8f12db341e Remastering of documentation provider
- Remove whole file resolve
- Take already resolved element
- Get kotlin element behind the wrapper directly
- Remove outdated isKotlinDeclaration method
- More tests
2013-11-15 19:41:16 +04:00
Nikolay Krasko
3d3464d163 Wrap cls-methods with kotlin prototypes 2013-11-15 19:41:11 +04:00
Nikolay Krasko
aa91ae6843 Common class for Kotlin light classes with returning light elements for methods and fields 2013-11-15 19:41:08 +04:00
Nikolay Krasko
6aeaceae8d Refactoring: Rename JetClsMethod -> JetPsiMethodWrapper
Source element in Kotlin mustn't be wrapped into read-only class-elements
2013-11-15 19:05:47 +04:00
Nikolay Krasko
14c5ae57cf Make kotlin build against 132.1071 (EAP was 132.1045) 2013-11-15 17:13:44 +04:00
Natalia Ukhorskaya
bacf8b58f3 Update to 132.1071 2013-11-15 17:10:46 +04:00
Zalim Bashorov
5c6cfce8ab JS backend: use jet.Iterable and jet.Any as "fake" classes. 2013-11-15 15:18:01 +04:00
Zalim Bashorov
060d7c5345 Removed closure-compiler.jar from repository and js_test_libs.
Added closure-compiler.jar to third-party dependencies.
Switch to use closure-compiler ant task instead of java task.
2013-11-15 15:18:00 +04:00
Zalim Bashorov
bfa79efaf3 BuildTools: added tests for ant task Kotlin2JsCompilerTask. 2013-11-15 15:17:59 +04:00
Zalim Bashorov
df4850c22f BuildTools: added ant task for Kotlin2Js compiler. 2013-11-15 15:17:59 +04:00
Andrey Breslav
9723106d95 Add missing module to quick compiler build 2013-11-14 19:29:05 +04:00
Alexander Udalov
d044fbb4f1 Add "-source 1.6" to javac to prevent numerous warnings on JDK 7 2013-11-14 19:11:21 +04:00
Alexander Udalov
776b5d0a6e Minor, move enum diagnostic tests, add another test 2013-11-14 19:11:20 +04:00
Alexander Udalov
76e347e530 Minor, rename method 2013-11-14 19:11:20 +04:00
Alexander Udalov
8c3f9149ac Add a test on extension function to object 2013-11-14 19:11:20 +04:00
Alexander Udalov
8b5aa94484 Extract SpecialNames.isClassObjectName 2013-11-14 19:11:20 +04:00
Alexander Udalov
69ed375ce1 Extract SpecialNames utility class 2013-11-14 19:11:19 +04:00
Alexander Udalov
d6aa7c2d23 Minor, inline method 2013-11-14 19:11:19 +04:00
Alexander Udalov
f75c399128 Minor, use headless mode in BuiltInsSerializer 2013-11-14 19:11:19 +04:00
Alexander Udalov
ef0af47972 Minor, add error message & Override 2013-11-14 19:11:19 +04:00
Alexander Udalov
ac248f2d46 Minor refactorings in codegen tests
Unindent code, get rid of warnings, etc.
2013-11-14 19:11:18 +04:00
Alexander Udalov
a35f285bcf Disable "UseOfSystemOutOrSystemErr" inspection in tests 2013-11-14 19:11:18 +04:00
Alexander Udalov
cdecbc0915 Class objects also can have delegated members 2013-11-14 19:11:18 +04:00
Alexander Udalov
29f3c4a1a0 Report upper bounds violation for objects, not only classes 2013-11-14 19:11:18 +04:00
Alexander Udalov
01d8e658aa Regenerate tests 2013-11-14 19:10:34 +04:00
Alexander Udalov
57aa355b05 Report INVISIBLE_MEMBER on private class object usage 2013-11-14 19:10:18 +04:00
Alexander Udalov
94deb21551 Minor, move diagnostic tests for class objects 2013-11-14 17:45:57 +04:00
Andrey Breslav
bd244e0460 Type fixed in the file name 2013-11-13 21:42:02 +04:00
Valentin Kipyatkov
2d3b0ffc0b Smart completion: offer class instantiating choice 2013-11-13 20:17:45 +04:00
Nikolay Krasko
80ab043d21 Tweak spacing in do-while 2013-11-13 19:08:53 +04:00
Nikolay Krasko
dddde11c6a Configure spacing after 'while' in while statement 2013-11-13 19:08:52 +04:00
Nikolay Krasko
7587e8ffcb Insert space between ) and statement body 2013-11-13 19:08:51 +04:00
Nikolay Krasko
c50804a3f3 Add spaces after ) and around 'else' in 'if' 2013-11-13 19:08:51 +04:00
Andrey Breslav
6efd72738a More information in error message 2013-11-13 18:09:37 +04:00
Andrey Breslav
5e3909ba87 Regenerated 2013-11-13 14:39:16 +04:00
Andrey Breslav
0c9aec5941 Annotations for guava 2013-11-13 14:36:49 +04:00
Andrey Breslav
c4ecb9663a Basic utility for rendering DataFlowValues 2013-11-13 14:36:34 +04:00
Andrey Breslav
9aee57bfb5 getCompleteTypeInfo(), getCompleteNullabilityInfo() and getId() made public 2013-11-12 22:56:18 +04:00
Andrey Breslav
c0d75269af Explicitly check for NO_IDENTIFIER_INFO 2013-11-12 21:54:45 +04:00
Zalim Bashorov
8917bd0331 KotlinJpsBuildTestCase -> KotlinJpsBuildTest 2013-11-12 20:34:23 +04:00
Zalim Bashorov
4fb995c50b JPS: add tests for: exclude in compiler settings, project with more then one file. 2013-11-12 20:33:05 +04:00
Zalim Bashorov
b31e2d7421 JPS: ignore excluded directories and files in compilation.
#KT-4188 fixed
2013-11-12 18:44:30 +04:00
Zalim Bashorov
923fd74c0a JPS: revert KotlinBuilder changes for using dirty files, because it's wrong. 2013-11-12 18:44:30 +04:00
Evgeny Gerashchenko
a608612e6b KT-4183 BuiltInsReferenceResolver$1 startup activity is slow
#KT-4183 in progress
2013-11-12 15:50:53 +04:00
Pavel V. Talanov
f9a2b09a4e Add(Remove)ParameterQuickFix is not available for unmodifiable files 2013-11-12 14:15:57 +04:00
Pavel V. Talanov
3e97203f85 Check that target functions can be modified in JetChangeSignature 2013-11-12 14:15:56 +04:00
Pavel V. Talanov
f4c8655fa2 Use DescriptorToDeclarationUtil to get function declaration in JetChangeSignature 2013-11-12 14:15:55 +04:00
Pavel V. Talanov
53acd2c837 Minor: add @NotNull annotations 2013-11-12 14:15:54 +04:00
Pavel V. Talanov
a422523cfb Fix an exception that can be thrown if quickfix still exists but psi is no longer valid 2013-11-12 14:15:53 +04:00
Pavel V. Talanov
c1d5851060 Minor: fix typo 2013-11-12 14:15:53 +04:00
Pavel V. Talanov
49a7c47276 Prettify code 2013-11-12 14:15:52 +04:00
Pavel V. Talanov
959ab2b20c Enum class objects values and valueOf functions have kind SYNTHESIZED 2013-11-12 14:15:51 +04:00
Pavel V. Talanov
dfef9aa6e9 Select first new parameter in JetChangeSignatureDialog by default 2013-11-12 14:15:50 +04:00
Pavel V. Talanov
3ddcf40518 Run "Add function parameter" fix silently if current usage is the only usage of the function 2013-11-12 14:15:49 +04:00
Pavel V. Talanov
66cc9b2cc7 Show error hint when trying to refactor synthesized function 2013-11-12 14:15:48 +04:00
Pavel V. Talanov
f032b6e236 Eliminate redundant descriptorToDeclaration call from factory for "Change signature" quick fixes 2013-11-12 14:15:47 +04:00
Pavel V. Talanov
8c95884ad2 Add new functionality to "Change signature" refactoring
Extract single point of entry for all change signature refactorings and fixes (remove parameter, add parameter)
Change signature now affects overriding functions as well
Ask the user whether he wants to refactor base function(s) or the selected one if appropiate
Fix a problem with descriptorToDeclaration in JetChangeSignatureHandler
Rename: JetFunctionPlatformDescriptor -> JetMethodDescriptor
2013-11-12 14:15:46 +04:00
Pavel V. Talanov
967030e7c1 Minor: Fix message in JetBundle 2013-11-12 14:15:45 +04:00
Pavel Talanov
97532f68c6 Add filterOutOverriding to OverridingUtil 2013-11-12 14:15:44 +04:00
Pavel Talanov
82feef23c3 Rename: OverridingUtil#filterOverrides -> filterOutOverridden to be more precise 2013-11-12 14:15:43 +04:00
Pavel Talanov
700d26917b Minor: Remove commented out code 2013-11-12 14:15:42 +04:00
Valentin Kipyatkov
a7f11e6852 Very initial implementation of smart completion 2013-11-11 21:46:05 +04:00
Valentin Kipyatkov
a3e67ff27d Deleted test file 2013-11-11 21:21:56 +04:00
Valentin Kipyatkov
bb73a21154 Test commit to test write access 2013-11-11 21:20:08 +04:00
Andrey Breslav
2b6f688a52 Annotate fields from traits' class object properties 2013-11-11 17:20:16 +04:00
Andrey Breslav
4fa691f4b4 Ignore @Nullable/@NotNull annotations when deserializing Kotiln descriptors
This is needed because we write these annotations to class files on all API callables automatically. Seeing all these annotations on descriptors is no good
2013-11-11 17:20:16 +04:00
Andrey Breslav
1f574a9feb Do not annotate private members and their parameters (to save space) 2013-11-11 17:20:15 +04:00
Andrey Breslav
0959f7e37c Don't mark primitive types as @NotNull 2013-11-11 17:20:15 +04:00
Andrey Breslav
f3901d2844 visitAnnotation() could return null for light classes 2013-11-11 17:20:15 +04:00
Andrey Breslav
2873f74932 Generate @Nullable/@NotNull annotations on Kotlin declarations (for IDEA interop) 2013-11-11 17:20:15 +04:00
Andrey Breslav
4268d8aa27 Generate parameter annotations even in LIGHT_CLASSES mode 2013-11-11 17:20:15 +04:00
Andrey Breslav
641ed568f2 Extract method 2013-11-11 17:20:15 +04:00
Mikhael Bogdanov
1795b2a0bc KT-4118 Closures mix makes code fail on runtime
#KT-4118 Fixed
2013-11-11 12:22:06 +04:00
Maxim Shafirov
5e2e6e557d error (yet to decide what particular exception to throw) 2013-11-10 18:25:13 +04:00
Nikolay Krasko
560fccbfb5 Better recovering after reporting error about several statements on the line 2013-11-09 14:08:01 +04:00
Nikolay Krasko
8e1b4edd7c Refactoring: Remove class KotlinLightClassForPackageBase
FakeLightClassForFileOfPackage will use same code with delegating
2013-11-08 18:41:25 +04:00
Nikolay Krasko
fa0c3e52c5 Generate out of block modification tests 2013-11-08 18:41:23 +04:00
Nikolay Krasko
2975198b4c Attempt to simplify hashCode and equals login in JetLookupObject 2013-11-08 18:41:22 +04:00
Nikolay Krasko
3e94246c45 Add ability to use ctrl+click in decompiled kotlin files 2013-11-08 18:41:21 +04:00
Zalim Bashorov
98e9b387b6 JetCompiler (non JPS) -> K2JvmTranslatingCompiler;
K2JSCompiler (non JPS) -> K2JsTranslatingCompiler.
2013-11-08 18:14:22 +04:00
Zalim Bashorov
e5a58e0c70 JPS: switched to use dirty files without incremental compilation (temporary hack for recompiling all).
Fixed compiling files from excluded directories.
2013-11-08 18:14:22 +04:00
Zalim Bashorov
6e5c849cb8 Use Project JDK in cli-common 2013-11-08 18:14:22 +04:00
Zalim Bashorov
e5c450fbee SourceMapBuilder#skipLinesInBegin -> SourceMapBuilder#skipLinesAtBeginning 2013-11-08 18:14:22 +04:00
Zalim Bashorov
1409dd7812 Refresh FS after compilation for js and sourcemap files. 2013-11-08 18:14:21 +04:00
Zalim Bashorov
637c6635bd Just rename some variables like: *factory -> outputFiles 2013-11-08 18:14:21 +04:00
Zalim Bashorov
4cea0a3de4 Fix build after change api 2013-11-08 18:14:21 +04:00
Zalim Bashorov
ae8ac28ddc Split OutputFileFactory to OutputFileCollection and OutputFile 2013-11-08 18:14:21 +04:00
Zalim Bashorov
e041e950c8 Extracted OutputDirector and output utils to common place 2013-11-08 18:14:20 +04:00
Zalim Bashorov
5dd4eb780e Extracted OutputFileFactory interface. 2013-11-08 18:14:20 +04:00
svtk
64e12398af comment added to tests 2013-11-08 16:33:41 +04:00
svtk
95ef417ee8 KT-4170 Compiler hangs (or works too long)
#KT-4170 Fixed
2013-11-08 16:33:41 +04:00
Mikhael Bogdanov
df03eb5330 KT-4173: Can't pass a non-trivial closure to a super-call for object expression
#KT-4173 Fixed
2013-11-08 15:19:20 +04:00
Mikhael Bogdanov
2c75bdacc5 Added exception for outer absence 2013-11-08 14:10:35 +04:00
Natalia Ukhorskaya
cc948d88cc Build j2k using kotlinc in build.xml 2013-11-08 12:12:06 +04:00
Alexey Sedunov
1b8205273b Search constructor-declared properties together with class declarations 2013-11-07 20:44:25 +04:00
Alexey Sedunov
52ffd52a4e Implement "Find Usages" for value/type parameters 2013-11-07 20:44:25 +04:00
Alexey Sedunov
cfaeca88bf Reuse property search for parameters 2013-11-07 20:44:23 +04:00
Alexey Sedunov
58f7a3efbf Refactor search helpers: replace some classes with traits 2013-11-07 20:44:23 +04:00
Andrey Breslav
dabd048352 Do not rely on PSI when checking resolution results for packages (by geevee) 2013-11-07 19:18:55 +04:00
Andrey Breslav
1544e1a64b Suppress warnings from Kotlin compiler 2013-11-07 19:12:25 +04:00
Andrey Breslav
fd73dc3dce Fix tests after stdlib rearrangement 2013-11-07 13:56:17 +04:00
Alexey Sedunov
9038798e55 Update to IDEA 132.947 EAP 2013-11-07 13:33:17 +04:00
Maxim Shafirov
73db26f5f3 Clean up deprecation 2013-11-07 13:03:03 +04:00
Maxim Shafirov
9f1428a985 Merge branch 'upstream' of git://github.com/mhshams/kotlin 2013-11-07 12:42:49 +04:00
Andrey Breslav
2888a6d950 Print preloader results even if the underlying code called System.exit() 2013-11-06 19:50:14 +04:00
Alexey Sedunov
dfef1a37ac Add comments to usage check functions 2013-11-06 14:26:39 +04:00
Alexey Sedunov
f40fb623a6 FindUsagesTest: Add overriding property without accessors 2013-11-06 14:26:38 +04:00
Alexey Sedunov
e2e8a02fbb isConstructor optimization 2013-11-06 14:26:37 +04:00
Alexey Sedunov
78a7afe70e FindUsagesTest: Add usages of extensions for functions declared in objects 2013-11-06 14:26:36 +04:00
Alexey Sedunov
60022ddb56 Rename FindUsagesTest 2013-11-06 14:26:35 +04:00
Alexey Sedunov
bc9b2bf657 Add "Find Usages" tests for nested/inner classes and objects 2013-11-06 14:26:34 +04:00
Alexey Sedunov
f99e6e6765 Fix usage type detection for static members of Java classes and members of nested classes 2013-11-06 14:26:33 +04:00
Alexey Sedunov
40900ac16c Reuse Java usage types 2013-11-06 14:26:32 +04:00
Alexey Sedunov
828f24406c Move search helper options to constructor parameters 2013-11-06 14:26:32 +04:00
Alexey Sedunov
ec8eb97e0e Disable override search for non-virtual properties 2013-11-06 14:26:31 +04:00
Alexey Sedunov
a0e90f38a2 "Find Usages": add tests for Kotlin usages of Java declarations 2013-11-06 14:26:30 +04:00
Alexey Sedunov
f41cfa2b8b "Find Usages": separate Kotlin and Java tests 2013-11-06 14:26:29 +04:00
Alexey Sedunov
f1a7d707a0 Implement "Find usages" using UsagesSearch (classes, functions, properties) 2013-11-06 14:26:27 +04:00
Alexey Sedunov
e1fa8628ec Implement search helpers for Kotlin declarations 2013-11-06 14:26:26 +04:00
Alexey Sedunov
790fb2acff Implement UsagesSearch 2013-11-06 14:26:26 +04:00
Alexey Sedunov
6502f21144 JetUsageTypeProvider: Eliminate SELECTOR type, replace class with object 2013-11-06 14:26:25 +04:00
Alexey Sedunov
657b4a164c Translate find usage options to Kotlin 2013-11-06 14:26:24 +04:00
Alexey Sedunov
992c7055a5 Translate FindUsagesUtils to Kotlin 2013-11-06 14:26:23 +04:00
Alexey Sedunov
8ca3f6a1ad Translate JetFindUsagesProvider to Kotlin 2013-11-06 14:26:22 +04:00
Alexey Sedunov
d491f0337e Translate KotlinFindUsagesHandlerFactory to Kotlin 2013-11-06 14:26:21 +04:00
Erokhin Stanislav
1a1c2902f0 JS backend: inline ClassDeclarationTranslator 2013-11-05 22:25:04 +04:00
Erokhin Stanislav
961c5fc0df JS backend: drop ClassAliasingMap from ClassTranslator 2013-11-05 22:23:10 +04:00
Erokhin Stanislav
b958e453e8 JS backend: rewrite FileDeclarationVisitor use kotlin 2013-11-05 22:22:54 +04:00
Erokhin Stanislav
4a55f5a65e JS backend: add simple enum test 2013-11-05 20:55:49 +04:00
Erokhin Stanislav
e9fe0070d7 JS backend: complete remove _c object from output code. 2013-11-05 20:55:49 +04:00
Erokhin Stanislav
6422167b5c JS backend: first step of remove _c object from output code.
createClass -> createClassNow, createTrait -> createTraitNow, createObject -> createObjectNow
First argument of new createClass() is function, which return array of parent classes.
2013-11-05 20:55:49 +04:00
Erokhin Stanislav
b2f096f20a JS backend: add debug info into several tests 2013-11-05 20:55:49 +04:00
Erokhin Stanislav
8ac00fa164 JS backend: refactor ClassTranslator 2013-11-05 20:55:49 +04:00
Erokhin Stanislav
bb6fd90bd9 JS backend: move StringBuilder to java.lang. Fix append return type. 2013-11-05 20:55:49 +04:00
Mohammad Shamsi
0c447c81ca KT-4153 Fixed. 2013-11-05 18:37:13 +08:00
svtk
4d999bbb1f Complete nested calls (arguments) for not successfully resolved calls.
When resolved call isn't single; when nested calls are unmapped arguments.
2013-11-01 15:26:14 +04:00
svtk
9023e96a07 in case of error set all arguments as unmapped
(not to forget to complete them later)
2013-11-01 15:26:14 +04:00
svtk
8c97beecb4 minor: assert instead of exception 2013-11-01 15:26:13 +04:00
svtk
eea08cf4e1 initialization of 'hasInferredReturnType' property
moved to its getter
2013-11-01 15:26:13 +04:00
svtk
28e4642289 comment added 2013-11-01 15:26:13 +04:00
svtk
d56b4d453c added check that all resolved calls are completed to diagnostic tests 2013-11-01 15:26:13 +04:00
svtk
7709d3d8de added flag 'isCompleted' to resolve call for tests 2013-11-01 15:26:13 +04:00
svtk
d2680bca22 extracted class BindingTraceContextWithoutScopeRecording 2013-11-01 15:26:13 +04:00
Svetlana Isakova
101b619513 refactoring: rename, fixes after review 2013-11-01 15:26:13 +04:00
svtk
9c60430ef2 store 'hasInferredReturnType' in resolved call
instead of trying to compute it later
2013-11-01 15:26:12 +04:00
svtk
f7be8ce953 refactoring: warnings eliminated 2013-11-01 15:26:12 +04:00
svtk
3c04b87f1a Clean internal data for 'invoke' calls. 2013-11-01 15:26:12 +04:00
svtk
0f56559823 Clean internal data in resolved call after it's built.
Not to store heavy and unnecessary any longer traces in resolved call.
2013-11-01 15:26:12 +04:00
svtk
84eb0b37a2 Cache resolution results for properties as well.
There is no need to complete these results with expected type and analyze arguments, as property doesn't have arguments.
However, it's useful to clean internal resolution data through completion phase for properties like for functions.
2013-11-01 15:26:12 +04:00
Svetlana Isakova
d1fa39dee4 got rid of 'this' reference to constraint system in its resulting substitutor 2013-11-01 15:26:12 +04:00
Andrey Breslav
c3614c46cd Do not keep scopes in the trace for CLI compiler 2013-11-01 15:26:12 +04:00
Svetlana Isakova
491305ff34 todo test improved analysis of unary expressions
added explicit 'isUnaryExpressionDependentOnExpectedType' check
2013-11-01 15:26:11 +04:00
Svetlana Isakova
c0890ccc37 improved debug message for temporary traces
added file name
2013-11-01 15:26:11 +04:00
Svetlana Isakova
af194ba2e8 added debugName to MemberType 2013-11-01 15:26:11 +04:00
Svetlana Isakova
381fd35e3e do not store context in CallForImplicitInvoke 2013-11-01 15:26:11 +04:00
Andrey Breslav
b726b5070a Do not use a method that is not present in some versions fo JPS 2013-10-31 18:31:00 +04:00
Mikhael Bogdanov
3ee9b8cbc5 Code rearrangment 2013-10-31 16:48:31 +04:00
Mikhael Bogdanov
ee2a30f34f KT-4152 Wrong postfix increment/decrement calculation
#KT-4152 Fixed
2013-10-31 16:48:24 +04:00
Mikhael Bogdanov
7857dc5ba9 KT-3812 Can't work with akka via kotlin - java.lang.AssertionError: Couldn't resolve class *$
KT-4036 Couldn't resolve inner class akka.io.Tcp.Command.class

 #KT-3812 Fixed
 #KT-4036 FIxed
2013-10-31 16:42:54 +04:00
Mikhael Bogdanov
c325dfffd9 KT-3523: VerifyError for invoke function in inner class
KT-4106: VerifyError: Can't access outer this in a lambda in inner class' constructor
KT-3152: VerifyError when accessing from a function of object to a field of outer outer class

  #KT-3523 Fixed
  #KT-4106 Fixed
  #KT-3152 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
10396b853a Code block reorganization 2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
318214b9d7 Capturing this in constructor context
KT-4086 VerifyError creating anonymous object in constructor
 #KT-4086 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
936c0a0ae9 Lazy calculation of outer expression 2013-10-31 16:42:51 +04:00
Mikhael Bogdanov
47cd9a71a2 Inline local var 2013-10-31 12:31:39 +04:00
Mikhael Bogdanov
1e5b250d01 Remove redundant parameter 2013-10-31 12:31:38 +04:00
Mikhael Bogdanov
c76c2d3dff Calculation whether class is inner via 'isInner' method 2013-10-31 12:31:38 +04:00
Mikhael Bogdanov
fb39217dc3 KT-4140 VerifyError: Property in class object
#KT-4140  Fixed
2013-10-31 12:31:22 +04:00
Nikolay Krasko
12bdf557fa More annotations for Idea 132.844
(cherry picked from commit cd01ed95de1ae36236f5ae3f4c99854e0fe9fe14)
2013-10-30 19:59:24 +04:00
Zalim Bashorov
1c1c138046 Update to IDEA 132.839 EAP 2013-10-30 19:37:14 +04:00
Zalim Bashorov
1cf8c88d28 JS backend: fixed bug when call native function with custom name using spread operator. 2013-10-29 22:44:49 +04:00
Zalim Bashorov
d6803fb5ff JS backend: fixed ability to declare custom name for native properties and function parameters.
#KT-3643 fixed
2013-10-29 22:44:49 +04:00
Pavel V. Talanov
3e205d162e Formatting: exactly one space after if keyword 2013-10-29 21:03:39 +04:00
Pavel V. Talanov
77d316902c Formatting: exactly one space after for keyword 2013-10-29 21:03:38 +04:00
Pavel V. Talanov
e19373cac7 Hack that adds more convenient defaults for J2K, minimal test for these defaults 2013-10-29 21:03:37 +04:00
Pavel V. Talanov
a649eb52cf J2K: Do not specify type of for loop parameter 2013-10-29 21:03:36 +04:00
Pavel V. Talanov
28f3d692ab Apply reformat code and optimize imports to kotlin code in j2k
Minor: remove Unit return types
2013-10-29 21:03:35 +04:00
Pavel V. Talanov
2a5657e0e6 Convert JavaToKotlinTranslator, StandaloneJavaToKotlinConverterTest, TestCaseBuilder to Kotlin 2013-10-29 21:03:34 +04:00
Pavel V. Talanov
44ffe2905d Build: compile j2k module with Kotlin 2013-10-29 21:03:34 +04:00
Pavel V. Talanov
212c4f62d3 Delete commented out code 2013-10-29 21:03:33 +04:00
Pavel V. Talanov
5e254f6edb Copyright generated for new version of Java to Kotlin converter 2013-10-29 21:03:32 +04:00
Pavel V. Talanov
789a069647 j2k module depends on descriptor.loader.java 2013-10-29 21:03:31 +04:00
Pavel V. Talanov
10b80ca2b7 Rollback facade classes to main repo version 2013-10-29 21:03:30 +04:00
Pavel V. Talanov
375951798e Prepare repository for merge into master 2013-10-29 21:03:29 +04:00
Pavel Talanov
8537254b6f Adapt changes from main repo:
converted enums contain name() method
by Andrey Ponomarev
2013-10-29 21:03:28 +04:00
Pavel Talanov
01a1c75588 Adapt changes from main repo:
Detect @NotNull fields
Detect @NotNull reference in call chains
Enum constants are non-nullable
by Andrey Ponomarev
2013-10-29 21:03:27 +04:00
Pavel Talanov
aceeebdcfd Adapt changes from main repo:
Remove @author javadoc by Evgeny Gerashchenko
2013-10-29 21:03:26 +04:00
Pavel Talanov
2c151fd7fc Adapt changes from main repo:
Remove findRT.jar by Natalia Ukhorskaya
2013-10-29 21:03:25 +04:00
Alexander Udalov
a57bb45323 Adapt to updates in Kotlin compiler API
Fix errors/warnings
2013-10-29 21:03:24 +04:00
Evgeny Gerashchenko
dfae4b606b Fixed references after renaming Name.getName()->asString() 2013-10-29 21:03:23 +04:00
Andrey Breslav
4e8d14024c Compilation fixed 2013-10-29 21:03:22 +04:00
Mikhael Bogdanov
79396b5079 FqName.isValid replaced with QualifiedNamesUtil.isValidJavaFqName 2013-10-29 21:03:22 +04:00
Hozum
f6d367b7d0 Fixed switch statement 2013-10-29 21:03:21 +04:00
Mikhael Bogdanov
7ae18fc94c Build fix: "Duplicate method name&signature in class file" 2013-10-29 21:03:20 +04:00
Hiroyuki Ikegami
a5b571f91c fix formatting 2013-10-29 21:03:19 +04:00
Hiroyuki Ikegami
8c66f744b4 fix a bug which is converting from for(;;) to while() 2013-10-29 21:03:18 +04:00
Santeri Hiltunen
55c00b08e7 Made foreach work with nullable iterables 2013-10-29 21:03:17 +04:00
Santeri Hiltunen
475d02a80f Convert Java lists to MutableLists
Java lists were given jet.List type, which is incorrect, since Java
lists are mutable and jet.List is immutable. Fixed test cases.
2013-10-29 21:03:16 +04:00
Aleksi Majander
c701da8506 Renamed myParamList to starParamList and fixed tests 2013-10-29 21:03:15 +04:00
Aleksi Majander
f68fe0bc38 Fixed an issue with Any? type declarations 2013-10-29 21:03:15 +04:00
hozumi
d03e1f5fcb I fixed ArrayWithoutInitializationExpression class for object array and multi
dimension array. And I added 2 tests to check object Initialization.
2013-10-29 21:03:14 +04:00
Santeri Hiltunen
2fb770ab98 Added test case for custom Short class usage 2013-10-29 21:03:13 +04:00
Santeri Hiltunen
e1d7c9d42c Fixes to handling of boxed types
Boxed types and primitive types should cooperate properly now with
primitive types in all basic cases. Added tests that verify this.
2013-10-29 21:03:12 +04:00
Natalia.Ukhorskaya
60360cf22f Fix compilation 2013-10-29 21:03:11 +04:00
Santeri Hiltunen
b45b0e6c3a Calls to Java's primitive class methods work.
Calls to Java's primitive classes that had the same name as the
corresponding primitive in Kotlin didn't work. Now calls like
Short.valueOf() is turned to java.lang.Short.valueOf() in Kotlin.
2013-10-29 21:03:10 +04:00
Aleksi Majander
1fe978e216 Fixed issue with final variables and overloading 2013-10-29 21:03:09 +04:00
Aleksi Majander
de21670851 Fixed the main function signature 2013-10-29 21:03:08 +04:00
Santeri Hiltunen
1874714d84 NonNull annotation on fields makes type non-null 2013-10-29 21:03:08 +04:00
Santeri Hiltunen
6576eb8ce3 Fixed compiler warnings
Removed unnecessary !! operations, ?. calls and "out" declarations.
2013-10-29 21:03:07 +04:00
Santeri Hiltunen
1cab2d1245 Drop imports that have Kotlin analogs 2013-10-29 21:03:06 +04:00
Santeri Hiltunen
453bb8b4f2 Changed CRLF line-endings to LF 2013-10-29 21:03:05 +04:00
Andrey Breslav
3abeffb8b8 Migrated to directory-based project format 2013-10-29 21:03:04 +04:00
Andrey Breslav
a591f7ace7 Run configuration published 2013-10-29 21:03:03 +04:00
Andrey Breslav
81923f76d9 The rest of compilations errors fixed 2013-10-29 21:03:02 +04:00
Andrey Breslav
281143fff8 JUnit added as a dependency 2013-10-29 21:03:01 +04:00
Andrey Breslav
81b1f18863 Compilation fixed 2013-10-29 21:03:00 +04:00
Andrey Breslav
743e17f657 Downloading IDEA SDK and using openapi.jar 2013-10-29 21:02:59 +04:00
Andrey Breslav
16506d482c Using a fixed version of Kotlin compiler and runtime 2013-10-29 21:02:58 +04:00
Andrey Breslav
0d57134952 Using Kotlin compiler and runtime from a defined $KOTLINC_DIR$ path variable 2013-10-29 21:02:57 +04:00
Andrey Breslav
b828aaf733 Migrating to Kotlin M4: Most compilation errors outside AST fixed 2013-10-29 21:02:57 +04:00
Andrey Breslav
0f6533bf7b Set up external dependencies 2013-10-29 21:02:56 +04:00
Dmitry Jemerov
bbc90cf577 remove empty elements from block 2013-10-29 21:02:55 +04:00
Dmitry Jemerov
9e2e23c757 modifiers are an enum 2013-10-29 21:02:54 +04:00
Dmitry Jemerov
e33f66f4b9 statically imported members don't need to be qualified 2013-10-29 21:02:53 +04:00
Dmitry Jemerov
1bf84a8187 don't generate !! for array access in assignment lvalue 2013-10-29 21:02:52 +04:00
Dmitry Jemerov
47293918fc don't generate nullable type for val with not-null initializer 2013-10-29 21:02:51 +04:00
Dmitry Jemerov
58cf1d47be bangbang in assignment if needed 2013-10-29 21:02:50 +04:00
Dmitry Jemerov
12603cdd81 casts to a primitive types are coercion methods instead 2013-10-29 21:02:50 +04:00
Dmitry Jemerov
152d214870 we don't need no DummyMethodCallExpression 2013-10-29 21:02:49 +04:00
Dmitry Jemerov
192cdd7028 less red-code-inducing handling of nullability with array accesses 2013-10-29 21:02:48 +04:00
Dmitry Jemerov
5be56e15ba catch clause parameter is always not null 2013-10-29 21:02:47 +04:00
Dmitry Jemerov
d0b46704d3 merge some more expressions; correctly generate javaClass() call 2013-10-29 21:02:46 +04:00
Dmitry Jemerov
055cad793c ConverterUtil to namespace-level functions in Converter.kt 2013-10-29 21:02:45 +04:00
Dmitry Jemerov
a59d15c090 merged some of the expressions in a single file; correct nullability for array access expression 2013-10-29 21:02:44 +04:00
Dmitry Jemerov
7cbff97c6e filter whitespace nodes when converting list of elements 2013-10-29 21:02:43 +04:00
Dmitry Jemerov
1999c246f2 to kotlin 2013-10-29 21:02:43 +04:00
Dmitry Jemerov
2486e744d7 adapt to latest Kotlin 2013-10-29 21:02:42 +04:00
Dmitry Jemerov
c7113e143a qualify access to static members 2013-10-29 21:02:41 +04:00
Dmitry Jemerov
21b280f413 convert .length on arrays to .size 2013-10-29 21:02:40 +04:00
Dmitry Jemerov
5664283a30 comments processing finished 2013-10-29 21:02:39 +04:00
Dmitry Jemerov
4bb3731272 comments support work in progress 2013-10-29 21:02:38 +04:00
Dmitry Jemerov
512603ce0c to kotlin 2013-10-29 21:02:37 +04:00
Dmitry Jemerov
8bcc51f6c2 to kotlin 2013-10-29 21:02:36 +04:00
Dmitry Jemerov
0e2d0a4a5b back to compilable and working state 2013-10-29 21:02:36 +04:00
Dmitry Jemerov
5932eb3539 fix 2013-10-29 21:02:35 +04:00
Dmitry Jemerov
34dfcef978 version that fails with assertion at org.jetbrains.jet.lang.resolve.OverrideResolver.checkOverrideForMember(OverrideResolver.java:370) 2013-10-29 21:02:34 +04:00
Dmitry Jemerov
600629ed6e "everything's broken" state of kj2k 2013-10-29 21:02:33 +04:00
Dmitry Jemerov
ef22c61ee6 to kotlin 2013-10-29 21:02:32 +04:00
Dmitry Jemerov
197d1d7a85 get rid of AstUtil 2013-10-29 21:02:31 +04:00
Dmitry Jemerov
7064ccd320 delete unnecessary interface 2013-10-29 21:02:30 +04:00
Dmitry Jemerov
39190533b1 to compilable kotlin 2013-10-29 21:02:29 +04:00
Dmitry Jemerov
ba16ad3c57 workaround for KT-2144 2013-10-29 21:02:29 +04:00
Dmitry Jemerov
b17effd3a3 converted to kotlin; doesn't compile yet because of errors in frontend 2013-10-29 21:02:28 +04:00
Dmitry Jemerov
c9499da055 to kotlin 2013-10-29 21:02:27 +04:00
Dmitry Jemerov
b6ca2ddf75 cleanup 2013-10-29 21:02:26 +04:00
Dmitry Jemerov
c7a4236d93 more statements 2013-10-29 21:02:25 +04:00
Dmitry Jemerov
feab374ee3 merging statements into a single file, making code altogether nicer 2013-10-29 21:02:24 +04:00
Dmitry Jemerov
d66b5e32f9 extension function for converting a list of elements 2013-10-29 21:02:23 +04:00
Dmitry Jemerov
dd09affd9c some quick conversions 2013-10-29 21:02:22 +04:00
Dmitry Jemerov
3977db1472 simplify class hierarchy 2013-10-29 21:02:22 +04:00
Dmitry Jemerov
07fcfe3b42 generate !! if the postfix operator is nullable 2013-10-29 21:02:21 +04:00
Dmitry Jemerov
d4c7b7b2b7 'is' operator uses not-null type and doesn't generate parentheses 2013-10-29 21:02:20 +04:00
Dmitry Jemerov
f88f07a6f5 get rid of INode.Kind 2013-10-29 21:02:19 +04:00
Dmitry Jemerov
ae4404cdc4 convert the converter 2013-10-29 21:02:18 +04:00
Dmitry Jemerov
2cd137b0ae no more conversions anywhere 2013-10-29 21:02:17 +04:00
Dmitry Jemerov
dfaa67ab6b no more SureCallChainExpression 2013-10-29 21:02:16 +04:00
Dmitry Jemerov
6da7fc9799 no more conversions in PolyadicExpression 2013-10-29 21:02:15 +04:00
Dmitry Jemerov
1ddde183f5 no more conversions in MethodCallExpression 2013-10-29 21:02:14 +04:00
Dmitry Jemerov
d5900a58b2 wrappers instead of conversions in binary expressions 2013-10-29 21:02:14 +04:00
Dmitry Jemerov
512e12d26c conversions as wrappers; generate !! instead of sure() (for constructor calls only for now) 2013-10-29 21:02:13 +04:00
Dmitry Jemerov
37ea08c6a2 fix default value for parameter readOnly 2013-10-29 21:02:12 +04:00
Dmitry Jemerov
2a679f9968 to kotlin 2013-10-29 21:02:11 +04:00
Dmitry Jemerov
10a0f55026 better default-arg-ability 2013-10-29 21:02:10 +04:00
Dmitry Jemerov
036df18868 Member converted; modifiers is a set of non-null strings 2013-10-29 21:02:09 +04:00
Dmitry Jemerov
b3246f85a4 redundant interface deleted 2013-10-29 21:02:08 +04:00
Dmitry Jemerov
c7e448ed0f converting to kotlin 2013-10-29 21:02:07 +04:00
Dmitry Jemerov
0375f3dc0f less spam with temp files 2013-10-29 21:02:07 +04:00
Dmitry Jemerov
ee3eb05e7d couple more classes converted 2013-10-29 21:02:06 +04:00
Dmitry Jemerov
d32aa47e72 fix 2013-10-29 21:02:05 +04:00
Dmitry Jemerov
85755df615 TypeVisitor to Kotlin 2013-10-29 21:02:04 +04:00
Dmitry Jemerov
3130b750d3 Class and its subclasses converted to Kotlin 2013-10-29 21:02:03 +04:00
Dmitry Jemerov
46003dc1f6 java to kotlin action in new converter 2013-10-29 21:02:02 +04:00
Dmitry Jemerov
8f98abc8a7 cleanup 2013-10-29 21:02:01 +04:00
Dmitry Jemerov
3f04672270 cleanup 2013-10-29 21:02:00 +04:00
Dmitry Jemerov
112d64b228 types AST converted to Kotlin 2013-10-29 21:02:00 +04:00
Dmitry Jemerov
4a07263908 Function and Constructor converted; no longer emit 'open' modifier for private functions 2013-10-29 21:01:59 +04:00
Dmitry Jemerov
80e678e2ec to compileable state 2013-10-29 21:01:58 +04:00
Dmitry Jemerov
34da39c55b kj2k initial checkin 2013-10-29 21:01:57 +04:00
Pavel V. Talanov
6fbf97bbcf Remove sources of the java version of Java to Kotlin converter 2013-10-29 21:01:55 +04:00
Andrey Breslav
ffd9b80f76 JavaClassDescriptor interface extracted 2013-10-29 14:21:55 +04:00
max-kammerer
63b30138f1 Merge pull request #314 from mhshams/upstream
KT-4139 FIXED
2013-10-29 00:57:14 -07:00
Erokhin Stanislav
2c93ace78d Add externalAnnotations ant test and ant-1.8 2013-10-28 16:07:01 +04:00
Erokhin Stanislav
694eed595b Add nested tag "externalannotations" to tags "withKotlin" and "kotlinc" 2013-10-28 16:07:01 +04:00
Erokhin Stanislav
35bc3cd587 Move ant from dependencies/ant -> dependencies/ant-1.7 2013-10-28 16:07:01 +04:00
Mikhael Bogdanov
3ee918b084 KT-4138: java.lang.VerifyError: (class: kotlin/sql/tests/h2/Foo, method: getA$b$0 signature: ()Lkotlin/sql/tests/h2/Foo;) Wrong return type in function
#KT-4138 Fixed
2013-10-28 15:18:51 +04:00
Andrey Breslav
12d0da8146 Use a charset-aware method 2013-10-28 12:23:21 +04:00
Andrey Breslav
6e76e57b4c Trim strings before comparison 2013-10-28 12:04:08 +04:00
Mohammad Shamsi
d3eb23f233 KT-4139 FIXED
KT-4139 add "map" and "mapTo" methods in to "String" class.
2013-10-27 23:35:09 +08:00
Nikolay Krasko
ec42bfd1b2 Don't ask for modules in disposed project 2013-10-25 21:01:35 +04:00
Nikolay Krasko
2b3a6b5f57 Prevent multiple declarations of update check when many files have changed 2013-10-25 21:01:02 +04:00
Andrey Breslav
5d74068bbc Do not check isError() when making type nullable/not-null 2013-10-25 19:58:55 +04:00
Andrey Breslav
347bbfab3a Unused parameter removed 2013-10-25 19:55:43 +04:00
Andrey Breslav
3bb14c2d4e Throwing FileComparisonFailure enables opening test data file in diff dialog right from the test console 2013-10-25 19:55:42 +04:00
Andrey Breslav
de64768b5c Useless code removed 2013-10-25 19:55:42 +04:00
Andrey Breslav
720dcbbd0d Useless code removed 2013-10-25 19:55:42 +04:00
Andrey Breslav
eb4fdcb57a Unused method removed 2013-10-25 19:55:42 +04:00
Andrey Breslav
70acf0fdba Test for an obsolete issue
#KT-2956 Obsolete
2013-10-25 19:55:42 +04:00
Andrey Breslav
46831b8d43 Tests for issues fixed in ed95463
#KT-2831 Fixed
#KT-3286 Fixed
#KT-3863 Fixed
#KT-3976 Fixed
2013-10-25 19:55:42 +04:00
Nikolay Krasko
6df469b66f KT-4058 Don't check Java annotation in modules with no Kotlin runtime configured
#KT-4058 Fixed
2013-10-25 17:54:24 +04:00
Nikolay Krasko
04115ab8bf KT-4070 KotlinSignature icons in the gutter on a Java source blink/flash on every change of the file
#KT-4070 Fixed
2013-10-25 17:54:23 +04:00
Nikolay Krasko
da8a3c52a0 Refactoring: rename and move KotlinFrameworkDetector to ProjectStructureUtil 2013-10-25 17:54:22 +04:00
Mikhael Bogdanov
e3882e2dfb KT-4137: Verify error
#KT-4137 Fixed
2013-10-25 16:43:25 +04:00
Andrey Breslav
6074667fd4 Method map regenerated 2013-10-25 16:28:44 +04:00
Andrey Breslav
ed95463d1e Map Nothing to java.lang.Void 2013-10-25 15:39:01 +04:00
Andrey Breslav
1ff0ffbac6 Map jet.Hashable to java.lang.Object, to avoid NoClassDefFound exceptions 2013-10-25 15:39:01 +04:00
Natalia Ukhorskaya
3e43a7ea70 Fix testdata 2013-10-25 14:48:31 +04:00
Natalia Ukhorskaya
3287744415 Add common JetElement for imports: JetImportList 2013-10-25 13:55:40 +04:00
Natalia Ukhorskaya
796dad5798 Do not expand imports after optimizing 2013-10-25 11:05:02 +04:00
Natalia Ukhorskaya
8bee5628d5 Remove package prefix from imports 2013-10-25 11:05:01 +04:00
Zalim Bashorov
da718af8b7 Minor refactoring -- rename some classes and variables. 2013-10-24 19:06:07 +04:00
Zalim Bashorov
3f4cd455e2 Make private all fields in JpsKotlinCompilerSettings. 2013-10-24 19:06:07 +04:00
Zalim Bashorov
5e082368fd Added outputPrefix and outputPostfix parameters to Kotlin Compiler tab. 2013-10-24 19:06:06 +04:00
Zalim Bashorov
0d322fe8bc K2JS: add ed outputPrefix and outputPostfix compiler arguments to K2JSCompiler. 2013-10-24 19:06:06 +04:00
Zalim Bashorov
d02e53c812 JS backend: moved SourceMapBuilder interface to our sources. 2013-10-24 19:06:05 +04:00
Zalim Bashorov
492f5e9068 Splited CliTest. 2013-10-24 19:06:05 +04:00
Zalim Bashorov
e557eff14b Add to UI Designer palette some intellij.ui components. 2013-10-24 19:06:04 +04:00
Zalim Bashorov
fbc202d8b2 Switched to use Resource Bundles in Kotlin Compiler Settings Tab
Added mnemonics.
2013-10-24 19:05:56 +04:00
Zalim Bashorov
03071f77bc Added "Generate source maps" to the Kotlin Compiler Settings tab. 2013-10-24 18:37:00 +04:00
Zalim Bashorov
c9fe844f02 Added panels for JVM and JS settings to the Kotlin Compiler Settings tab. 2013-10-24 18:37:00 +04:00
Zalim Bashorov
faa82317b6 Added "Additional command line parameters" to the Kotlin Compiler Settings tab. 2013-10-24 18:37:00 +04:00
Zalim Bashorov
5a28f4e158 Added support project settings in old kotlin2js compiler and made minor refactoring. 2013-10-24 18:36:59 +04:00
Zalim Bashorov
fb8c9c2ef9 Added support project settings to old kotlin2jvm compiler. 2013-10-24 18:36:59 +04:00
Zalim Bashorov
4d68262b7f CLI & JPS: use List instead Set for libraries and decencies. 2013-10-24 18:36:59 +04:00
Zalim Bashorov
22dde719de Pass arguments to the compiler as String[] instead of Object (instanceof CommonCompilerArguments). 2013-10-24 18:36:59 +04:00
Mikhael Bogdanov
604be8e0c1 KT-4119: Back-end (JVM) Internal error on code with local extensions
#KT-4119 Fixed
2013-10-24 17:24:45 +04:00
Mikhael Bogdanov
88a43fac5f Injectors regenerated 2013-10-24 14:14:49 +04:00
Mikhael Bogdanov
4c459fe62c Added extensions for function body resolve 2013-10-24 14:14:48 +04:00
Mikhael Bogdanov
643aec6c9b Added cached calculation of extensions 2013-10-24 14:14:48 +04:00
Mikhael Bogdanov
592c26e840 New extension parameter added to resolution context 2013-10-24 14:14:48 +04:00
Alexey Sedunov
06ab7708ae Extract searchLocalFunction() method 2013-10-24 13:09:30 +04:00
Andrey Breslav
f91e6b8d38 Reorder class path to deliver cli-parser-1.1.1 instead of cli-parser-1.1 2013-10-24 11:35:23 +04:00
Alexey Sedunov
93e906ef5f Filter usages in import directives 2013-10-23 23:00:30 +04:00
Alexey Sedunov
b20a18cf38 Restrict scope of local declarations 2013-10-23 23:00:29 +04:00
Alexey Sedunov
c3c0925de1 Add support of local declarations 2013-10-23 23:00:28 +04:00
Alexey Sedunov
46b14784e1 Fixed KT-4105: Can't find usages of private function 2013-10-23 23:00:27 +04:00
Nikolay Krasko
d23ad4f262 Process each namespace only once while reporting redeclaration errors 2013-10-23 20:43:39 +04:00
Nikolay Krasko
60ef034330 Make tests reveal errors in number of diagnostics with the same type 2013-10-23 20:43:38 +04:00
Nikolay Krasko
669104538d Tests for shadowing and redeclaration 2013-10-23 20:43:38 +04:00
Nikolay Krasko
d6821ebfb6 Refactoring: Remove misleading that code processes both redeclaration and shadowing
NAME_SHADOWING is a warning so it has never been handled there
2013-10-23 20:43:37 +04:00
Nikolay Krasko
e96c76b0d8 Fix multiple registration for redeclaration errors 2013-10-23 20:43:36 +04:00
Zalim Bashorov
28c0ebe104 Fix TopLevelMembersInvocationTestGenerated.testTwoModules test. 2013-10-23 19:35:42 +04:00
Alexey Sedunov
d9f3858186 Translate JetElementDescriptorProvider to Kotlin 2013-10-23 14:20:13 +04:00
Alexey Sedunov
cf8555349e Fix detection of constructor calls and delegates in supertype specifiers 2013-10-23 14:19:47 +04:00
Alexey Sedunov
38660dd9a8 Translate JetUsageTypeProvider to Kotlin 2013-10-23 14:15:15 +04:00
Alexey Sedunov
2add0b0810 Translate utility method getParentByTypeAndPredicate() to Kotlin 2013-10-23 13:17:12 +04:00
Alexander Udalov
dd50438c78 Deserialize annotations on property setter parameters 2013-10-22 23:08:34 +04:00
Alexander Udalov
464b0dea4b Don't reuse other descriptor's value parameters
This resulted in a rewrite at INDEX_FOR_VALUE_PARAMETER slice, since some value
parameters were found twice in different function descriptors
2013-10-22 23:08:34 +04:00
Alexander Udalov
41e2300473 Rename MemberMap and implement it via SlicedMap 2013-10-22 23:08:34 +04:00
Alexander Udalov
73b768a72c Minor, extract Slices.createCollectiveSlice() 2013-10-22 23:08:34 +04:00
Alexander Udalov
938a906bcd Deserialize annotations on value parameters of functions 2013-10-22 23:08:33 +04:00
Alexander Udalov
4105455179 Serialize value parameter indices on JVM
This will help to load annotations on value parameters
2013-10-22 23:08:33 +04:00
Nikolay Krasko
011e2675ab Refactoring: store information about registered redeclaration errors for element 2013-10-22 22:45:29 +04:00
Nikolay Krasko
75b4a0b1d3 Refactoring: extract method 2013-10-22 22:45:28 +04:00
Nikolay Krasko
ced0a90573 Fix memory leak by removing storing analyze result from annotators 2013-10-22 22:45:27 +04:00
Nikolay Krasko
23015b5f64 Get diagnostics for particular element 2013-10-22 22:45:27 +04:00
Pavel V. Talanov
7891eeed23 Update to IDEA 132.719 EAP 2013-10-22 20:07:17 +04:00
svtk
0cbbe3e5ea comment added 2013-10-22 19:01:52 +04:00
Zalim Bashorov
338f3614f0 Check archive name instead of os family when extracting it. 2013-10-21 21:12:21 +04:00
Zalim Bashorov
14ca06c6c2 Fixed JetJavaLibCompletionTest on non-windows machines. 2013-10-21 20:45:00 +04:00
Andrey Breslav
ea2b6e4546 Do not throw an exception when a when-statement with no else makes no match 2013-10-21 19:29:01 +04:00
Andrey Breslav
aacf133ef6 Ignore all output directories in a chunk
Otherwise the class files generated by previous builds for one of the targets in the chunk would interfere with source definitions, and we get overload resolution ambiguities and such
2013-10-21 19:21:23 +04:00
Andrey Breslav
2a43d2adee Report correct build targets for outputs + tests on output removal 2013-10-21 19:21:23 +04:00
Andrey Breslav
c84e582397 Correctly report locations of output files 2013-10-21 19:21:23 +04:00
Andrey Breslav
251c659e91 Check removed files as well as dirty ones 2013-10-21 19:21:22 +04:00
Alexey Sedunov
12a460a145 KT-4043 "Find usages ignores class names usages as class objects" 2013-10-21 17:18:46 +04:00
Alexey Sedunov
45b07c0e18 Rename getMyType() method 2013-10-21 17:18:09 +04:00
Alexey Sedunov
1cb551385a Do not generate nullable types when converting "instanceof" to "is" 2013-10-21 17:09:19 +04:00
Alexey Sedunov
054588bd3b Fix conversion of Java class literals 2013-10-21 17:09:18 +04:00
Zalim Bashorov
d71302ec61 Added idea.build.number to update_dependencies.
Fixed build for non windows agents on internal buildserver.
2013-10-21 14:41:30 +04:00
Andrey Breslav
61270e8ee5 Do not fail on bad Kotlin configuration if there are no Kotlin files 2013-10-18 12:23:07 +04:00
Natalia Ukhorskaya
97b35ed8ea Remove duplicated Delegated properties classes from stdlib 2013-10-18 11:52:08 +04:00
Alexander Udalov
b8db438db1 Refactor codegen of property backing fields, TImpl, etc.
- remove synthetic method code generation from TraitImplBodyCodegen, use
  PropertyCodegen for that
- don't try to generate synthetic methods for constructor properties
- inline methods, NotNull, renames, etc.
2013-10-17 19:01:45 +04:00
Alexander Udalov
b7789da3b9 Load annotations on properties declared in traits 2013-10-17 19:01:45 +04:00
Alexander Udalov
5a1daaa4b6 Generate values()/valueOf() even for empty enums 2013-10-17 19:01:45 +04:00
Alexander Udalov
b4ecb36445 Move JetTypeMapperMode to JetTypeMapper class 2013-10-17 19:01:44 +04:00
Alexander Udalov
af2a52bd4e Add JetTypeMapper.mapClass
Should be used instead of "mapType(*.getDefaultType(), IMPL)" pattern
2013-10-17 19:01:44 +04:00
Alexander Udalov
d22edcdbb3 Delete JetTypeMapperMode.TRAIT_IMPL
The code is much easier with a simple method mapTraitImpl
2013-10-17 19:01:44 +04:00
Andrey Breslav
4f7e958a0b Profiler uses loggers
This allows us to leave profiler calls in production code
2013-10-17 18:15:52 +04:00
Andrey Breslav
51d54661a1 Common logic extracted from lazy type implementations 2013-10-17 18:15:52 +04:00
Andrey Breslav
8bfa6f3aeb Use wrapping instead of copying when creating nullable/non-null types
Why wrapping is better:
1. It's requires less memory: a copy has many fields, while a wrapper has only one
2. It preserves laziness of types
2013-10-17 18:15:52 +04:00
Andrey Breslav
6dd813aeef Field made final 2013-10-17 18:15:52 +04:00
Andrey Breslav
18a608b1f8 Suppress warnings when compiling runtime for tests 2013-10-17 18:15:51 +04:00
Andrey Breslav
3960426698 TypeProjection interface extracted 2013-10-17 18:15:51 +04:00
Natalia Ukhorskaya
b98ec9f56b Rename class 2013-10-17 13:03:02 +04:00
Natalia Ukhorskaya
fc2636572d Do not hide kotlin configuration notifications 2013-10-17 13:03:01 +04:00
Natalia Ukhorskaya
895fed6b97 Rename file 2013-10-17 13:03:00 +04:00
Natalia Ukhorskaya
6c503e5778 Rewrite Absent Jdk Annotations stripe to balloon 2013-10-17 13:02:59 +04:00
Natalia Ukhorskaya
d8736e9442 Extract single notification manager 2013-10-17 13:02:58 +04:00
Natalia Ukhorskaya
843e5243b7 Move file 2013-10-17 13:02:57 +04:00
Nikolay Krasko
cd63a6f871 Update to IDEA 132.637 EAP 2013-10-16 22:18:54 +04:00
Svetlana Isakova
31e9eb497f rename SKIP_FUNCTION_ARGUMENTS -> SHAPE_FUNCTION_ARGUMENTS 2013-10-16 20:41:25 +04:00
Svetlana Isakova
14cff91fed improved diagnostic message test
added ability to denote required message type (text or html)
2013-10-16 20:41:25 +04:00
Svetlana Isakova
66678cdda9 refactoring: inlined static factory methods 2013-10-16 20:41:24 +04:00
Svetlana Isakova
acf987ae5b added 'toString' "IntegerValueType(1)" to number value types
for debug and erroneously appeared in the places where it can be seen by user
2013-10-16 20:41:24 +04:00
Svetlana Isakova
95c5e7ee23 rename: isSealed -> isFinal 2013-10-16 20:41:24 +04:00
Svetlana Isakova
bb522e88cf comment added 2013-10-16 20:41:23 +04:00
Svetlana Isakova
4af0e1a4fc added DiagnosticMessageTest to generator 2013-10-16 20:41:23 +04:00
Svetlana Isakova
2f02427c57 changed DiagnosticMessageTest
added test arguments to test data
2013-10-16 20:41:23 +04:00
Svetlana Isakova
3663757073 injectors regenerated
BodyResolver doesn't need DescriptorResolver any more
2013-10-16 20:41:22 +04:00
Svetlana Isakova
af2efc991d moved methods
getPropertyDeclarationInnerScope to JetScopeUtils
2013-10-16 20:41:22 +04:00
Svetlana Isakova
0cee8cac15 moved class (DelegatedPropertyResolver) 2013-10-16 20:41:22 +04:00
Svetlana Isakova
ab7133a1a6 improved error message
added debug info about constraint system status
2013-10-16 20:41:21 +04:00
Svetlana Isakova
9fc66d686e treat function literals without value argument list
as without arguments by default
2013-10-16 20:41:21 +04:00
Svetlana Isakova
ab7e3ce78c interpret block with function literal as function literal
(temporary)
2013-10-16 20:41:21 +04:00
Svetlana Isakova
73c5cb07d8 get rid of 'unwrapFromBlock'
do the logic in 'deparenthesize' method
2013-10-16 20:41:20 +04:00
Svetlana Isakova
4bf5bb18e9 rename replaceTypeVariables -> createNewConstraintSystemFromThis 2013-10-16 20:41:20 +04:00
Svetlana Isakova
4ab3d50e4d rename: suggestion -> possibleAnswer 2013-10-16 20:41:19 +04:00
Svetlana Isakova
0f444903f6 refactoring: added hasOnlyErrorsFromPosition(ConstraintPosition)
to use it for errors from completer as well
2013-10-16 20:41:19 +04:00
Svetlana Isakova
6c584fd252 do not add NO_EXPECTED_TYPE as a subtype constraint to constraint system
fixed exception from EA
2013-10-16 20:41:19 +04:00
Svetlana Isakova
0a0f76239f resolve delegated expression always using completer 2013-10-16 19:51:54 +04:00
Svetlana Isakova
249dc4b1ba moved method 2013-10-16 19:51:54 +04:00
Svetlana Isakova
a455467f9e made delegated property resolver a component
from DelegatedPropertyUtils
2013-10-16 19:51:54 +04:00
Svetlana Isakova
0cd131fcfe refactoring
use method instead of its realisation, inline method
2013-10-16 19:51:54 +04:00
Svetlana Isakova
b32bb2302d todo comment added 2013-10-16 19:51:54 +04:00
Svetlana Isakova
4666b0f50c refactoring: removed logic of rendering 'expected type mismatch' error from constraint system 2013-10-16 19:51:53 +04:00
Svetlana Isakova
af930012d5 removed stored systemWithoutExpectedTypeConstraint
now we can filter out constraints of special type if necessary
2013-10-16 19:51:53 +04:00
Svetlana Isakova
a19acc43e0 removed ExtendedInferenceErrorData
after 'type bound violated' error had gone to constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova
0e507e6b40 rename
TypeConstraints -> TypeBounds
2013-10-16 19:51:53 +04:00
Svetlana Isakova
65e2f47bc3 try intersection of upper bounds as a suggestion
not each bound itself
while resolving constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova
8a4afb9330 support one more special case of propagating bound constraints
(temporary while there is no common constraint system and its resolution)
2013-10-16 19:51:53 +04:00
Svetlana Isakova
cb25e1d55a if some type parameter has only weak constraints (from bounds), then we consider it as unknown 2013-10-16 19:51:53 +04:00
Svetlana Isakova
731efd0781 added declared bound constraints directly to constraint system
added status 'hasViolatedUpperBound'
class TypeConstraintsImpl now stores constraint position for each constraint,
so we can filter out bound constraints and find out if the system is successful without them
2013-10-16 19:51:53 +04:00
Svetlana Isakova
ac33ccc0fe refactoring: moved method 2013-10-16 19:51:52 +04:00
Svetlana Isakova
c150c22473 refactoring: register type variable together
not one by one
2013-10-16 19:51:52 +04:00
Svetlana Isakova
de85d3df72 KT-4009 Unnecessary attempt to do a smart cast causes an error
#KT-4009 Fixed
  do not add smart casted types for vars to constraint system
2013-10-16 19:51:52 +04:00
Svetlana Isakova
9a0ec7949e fixed bug in constraint system
For parameter type T constraint T? <: Int? should NOT transform to T <: Int, it should be T <: Int?
equality constraint T? = Int? should transform to T <: Int? && T >: Int
2013-10-16 19:51:52 +04:00
Alexander Udalov
d4aaed2787 Don't add kotlin-runtime to classpath in CliTest
Also remove testing code from KotlinToJVMBytecodeCompiler, delete code
duplication, etc.
2013-10-16 19:02:46 +04:00
Nikolay Krasko
b59f797122 Fix invoke later for disposed project
EA-44383 - assert: ComponentManagerImpl.getComponent
2013-10-16 18:56:52 +04:00
Nikolay Krasko
0c49b91098 Complete functions with single parameter on typing '{'
For KT-4049 When completing a function that takes a lambda and immediately typing '{', swallow the '{'
 #KT-4049 Fixed
2013-10-16 18:56:51 +04:00
Zalim Bashorov
31a4d91122 CLI: drop CompilerArguments and unnecessary methods from *CompilerArguments classes 2013-10-16 17:39:49 +04:00
Zalim Bashorov
5e0ef68d64 JPS: switch to using *CompilerArgument classes(from IDEA Project Settings) in build. 2013-10-16 17:39:49 +04:00
Zalim Bashorov
0877dfc1bd CLI: added "-printArgs" arguments to commandline compiler. 2013-10-16 17:39:49 +04:00
Zalim Bashorov
41d0a8be24 JPS: removed unnecessary code for running compiler out of process. 2013-10-16 17:39:48 +04:00
Zalim Bashorov
1176d58f40 JPS: transferring compiler settings to the JPS 2013-10-16 17:39:48 +04:00
Zalim Bashorov
809e25f48a IDEA: created a infrastructure for saving any compiler settings.
Added "generate no warnings" to Settings.
2013-10-16 17:39:48 +04:00
Zalim Bashorov
0901c98ff8 CLI: move *CompilerArguments classes to cli-common module. 2013-10-16 17:39:48 +04:00
Zalim Bashorov
db5faf8300 CLI: removed unnecessary code that depended on KT-1863 and KT-2498. 2013-10-16 17:39:48 +04:00
Zalim Bashorov
5d84abb34c CLI: move the compilerPlugins property from CompilerArguments to CLICompiler. 2013-10-16 17:39:47 +04:00
Zalim Bashorov
8cea226a87 CLI: move K2JSCompilerArguments#createMainCallParameters to K2JSCompiler. 2013-10-16 17:39:47 +04:00
Zalim Bashorov
fa25489a5b IDEA plugin: dropped the unused setting "JavaScript target version" 2013-10-16 17:39:47 +04:00
Alexander Udalov
4ddd2e6a0b Add jet.KotlinTraitImpl annotation
Similarly to jet.KotlinPackageFragment, will be used to mark "$$TImpl" classes
generated for implementations of trait's methods and annotations of trait's
properties
2013-10-16 15:04:11 +04:00
Alexander Udalov
cf1a70a28e Minor, group tests related to synthetic methods for properties 2013-10-16 15:04:11 +04:00
Alexander Udalov
08bc67b925 Generate synthetic methods for annotated properties in TImpl classes
Traits themselves can't have these methods, since it'd be a weird public method
in an interface

 #KT-4072 Fixed
2013-10-16 15:02:37 +04:00
Alexander Udalov
5539a29439 Minor, extract method in CodegenTestCase 2013-10-16 14:59:37 +04:00
Alexander Udalov
6269cb807b Minor, extract test for synthetic methods for properties 2013-10-16 14:59:37 +04:00
Alexander Udalov
2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Alexander Udalov
806d264771 Write full synthetic method signature for annotated property
This will be needed to support annotated extension properties, since they have
the same name but different signatures
2013-10-16 14:59:36 +04:00
Alexander Udalov
6e45533065 Deserialize constructors of static nested classes correctly
Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Alexander Udalov
d5bd8eebff Add kotlin-runtime.jar to the class loader when invoking compiler
TopLevelMembersInvocationTestGenerated failed locally because the compiler
couldn't find runtime classes
2013-10-15 21:03:52 +04:00
Alexander Udalov
65b098b327 Minor, remove unchecked casts from JavaElement collection util 2013-10-15 20:34:45 +04:00
Alexander Udalov
1fdb86f733 JavaArrayAnnotationArgument.getElements() returns List 2013-10-15 20:34:44 +04:00
Alexander Udalov
5b916ea108 Type parameters/arguments constitute lists, not collections 2013-10-15 20:34:44 +04:00
Alexander Udalov
0958e63be2 JavaMethod.getValueParameters() returns List 2013-10-15 20:22:59 +04:00
Andrey Breslav
d52f2e25b0 AnnotationDescriptor interface extracted 2013-10-15 19:54:39 +04:00
Alexey Sedunov
71a0d4cc45 KT-4018 When moving members move comments too 2013-10-15 18:44:00 +04:00
Alexey Sedunov
28b3db53fe Fix irregular PSI structure for classes without body 2013-10-15 18:43:59 +04:00
Alexey Sedunov
bdc908d45f Fix search of package-level function/property usages in Java code 2013-10-15 18:43:57 +04:00
Andrey Breslav
60c9aa559b Fix compilation in KDoc tests 2013-10-15 17:37:53 +04:00
Andrey Breslav
5b04783ee2 Using Disposer.newDisposable() instead of an anonymous class 2013-10-15 15:28:29 +04:00
Andrey Breslav
6384090034 Use reference counting to dispose the application when needed 2013-10-15 15:28:29 +04:00
Andrey Breslav
1d540181b0 Produciton code uses a shared application between many projects.
Tests always dispose the application together with JetCoreEnvironment
2013-10-15 15:28:28 +04:00
Andrey Breslav
e8142d6464 Extract method: initApplication 2013-10-15 15:01:35 +04:00
Andrey Breslav
f05f3f5686 Let the user know that class object bounds are not supported
KT-4080 Code analisys show all good, but got compile error

#KT-4080 Fixed
2013-10-15 14:45:22 +04:00
Mikhael Bogdanov
6154464050 Test framework fix: Load kotlin test classes in separate class loader 2013-10-14 17:30:27 +04:00
Nikolay Krasko
7d7352954e Fix absence of highlighting for 'as', 'in', 'is' keywords 2013-10-14 16:15:31 +04:00
Andrey Breslav
5175b8444f Build a special compiler jar for maven that contains the runtime as well 2013-10-14 14:42:26 +04:00
Andrey Breslav
765cab2283 Downloading OS-specific build of IDEA and set +x permissions 2013-10-14 14:42:25 +04:00
Andrey Breslav
6d840d4b48 Rename 2013-10-14 14:42:25 +04:00
Andrey Breslav
48052e99ae Bootstrap runtime used as an external dependency to the compiler 2013-10-14 14:42:25 +04:00
Andrey Breslav
692bdb2999 'runtime' module removed from the artifact 2013-10-14 14:42:25 +04:00
Andrey Breslav
cd275fd814 'runtime' module replaced by 'kotlin-runtime' library 2013-10-14 14:42:25 +04:00
Andrey Breslav
00c375b290 Add missing annotation classes 2013-10-14 14:42:25 +04:00
Andrey Breslav
d47109b928 Do not write 'jet.volatile' annotation to class files
ProGuard fails when it sees a class named 'volatile'
2013-10-14 14:42:25 +04:00
Andrey Breslav
41180d78e2 Do not fail with NPE if a class is not found in preloader 2013-10-14 14:42:25 +04:00
Andrey Breslav
a6b89b8874 Add kotlin-runtime to compiler classpath 2013-10-14 14:42:25 +04:00
Andrey Breslav
60425b15e6 Support circular dependencies
We generate a module script with information on all modules in the chunk, then build the whole chunk as "one big module"
2013-10-14 14:42:24 +04:00
Andrey Breslav
d5b08d4f1c Support building many modules "as one": merging all the paths etc
This is for a workaround implementation of support for mutually dependent modules
2013-10-14 14:42:24 +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
Alexey Sedunov
eff62bfd83 KT-4008 'Replace if with when' is available but does not work 2013-10-11 17:24:07 +04:00
Erokhin Stanislav
e05e616158 JS backend: fix StringBuilder append #KT-4064 Fixed 2013-10-11 15:47:43 +04:00
Erokhin Stanislav
768289b913 JS backend: fix class object in trait #KT-4062 Fixed 2013-10-11 14:44:56 +04:00
Alexander Udalov
e6259deb8c Minor, use List<File> directly instead of Function0 2013-10-10 20:28:22 +04:00
Alexander Udalov
102ced153c Remove binary test data from completion tests
Delete CompileBinaryTestData script, since there are no tests with binary test
data left in the repository
2013-10-10 20:28:22 +04:00
Alexander Udalov
47ce2f7fe8 Remove binary test data for tests with broken jars 2013-10-10 20:28:22 +04:00
Alexander Udalov
475551f54a Remove binary test data for some tests
Launch CLICompiler instead to compile it
2013-10-10 20:28:22 +04:00
Alexander Udalov
c936136341 Refactor CompileKotlinAgainstCustomBinariesTest
Each test now supplies its own classpath producer, which for now finds all jars
in the test data directory, but later will compile them using CLICompiler
2013-10-10 20:28:22 +04:00
Alexander Udalov
1d93ab41d2 Merge two tests with almost the same logic 2013-10-10 20:28:22 +04:00
Alexander Udalov
9e8a8e852c Refactor CompileKotlinAgainstBinariesCustomTest
Extract common logic, add NotNull annotations
2013-10-10 20:28:21 +04:00
Alexander Udalov
f8201c6aa9 Refactor TopLevelMembersInvocationTest
Compile library dependencies in the test instead of storing them as jars in the
repository. Reuse MockLibraryUtil, move it from idea tests to compiler-tests
2013-10-10 20:28:21 +04:00
Alexander Udalov
a2c74d4324 Refactor OverrideImplementWithLibTest
Use JdkAndMockLibraryProjectDescriptor instead of a jar file, which needs to be
regenerated every time binary format changes
2013-10-10 20:28:21 +04:00
Andrey Breslav
8424e7f5c7 Fix smoke test 2013-10-10 18:59:37 +04:00
Andrey Breslav
4bc0f8280f Rename variable 2013-10-10 17:49:17 +04:00
Andrey Breslav
68e2e9b4fc Ability to direct output of different modules to different directories 2013-10-10 17:49:17 +04:00
Andrey Breslav
2a8ebc7dbe Do not report the output twice 2013-10-10 17:49:17 +04:00
Andrey Breslav
9e0e67d19d Refactoring: common logic extracted and moved to a util class 2013-10-10 17:49:17 +04:00
Andrey Breslav
d4a89d04d7 Each module carries its output directory 2013-10-10 17:49:17 +04:00
Andrey Breslav
4d482f2f14 Class file factory remembers sources for each class 2013-10-10 17:49:16 +04:00
Andrey Breslav
f529e5d2aa ModuleChunks introduced 2013-10-10 17:49:16 +04:00
Mikhael Bogdanov
468e5f8945 Properly name packageFragments and packageFacade 2013-10-10 16:36:54 +04:00
Mikhael Bogdanov
8f8017981b StaticDelegationKind removed 2013-10-10 16:36:37 +04:00
Mikhael Bogdanov
89d99c6fc7 Do done on classBuilder 2013-10-10 16:35:10 +04:00
Mikhael Bogdanov
bcc14effb5 NamespaceCodegen refactoring 2013-10-10 16:35:07 +04:00
Mikhael Bogdanov
d4b84a8809 ScriptCodegen refactoring: unsingleton 2013-10-10 16:17:10 +04:00
Andrey Breslav
08a90ba7d4 Fixing EA-50643 - NPE: PropertyCodegen.generateBackingField
Do not return null as a method/field visitor
2013-10-10 14:06:20 +04:00
Natalia Ukhorskaya
31fa1383ba Check if gradle module has kotlin runtime classes in module classpath 2013-10-10 13:55:34 +04:00
Andrey Breslav
a47d187c7a Useless method and parameter removed 2013-10-09 19:16:43 +04:00
Andrey Breslav
94ef5cb19b Rename: SIGNATURES -> LIGHT_CLASSES 2013-10-09 19:16:43 +04:00
Andrey Breslav
1819825e54 "builtins/stubs" mode removed from backend 2013-10-09 19:16:43 +04:00
Andrey Breslav
7123905e96 Support for "builtins/stubs" mode removed from cli 2013-10-09 19:16:43 +04:00
Natalia Ukhorskaya
04a5e905df Load Maven version from search.maven.org 2013-10-09 13:03:13 +04:00
Andrey Breslav
3071b58219 Use a built-in class to mitigate a naming problem in Android tests 2013-10-09 11:47:58 +04:00
Andrey Breslav
135034ea86 Use <withKotlin/> instead of a separate task 2013-10-08 21:52:09 +04:00
Andrey Breslav
cfc07c300f Build Kotlin sources with the bootstrap compiler 2013-10-08 21:52:09 +04:00
Andrey Breslav
11ea5fe175 Download bootstrap compiler 2013-10-08 21:52:09 +04:00
Andrey Breslav
9391fa79c3 CLI help text changed 2013-10-08 21:52:08 +04:00
Andrey Breslav
36435188b9 Download sources for Ant 1.7 2013-10-08 21:52:08 +04:00
Andrey Breslav
7f46d7555e Do not write "? extends" and "? super" in immediate arguments of supertypes in Java generic signatures 2013-10-08 21:13:30 +04:00
Andrey Breslav
31c14c33e0 WriteSignatureTest is now generated 2013-10-08 21:13:29 +04:00
Andrey Breslav
aaac4419d5 Support testing class signatures 2013-10-08 21:13:29 +04:00
Pavel V. Talanov
385870eeb8 Update to IDEA 132.556 EAP 2013-10-08 20:52:25 +04:00
Alexey Sedunov
8d1bddcdfb Remove annotations shared between JDK and Android SDK 2013-10-08 19:46:32 +04:00
Andrey Breslav
5aa8aa4550 Package names unified in test data 2013-10-08 19:21:02 +04:00
Andrey Breslav
a985882baf CompilerAdapter for <javac> task + test for compiler attribute
No test for the typedef <withKotlin/> because Ant 1.7 doesn't seem to support typedef inside <javac>
2013-10-08 19:21:02 +04:00
Andrey Breslav
bf49bc0220 <kotlinc> ant task now supports <src> element and multiple source directories 2013-10-08 19:21:02 +04:00
Alexey Sedunov
ed006a66c5 Fix inconsistencies in Android annotations 2013-10-08 18:15:21 +04:00
Evgeny Gerashchenko
9c38716829 Generating annotations in correct order for methods with synthetic parameters.
#KT-4050 fixed
2013-10-08 16:44:16 +04:00
Evgeny Gerashchenko
e401be7ee6 Minor. Clarified terms. 2013-10-08 16:44:16 +04:00
Evgeny Gerashchenko
8e39499a9f Green code. 2013-10-08 16:44:16 +04:00
Erokhin Stanislav
d6a2c6d95a JS backend: fix init val in constructor 2013-10-08 14:37:25 +04:00
Erokhin Stanislav
94c93ef31b JS backend: fix override property 2013-10-08 14:37:24 +04:00
Erokhin Stanislav
53abc956cc JS backend: add simple test connected with frontend bug 'isStatement' for function body == 'hasBlockBody' 2013-10-08 14:37:24 +04:00
Erokhin Stanislav
a70782aaf7 JS backend: add super call support 2013-10-08 14:37:24 +04:00
Erokhin Stanislav
8e940244af JS backend: remove wrong usages program().getStringLiteral(). Use context().getNameForDescriptor() 2013-10-08 14:37:24 +04:00
Erokhin Stanislav
71cfa86f19 JS backend: fix order call super constructor 2013-10-08 14:37:24 +04:00
Erokhin Stanislav
8103626121 JS backend: fix default arguments
generate special statements, like this:
 if (arg1 === void(0))
    arg1 = value1
2013-10-08 14:37:23 +04:00
Alexey Sedunov
b2788cad97 Recover user-specified annotations for Android SDK 2013-10-08 13:03:20 +04:00
Pavel V. Talanov
91336a888c Fix invalid usage of getOverriddenDescriptors in JetLineMarkerProvider 2013-10-07 20:50:37 +04:00
Pavel V. Talanov
4a217d8cde Fix invalid usage of descriptorToDeclaration in GotoSuperActionHandler 2013-10-07 20:50:36 +04:00
Zalim Bashorov
3aeb565a60 JS backend: added support for constant expressions in the sourcemap. 2013-10-07 20:32:05 +04:00
Zalim Bashorov
0aa1d0265b JS backend: fixed bug with the sourcemap generation when binary operation used as statement. 2013-10-07 20:32:04 +04:00
Zalim Bashorov
d3b4e4eb1f JS backend: ignore reference to this when generate sourcemap 2013-10-07 20:32:03 +04:00
Zalim Bashorov
5966255d4b JS backend: added smoke test for sourcemap -- just checks that it is compiled
#KT-4054 in progress
2013-10-07 20:32:03 +04:00
Sergey Mashkov
391c892a21 String.replaceAll variant that handles each match using closure 2013-10-07 19:52:13 +04:00
Alexey Sedunov
c943b4e9d5 Add proper annotations for Android SDK 2013-10-07 17:45:02 +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
d7936b7ea4 Do not fail when a class is not found 2013-10-06 17:01:40 +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
Andrey Breslav
00c3156b59 Use Unit instead of Void 2013-10-05 16:59:57 +04:00
Andrey Breslav
2e585f88a3 ReenteringLazyValueComputationException & co moved to frontend 2013-10-05 16:59:57 +04:00
Andrey Breslav
0765e89b19 Weakly retained memoized functions moved out of util.runtime 2013-10-05 16:59:57 +04:00
Andrey Breslav
5ebbe0d772 Get rid of dependency on guava in DFS 2013-10-05 16:59:57 +04:00
Andrey Breslav
239ca9728d StorageManager API does not use Computable and Function and more 2013-10-05 16:59:57 +04:00
Andrey Breslav
7d1c46ed2c Getting rid of Computable and Function in lazy values and memoized functions 2013-10-05 16:59:56 +04:00
Andrey Breslav
4d28dfada6 Lazy values and memoized functions conform to Kotlin's function interfaces 2013-10-05 16:59:56 +04:00
Evgeny Gerashchenko
a1e4ca2871 Not building light class for local class (to fix exception in tests). 2013-10-04 20:40:55 +04:00
Evgeny Gerashchenko
8070f62764 Implemented abstract methods introduced in newer IDEA. 2013-10-04 20:38:02 +04:00
Zalim Bashorov
4f957eaf69 Extracted manifest values to manifest.properties file. 2013-10-04 19:21:25 +04:00
Zalim Bashorov
dd553ef671 JPS plugin: refactoring:
- extract utility methods from KotlinBuilder;
- use StringUtil#join instead for iteration;
- add private constructor to LibraryUtils.
2013-10-04 19:18:19 +04:00
Alexander Udalov
9d7968457f JDR doesn't depend on intellij-core 2013-10-04 18:32:42 +04:00
Alexander Udalov
89dbafb6be Rename KotlinClassFileHeader and related classes 2013-10-04 18:32:42 +04:00
Alexander Udalov
c3abd1c26f Delete LOG.error from ReadDataFromAnnotationVisitor
These conditions can happen on a broken binary data, no need to report an error
about it
2013-10-04 18:32:42 +04:00
Alexander Udalov
098d183a72 Remove Logger from AnnotationDescriptorDeserializer
Use abstract ErrorReporter instead
2013-10-04 18:32:42 +04:00
Alexander Udalov
ef7bb0cdf4 Delete LOG.warn about number of type arguments from JDR
This can happen when loading symbols from incorrect Java sources, which is OK
2013-10-04 18:32:41 +04:00
Alexander Udalov
f218877cf2 Get rid of dependency of PackageClassUtils on StringUtil 2013-10-04 18:32:41 +04:00
Alexander Udalov
5f0c593bb8 Minor, inline methods, use String instead of StringUtil 2013-10-04 18:32:41 +04:00
Alexander Udalov
edda5d8801 Move AssertInvisibleInResolver check to frontend.java
This is a dirty hack, taking advantage of the fact that
JavaResolverCache.getClass() is called exactly once and right after this check
2013-10-04 18:32:41 +04:00
Alexander Udalov
dbba6c614b Rename JvmClassName.getFqName() and add a warning
All usages of this method as of right now seem wrong, as they don't work in the
case of classes which contain dollars in their names -- dollars get replaced to
dots
2013-10-04 18:32:41 +04:00
Alexander Udalov
e8d4aae48b Minimize usages of JvmClassName.getFqName() 2013-10-04 18:32:41 +04:00
Alexander Udalov
fa4f568437 Delete AsmUtil.fqNameByAsmTypeUnsafe, refactor KotlinToJavaTypesMap 2013-10-04 18:32:41 +04:00
Alexander Udalov
044a47905e Get rid of dependency on Guava's Multimap
Replace with a hand-written multi-map
2013-10-04 18:32:41 +04:00
Alexander Udalov
3d5e128267 Remove trivial dependencies of JDR on Guava 2013-10-04 18:32:41 +04:00
Alexander Udalov
fc78971aea Delete JvmClassName.getAsmType() 2013-10-04 18:32:40 +04:00
Alexander Udalov
521496b188 Delete JvmPrimitiveType.getAsmType()
Create PrimitiveTypesUtil in frontend.java for this and other utilities
2013-10-04 18:32:40 +04:00
Alexander Udalov
18df0de2d5 Extract JvmClassName.byFqName().getAsmType() logic 2013-10-04 18:32:40 +04:00
Alexander Udalov
bee32b8138 Delete useless method from NamespaceCodegen
It was already present in PackageClassUtils
2013-10-04 18:32:40 +04:00
Alexander Udalov
8729c88aa2 Refactor CodegenBinding & PsiCodegenPredictor
Use ASM Type to store names of classes, use strings in PsiCodegenPredictor.
Inline some methods, move closer to their usages
2013-10-04 18:32:40 +04:00
Alexander Udalov
035a7cccda Delete unused slice in CodegenBinding 2013-10-04 18:32:40 +04:00
Alexander Udalov
6015db3487 Delete unneeded method from PsiCodegenPredictor 2013-10-04 18:32:40 +04:00
Alexander Udalov
6edee687a2 Refactor CodegenBinding.getJvmInternalFQNameImpl
Simplify code, make sure empty string is never returned
2013-10-04 18:32:40 +04:00
Alexander Udalov
f4abaaee10 Delete JvmClassName.byType
Replace JvmClassName by ASM Type in many places of JVM codegen: it wasn't used
to abstract anything, but there was a lot of useless conversions between the
two
2013-10-04 18:32:39 +04:00
Alexander Udalov
57ed81521d Don't call .getFqName() when writing package src class name
Package$src class names contain dollars, and JvmClassName.getFqName() doesn't
work very well for such names
2013-10-04 18:32:39 +04:00
Alexander Udalov
6898274f47 Delete JvmClassName.getDescriptor()
It shouldn't be available in descriptor.loader.java, since it wouldn't depend
on ASM and its descriptors won't make any sense there. Most of the places where
this method was used were in codegen. The few exceptions are reading
annotations for compiled Kotlin classes by ASM visitors, but that will be
abstracted away soon
2013-10-04 18:32:39 +04:00
Alexander Udalov
45bc7c2926 Delete JvmClassName.byClass, refactor JvmAnnotationNames
Store constant class names as instances of FqName instead of JvmClassName. This
is done to minimize usages of the method 'JvmClassName.getFqName()', since it's
wrong and shouldn't be used
2013-10-04 18:32:39 +04:00
Alexander Udalov
6aab9fe04e Delete JvmClassName.byClassDescriptor
It only worked correctly by coincidence: mapping from the Kotlin world to the
JVM world should always be done through JetTypeMapper
2013-10-04 18:32:39 +04:00
Alexander Udalov
ead8833a88 Minor, fix warnings in codegen 2013-10-04 18:32:39 +04:00
Alexander Udalov
54db0e30c0 Delete signature name from JvmClassName 2013-10-04 18:32:39 +04:00
Alexander Udalov
1cb68e9cf4 Move KotlinToJavaTypesMap, AsmTypeConstants to frontend.java
They're used only in compiler
2013-10-04 18:32:38 +04:00
Alexander Udalov
73b867d1e5 Simplify JvmPrimitiveType, PrimitiveType
Delete utility methods from interfaces, move once-used methods to where they're
used
2013-10-04 18:32:38 +04:00
Alexander Udalov
1578d891cb Remove PsiClassFinder
Inline the implementation into JavaClassFinderImpl
2013-10-04 18:32:38 +04:00
Alexander Udalov
7fa39eb41b Delete InjectorForJDR.getPsiClassFinder()
Replace its usages by getJavaClassFinder(). Remove code duplication in
AnalyzerFacadeForJVM/LazyResolveTestUtil
2013-10-04 18:32:38 +04:00
Natalia Ukhorskaya
c4c3657549 Show only last 'configure kotlin' notification, old notifications should be expired 2013-10-04 15:30:58 +04:00
Alexander Udalov
19dd2e5e1b Create special classes for decompiled Java enums
Simplify logic in JavaConstructorResolver and JavaClassResolver
2013-10-04 01:03:34 +04:00
Alexander Udalov
01e46bbd11 Move caching logic from java class scope to descriptor 2013-10-04 01:03:34 +04:00
Nikolay Krasko
d0e4245112 Add test for enum highlighting 2013-10-03 23:35:54 +04:00
Nikolay Krasko
b09ef86eab Print file text with placed textAttributesKey to avoid adding them manually 2013-10-03 23:35:54 +04:00
Nikolay Krasko
f09ba64234 Refactoring: Use generators for highlighting tests
- Store options for test in file
- Change default for namesHighlightingTest
- Combine highlighting and deprecated tests
2013-10-03 23:35:53 +04:00
Nikolay Krasko
62be09df87 KT-4017 Syntax highlighting drops constantly for ~0.5s with every little change in the source
#KT-4017 Fixed
2013-10-03 23:35:52 +04:00
Nikolay Krasko
3fa2b990a6 Don't force out of block modification after exception in analyze, use special dependency 2013-10-03 23:35:52 +04:00
Nikolay Krasko
27ae5d0d64 Refactoring: Remove warnings 2013-10-03 23:35:51 +04:00
Nikolay Krasko
344ed3f606 Refactoring: Fix warnings 2013-10-03 23:35:50 +04:00
Andrey Breslav
4cd5c66c27 No need to escape exceptions in recursionDetected() 2013-10-03 15:49:20 +04:00
Andrey Breslav
db34868b6e Migrate existing code to LockBasedStorageManager.NO_LOCKS 2013-10-03 15:49:20 +04:00
Andrey Breslav
aa90302d1b Tests for storage manager 2013-10-03 15:49:20 +04:00
Andrey Breslav
0591ceb7f0 Make ReenteringLazyValueComputationException debuggable in tests & internal mode 2013-10-03 15:49:20 +04:00
Andrey Breslav
5f4af8fb03 Distinguishing first and subsequent recursive calls to lazy values 2013-10-03 15:49:20 +04:00
Andrey Breslav
eb20d358b0 Fall-through case removed 2013-10-03 15:49:20 +04:00
Andrey Breslav
41a73645c6 Using enum instead of Object constants 2013-10-03 15:49:20 +04:00
Andrey Breslav
d7773415bf Support storage manager with no locks 2013-10-03 15:49:19 +04:00
Andrey Breslav
0c83832f27 Use ReentrantLock instead of intrinsic locks in LockBasedStorageManager 2013-10-03 15:49:19 +04:00
Andrey Breslav
ee72479344 Thread-safe lazy values used in lazy resolve 2013-10-03 15:49:19 +04:00
Andrey Breslav
344a57f2d5 isComputed() supported for lazy values 2013-10-03 15:49:19 +04:00
Andrey Breslav
7dfe1f963d Support returning default values on subsequent calls after recursion detection 2013-10-03 15:49:19 +04:00
Andrey Breslav
e13063017a Exception class moved 2013-10-03 15:49:19 +04:00
Andrey Breslav
9bb77b09a3 Lazy values unified in the project 2013-10-03 15:49:19 +04:00
Andrey Breslav
9064cbd664 Support not null lazy value with default on reentry 2013-10-03 15:49:18 +04:00
Andrey Breslav
f987efc510 isComputed() supported in simple lazy values 2013-10-03 15:49:18 +04:00
Andrey Breslav
36ce914613 Support recursion detection in lazy values 2013-10-03 15:49:18 +04:00
Andrey Breslav
98dc11bd1b Support recording exceptions in lazy values 2013-10-03 15:49:18 +04:00
Andrey Breslav
38437a1c25 Encoding changed for non-blocking lazy values 2013-10-03 15:49:18 +04:00
Andrey Breslav
13aa3b4e6f Unused classes removed 2013-10-03 15:49:18 +04:00
Andrey Breslav
f3cd83c744 All storage-related code moved to util.runtime 2013-10-03 15:49:18 +04:00
Andrey Breslav
48605074aa Lazy values: change encoding, now NOT_COMPUTED is an explicit object, and null is stored as such 2013-10-03 15:49:17 +04:00
Andrey Breslav
51dfdf795f Recursion-tolerant notnull lazy values 2013-10-03 15:49:17 +04:00
Andrey Breslav
bbdff45246 Support recursion-tolerant nullable values
All other values are made recursion-intolerant
2013-10-03 15:49:17 +04:00
Natalia Ukhorskaya
9fea289585 Update KotlinMavenConfigurator.java
Update Maven version in Configurator
2013-10-03 04:01:08 -07:00
Zalim Bashorov
2b9b563efb JPS plugin: add support external compilation for JS modules. 2013-10-03 13:58:02 +04:00
Zalim Bashorov
cfb7104ae9 JPS plugin: make the code more understandable -- added some comments and rename scriptFile to moduleFile. 2013-10-03 13:58:02 +04:00
Zalim Bashorov
fc6b77366a JPS plugin: remove unnecessary method KotlinSourceFileCollector#hasDirtyFiles. 2013-10-03 13:48:38 +04:00
Natalia.Ukhorskaya
b6f3baa485 Update sources when updating kotlin runtime 2013-10-03 13:02:38 +04:00
Evgeny Gerashchenko
3bb1d3854c Removed hack. 2013-10-02 18:29:14 +04:00
Alexander Udalov
f68a702e8f Report ABI errors on KotlinClass, not VirtualFile 2013-10-02 17:55:02 +04:00
Alexander Udalov
1afd0504fa Make compiled package fragments not show up in completion, go-to, etc. 2013-10-02 17:55:02 +04:00
Alexander Udalov
3087c6f584 ReadDataFromAnnotationVisitor doesn't depend on ASM anymore 2013-10-02 17:07:37 +04:00
Alexander Udalov
8b63665b20 Delete getFqName() method from KotlinClassFileHeader
It's not related to the header. Add getClassName() method to
KotlinJvmBinaryClass, which reads the internal name of the class
2013-10-02 17:05:50 +04:00
Alexander Udalov
a5a80a9ccc Change KotlinClassFileHeader loading interface
It should be able to load the header based on an abstract KotlinJvmBinaryClass,
not only the VirtualFile-based one
2013-10-02 17:05:50 +04:00
Alexander Udalov
2eebcd91c0 Make annotation deserializer not depend on VirtualFile & ASM
KotlinJvmBinaryClass now has its own visitor interfaces, which are an
abstraction over ASM visitors and the ones that will be implemented over
reflection
2013-10-02 17:05:50 +04:00
Alexander Udalov
7eff1292f0 Make an abstraction over VirtualFileFinder
Java descriptor loader now can work with KotlinClassFinder, which finds
abstract KotlinJvmBinaryClass'es: they are based on VirtualFile in the
compiler/IDE and will be based on j.l.Class in the reflection
2013-10-02 17:05:50 +04:00
Alexander Udalov
c5bed7a246 Remove hack from AnnotationDescriptorDeserializer
Now that package fragment classes are generated to "*Package-filename-hash", we
can use virtualFileFinder to find such classes by FQ name. Support
KotlinPackageFragment annotation, by which VirtualFileFinder will determine
that a class was compiled by Kotlin compiler
2013-10-02 17:05:49 +04:00
Alexander Udalov
fdc631d595 Increase ABI version after changes to package fragment names 2013-10-02 17:05:47 +04:00
Alexander Udalov
8a5336aca2 Don't use $ in package fragment class names
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Alexander Udalov
fc4e13f573 SerializedDataHeader now always has valid annotationData
This helps to avoid errors of checking 'instanceof SerializedDataHeader' but
forgetting to check if it 'isCompatibleKotlinCompiledFile'
2013-10-02 02:14:51 +04:00
Evgeny Gerashchenko
eebe605771 Fixed tests on android (file names escaping). 2013-10-01 22:18:03 +04:00
Evgeny Gerashchenko
efef7edca4 Removed copyToArray hack 2013-10-01 21:06:17 +04:00
Andrey Breslav
02e76bd805 Accidental collection modification fixed 2013-10-01 20:19:17 +04:00
Evgeny Gerashchenko
eb5455e89f Got rid of "jet" file extension. 2013-10-01 19:32:38 +04:00
Evgeny Gerashchenko
dc42be8543 Fixed VerifyError when copyToArray() is immediately returned from method. 2013-10-01 19:32:37 +04:00
Evgeny Gerashchenko
94cb523eb7 Removed examples.
Moved to https://github.com/kotlin-projects/examples
2013-10-01 18:43:53 +04:00
Evgeny Gerashchenko
1993bff51b Temp hack to workaround backend bug 2013-10-01 18:24:54 +04:00
Andrey Breslav
3f00004255 Exception fixed: com.intellij.psi.PsiInvalidElementAccessException 2013-10-01 17:15:47 +04:00
Andrey Breslav
1646b0875e Fixing assertion failure in a quick-fix 2013-10-01 17:15:47 +04:00
Andrey Breslav
98ce0e078c Chaching results of findClasses in JavaElementFinder
Quieries to this method appear very high in the profile when there are many exceptions in the console
2013-10-01 17:15:47 +04:00
Andrey Breslav
fedf528127 Cache files in the provider
This is required when, for example, very many exceptions are thrown in tests, and the console goes crazy calling JetExceptionFilter
2013-10-01 17:15:47 +04:00
Evgeny Gerashchenko
123aef6846 Fixed compilation. toArray → copyToArray 2013-10-01 17:02:33 +04:00
Evgeny Gerashchenko
2ae1a2c81b Added copyToArray intrinsic method.
#KT-3352 fixed
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko
41d1f277dc Generated default implementations for Collection.toArray().
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko
d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko
48625dd7b6 Disallowed using type parameter as reified type argument.
#KT-3050 fixed
2013-10-01 15:06:57 +04:00
Evgeny Gerashchenko
2c877f080e Introduced CompositeExtension (to pass several of them). 2013-10-01 15:06:57 +04:00
Natalia.Ukhorskaya
722ffbdab5 Add notnull annotations 2013-10-01 14:20:11 +04:00
Natalia.Ukhorskaya
96f8403d1c Cache module type 2013-10-01 14:03:29 +04:00
Natalia.Ukhorskaya
ea5122e0de After runtime library update an unrelated jar is affected
#KT-4035 Fixed
2013-10-01 11:57:50 +04:00
Natalia.Ukhorskaya
b78815a415 Update path to sources for kotlin-runtime library 2013-10-01 11:57:49 +04:00
Alexander Udalov
5fa489b7d3 Add 'topLevelMemberInvocation.twoModules' test to CompileBinaryTestData 2013-09-30 22:43:18 +04:00
Alexander Udalov
f7db95f63c Minor refactoring in DeserializedClassDescriptor 2013-09-30 22:43:18 +04:00
Alexander Udalov
a97bb80216 Serialize FQ names of Kotlin classes
This helps to avoid a nasty hack with loading inner Kotlin classes in JDR,
which makes it a bit easier to 'lazify' JDR, since now the container of a
Kotlin class is no longer required to be resolved eagerly before resolution of
the class itself
2013-09-30 22:43:18 +04:00
Alexander Udalov
a16db2c773 Regenerate ProtoBuf files 2013-09-30 22:43:17 +04:00
Alexander Udalov
91cbe3e239 Move ClassSerializationUtil to 'compiler-tests' module
It's not used in 'serialization'
2013-09-30 22:43:17 +04:00
Alexander Udalov
ee92ebe941 Move Kotlin descriptor loading to kotlin/ package 2013-09-30 22:43:17 +04:00
Alexander Udalov
fa9307d08c Delete unused method from VirtualFileFinder 2013-09-30 22:43:17 +04:00
Alexander Udalov
b42a3e6f6c Write KotlinPackageFragment annotation to package$src classes 2013-09-30 22:43:17 +04:00
Alexander Udalov
afa1f5c947 Move nested class to top-level 2013-09-30 22:43:17 +04:00
Alexander Udalov
84f64a5dfb Refactor KotlinClassFileHeader
Split into two subclasses: KotlinClass/KotlinPackage-annotated classes and
JetClass/JetPackage-annotated classes
2013-09-30 22:43:17 +04:00
Alexander Udalov
e4d538c668 Move KotlinClassFileHeader to header/ package 2013-09-30 22:43:16 +04:00
Alexander Udalov
1f466ff57d Simplify logic in KotlinClassFileHeader
When processing annotations, we should ensure not only that we have no more
than one KotlinClass/KotlinPackage annotation, but any supported header type at
all. Also instead of throwing an exception it's safer to just log the error
2013-09-30 22:43:16 +04:00
Alexander Udalov
92cc0ddd1f KotlinClassFileHeader is now nullable everywhere
'null' means there's no header. This makes all of KotlinClassFileHeader's
fields non-null
2013-09-30 22:43:16 +04:00
Alexander Udalov
9e9b3c7284 Make KotlinClassFileHeader immutable, make its inner class nested 2013-09-30 22:43:16 +04:00
Alexander Udalov
e981681d3e Remove KotlinClassFileHeader.HeaderType.NONE
Use null instead
2013-09-30 22:43:16 +04:00
Alexander Udalov
b4d9fb75d8 Minor refactorings in KotlinClassFileHeader 2013-09-30 22:43:15 +04:00
Alexander Udalov
b9ce7f9289 Remove dependency of annotation deserializer on ASM Type 2013-09-30 22:43:15 +04:00
Alexander Udalov
ed6f908049 Move JavaProtoBufUtil utilities to where they're used
Serialization goes to backend: it's not needed in runtime, at least in the
state in which it is now (dependent on ASM).

Deserialization goes to AnnotationDescriptorDeserializer. Inline some methods,
remove unneeded abstractions.

This removes dependency of serialization.java on ASM
2013-09-30 22:43:15 +04:00
Alexander Udalov
dfb0908da0 Move 8bit<->7bit logic to a separate class 2013-09-30 22:43:15 +04:00
Svetlana Isakova
a3f9cef354 fixed bug: 'isStatement' for function body == 'hasBlockBody'
not vice versa
2013-09-30 21:06:05 +04:00
Pavel V. Talanov
fa8ca4e781 Refactor: Improve code clarity in DelegationResolver
Filter out non-overridable descriptors earlier for possible optimization
Report error to trace even if name identifier is null
2013-09-30 20:54:44 +04:00
Pavel V. Talanov
9eeda58747 Fix for MakeOverriddenMemberOpenFix
Fixes bugs which led to BindingContextUtils#descriptorToDeclaration throwing exception
2013-09-30 20:54:43 +04:00
Pavel V. Talanov
9599f7d98c Test for delegated members being overridden 2013-09-30 20:54:42 +04:00
Pavel V. Talanov
51a6bcb727 Test for reporting clashes with multiple delegated methods
Verifies that the order in which traits are inherited is irrelevant
2013-09-30 20:54:41 +04:00
Pavel V. Talanov
04105fae65 Refactor DelegationResolver into method object to simplify code 2013-09-30 20:54:40 +04:00
Pavel V. Talanov
1a3603652c Refactor DelegationResolver so that lazy and eager resolve share the code
Also fix an exception in LazyClassMemberScope
2013-09-30 20:54:39 +04:00
Pavel V. Talanov
6fb7a79a1f Refactor DelegationResolver
Fix an issue in lazy resolve : filter out methods from delegated traits superclass
2013-09-30 20:54:38 +04:00
Pavel V. Talanov
c3a5a9b7b5 Minor optimization for tests 2013-09-30 20:54:37 +04:00
Pavel V. Talanov
dc9c3b1a97 Fix JetTestCaseBuilder#getHomeDirectory() having wrong separators on Windows 2013-09-30 20:54:36 +04:00
Pavel V. Talanov
10797db588 Create test for resolving with compiled kotlin dependency
Test for resolving fake overrides from binaries
2013-09-30 20:54:35 +04:00
Evgeny Gerashchenko
0749fc8cbb Got rid of VFS magic. 2013-09-30 20:54:34 +04:00
Evgeny Gerashchenko
d62f946238 Minor. Added comment. 2013-09-30 20:54:34 +04:00
Evgeny Gerashchenko
42a6543c25 Packing mock library to jar to avoid VFS magic. 2013-09-30 20:54:33 +04:00
Evgeny Gerashchenko
dd4939a5ec Using LightProjectDescriptor in navigate to library tests.
1.5x faster execution and reusable code.
2013-09-30 20:54:32 +04:00
Evgeny Gerashchenko
1332cbc1c1 Minor. Moved method to subclass. 2013-09-30 20:54:31 +04:00
Evgeny Gerashchenko
aec54bcbac Got rid of protected fields. 2013-09-30 20:54:30 +04:00
Evgeny Gerashchenko
d5e86c38de Minor. Inlined field. 2013-09-30 20:54:29 +04:00
Erokhin Stanislav
2329c9cdfa Use javac2 compiler from Idea lib in ant build: generate @NotNull assertions 2013-09-30 16:02:44 +04:00
Mikhael Bogdanov
625efe1be1 Update to idea 132.425 2013-09-30 12:39:40 +04:00
Alexey Sedunov
48ddd7678d Separate tree structures for local and non-local root declarations 2013-09-27 19:20:47 +04:00
Alexey Sedunov
c93d35ad57 Use KotlinCallHierarchyNodeDescriptor for Kotlin declarations only 2013-09-27 19:20:46 +04:00
Alexey Sedunov
5b7881f40c Call Hierarchy: Add support of local declarations 2013-09-27 19:20:45 +04:00
Alexey Sedunov
41ea7da1e3 Implement call hierarchy 2013-09-27 19:20:44 +04:00
Alexey Sedunov
e4936549ee Extract isConstructor() check 2013-09-27 19:20:43 +04:00
Alexander Udalov
07f1e61146 Remove unneeded asserts from JavaSupertypeResolver
Don't do anything special if a Java class happens to extend jet.JetObject: it's
not a Kotlin class and we should collect all its supertypes correctly
2013-09-27 16:01:55 +04:00
asedunov
b2bcbdfb7a Merge pull request #307 from eterverda/master
Fixed wrong annotations for android.os.Parcel, android.content.ComponentName and android.os.Message
2013-09-27 04:24:19 -07:00
Andrey Breslav
a4f29bacae Javac target JVM version explicitly specified
When compiling from command line on a machine with Java 7 installed you get class format errors when running on Java 6 later
2013-09-26 09:05:00 -07:00
Andrey Breslav
0d84565570 name and containingDeclaration pulled up 2013-09-26 09:05:00 -07:00
Andrey Breslav
6bed3cdc59 getOriginal() pulled up 2013-09-26 09:04:59 -07:00
Andrey Breslav
3defb3e519 Mutable field made volatile 2013-09-26 09:04:59 -07:00
Andrey Breslav
4b991f7254 Test that built-in binaries are up to date 2013-09-26 09:04:59 -07:00
Andrey Breslav
65b3d5eac5 Optimization: do not read data from input streams, use contents cached in VFS 2013-09-26 09:04:58 -07:00
Andrey Breslav
70740b835c Checking file existence through VFS (potentially faster)
The previous version was showing up in the profiler
2013-09-26 07:13:18 -07:00
Alexander Udalov
40a834bb8b Minor refactorings in DeclarationResolver 2013-09-26 15:25:36 +04:00
Mohammad Shamsi
f554ff3c8c KT-3945 Fixed - Prohibit modifiers for packages 2013-09-26 15:25:36 +04:00
Natalia.Ukhorskaya
c7ea464636 Don't use modifiable model for configuration 2013-09-26 13:00:03 +04:00
Natalia.Ukhorskaya
b33e6d1fc1 Add test dependency when kotlin file are only under test root 2013-09-26 12:16:30 +04:00
Evgeny Gerashchenko
f23ba19258 Simplified. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko
3200997bca Extracted method. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko
b4bb08c013 Generating stub methods for read-only map and entry. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko
d1cfbbbad5 Formatting. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko
511c908ba9 Generating stub methods for read-only collection. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko
5de9c2499d Added for iterator when remove() is present. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko
47b70427e1 Generating remove() for Iterator using same mechanism. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko
b4368ad578 Generating stub methods for read-only list. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko
e98b75b462 Do not generate toString and other methods if they are inherited. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko
23e1484319 Using more common type. 2013-09-25 20:59:23 +04:00
Alexey Sedunov
e859e02c8b Implement "if null" / "if not null" live templates 2013-09-25 19:44:24 +04:00
Alexander Udalov
a814f6a897 Advertise CompileBinaryTestData.kt in tests with binaries 2013-09-25 16:04:17 +04:00
Natalia.Ukhorskaya
983dfbdf3c Find kotlin library using library name, jar name in library classes root and marker class in library scope 2013-09-25 14:19:54 +04:00
Natalia.Ukhorskaya
bb42c54b7c Don't hide configure project notification 2013-09-25 14:18:42 +04:00
Natalia.Ukhorskaya
7e86f8c6b8 Small refactoring: add NN and extract variable 2013-09-25 14:18:41 +04:00
Natalia.Ukhorskaya
da17475ae6 Pack runtime sources to separate jar 2013-09-25 14:18:41 +04:00
Natalia.Ukhorskaya
55bae03177 Don't show separator in CreateLibrary dialog when paths aren't shown 2013-09-25 14:17:40 +04:00
Aleksandro Eterverda
30bf2c27f6 Added more annotations for android.os.Message
Message.obtain() (all overloaded variants) never return null.
2013-09-25 01:11:33 +04:00
Aleksandro Eterverda
06b9f3d7b9 Fixed wrong annotations for android.content.ComponentName
ComponentName.getClassName() and ComponentName.getPackageName() cannot return null. Also it's not possible to create ComponentName with null packageName or className
2013-09-25 00:32:12 +04:00
Aleksandro Eterverda
b924fbbf85 Fixed wrong annotations for android.os.Parcel
Parcel.readString() and Parcel.readStrongBinder() were wrongly annotated to return NotNull. In fact they both can return null and this is often used in Android development.
2013-09-25 00:20:00 +04:00
Andrey Breslav
c94f97bf57 Properly disposing the environment in GenerateJavaToKotlinMethodMap 2013-09-24 13:07:46 -07:00
Alexander Udalov
da1325f5cc Add a script to regenerate binary test data (jars) 2013-09-24 20:33:00 +04:00
Alexander Udalov
1de637c143 Regenerate compiled testData
Add sources and instructions to tests which had compiled jars in the testData.
PLEASE ALWAYS ADD SOURCES for tests with jars.

Delete runtime, stdlib and their sources from these jars -- PLEASE DO NOT PUT
kotlin-runtime.jar INTO TEST DATA JARS: every such jar is around 1Mb, it spoils
the repository
2013-09-24 20:32:07 +04:00
Andrey Breslav
62607c2494 Fix compilation in KDoc 2013-09-24 08:41:41 -07:00
Andrey Breslav
4644858b11 @NotNull propagated to JetVisitor implementations 2013-09-24 07:05:21 -07:00
Andrey Breslav
e829ef8304 JetPsiPrecedences rewritten in Kotlin 2013-09-24 07:05:20 -07:00
Andrey Breslav
fc70a65f99 Support 'suppress for statement' quick fix
#KT-3319 Fixed
2013-09-24 07:05:20 -07:00
Andrey Breslav
5b9d10d74e @NotNull in JetPsiFactory 2013-09-24 06:58:42 -07:00
Andrey Breslav
8f6b6639c5 Allow no else in annotated when-statements 2013-09-24 06:58:42 -07:00
Andrey Breslav
db9dd5d320 Allow annotations on loop statements 2013-09-24 06:58:41 -07:00
Andrey Breslav
c7c151a726 Support suppression on expressions 2013-09-24 06:58:41 -07:00
Andrey Breslav
716718fb0d JetAnnotated interface extracted to unify declarations and annotated expressions 2013-09-24 06:58:41 -07:00
Andrey Breslav
a13b66c58e 'Suppress warnings' as quick fix options
If no quick fix is available a special intention is shown
2013-09-24 06:58:41 -07:00
Andrey Breslav
b379ab3ebd Resolve annotations on expressions and multi-declarations 2013-09-24 06:58:41 -07:00
Andrey Breslav
836eef67fa Create proper annotation descriptors when annotation arguments don't match 2013-09-24 06:58:41 -07:00
Andrey Breslav
3d754dd788 DiagnosticFactory exposes severity 2013-09-24 06:58:40 -07:00
Andrey Breslav
97435a4266 Rename class: AbstractDiagnosticFactory -> DiagnosticFactory 2013-09-24 06:58:40 -07:00
Andrey Breslav
1948fb4c36 @Nullable/@NotNull added to various classes 2013-09-24 06:58:40 -07:00
Andrey Breslav
2d01e93fa4 Make formatter put no indent after a line break inside/after a modifier list 2013-09-24 06:58:40 -07:00
Andrey Breslav
8952365ae3 Formatter test is generated now 2013-09-24 06:58:40 -07:00
Andrey Breslav
9d7b3a7a96 Cached version of DiagnosticsWithSuppression. 2013-09-24 06:58:40 -07:00
Andrey Breslav
2dfaa81995 Tests for 'suppress' annotation 2013-09-24 06:58:40 -07:00
Andrey Breslav
1dff2fcf36 Basic implementation of DiagnosticsWithSuppression 2013-09-24 06:58:39 -07:00
Andrey Breslav
887e4276ee getDiagnostics() in BindingContext returns Diagnostics rather than List<Diagnostic> 2013-09-24 06:58:39 -07:00
Andrey Breslav
b98d05bd73 'suppress' annotation added to built-ins
#KT-3319 In Progress
2013-09-24 06:58:39 -07:00
Andrey Breslav
9fef0c8650 Support '-suppress warnings'
#KT-3319 In Progress
2013-09-24 06:58:39 -07:00
Andrey Breslav
c0e8038ed2 FilteringMessageCollector moved out 2013-09-24 06:58:39 -07:00
Andrey Breslav
73e45047fd Simplify test code and create expected data file if not present 2013-09-24 06:58:39 -07:00
Andrey Breslav
67b23ceda7 assertEqualsToFile() extracted as a common utility 2013-09-24 06:58:38 -07:00
Andrey Breslav
f245d93eea Common CLI parameters extracted into a base class 2013-09-24 06:58:38 -07:00
Andrey Breslav
04101a91f3 Update to cli-parser 1.1.1 which supports fields inherited from superclasses 2013-09-24 06:58:38 -07:00
Andrey Breslav
2ae2db75ef Unused methods removed 2013-09-24 06:54:26 -07:00
Andrey Breslav
2954af1b12 Unused method getPropertyByFieldReference() removed from JetScope and its implementations 2013-09-24 06:54:26 -07:00
Andrey Breslav
1f340e3a7a Don't compile and run generators in build.xml 2013-09-24 06:45:26 -07:00
Andrey Breslav
587189433b Test that GenerateJavaToKotlinMethodMap has run correctly 2013-09-24 06:45:25 -07:00
Andrey Breslav
651cc26e5e Test that injectors are properly generated 2013-09-24 06:45:25 -07:00
Andrey Breslav
09da73da1b Log what test classes were regenerated 2013-09-24 06:45:25 -07:00
Andrey Breslav
ade544a8b7 Test generator moved to the 'generators' module 2013-09-24 06:45:25 -07:00
Mikhael Bogdanov
39b5be6e2b Test fix for android configuration 2013-09-24 17:10:44 +04:00
Nikolay Krasko
286eecffc5 KT-4000 Class name completion is not available inside call expressions
#KT-4000 Fixed
2013-09-24 16:54:27 +04:00
Nikolay Krasko
24794741ff Testing auto imports work in calls
#KT-4000 In Progress
2013-09-24 16:54:26 +04:00
Nikolay Krasko
143d8d945c Rewrite isFirstPartInQualified to work properly inside call expressions
#KT-4000 In Progress
2013-09-24 16:54:25 +04:00
Nikolay Krasko
ed250198d8 Revert replacing "NUMBER" to "INVOCATION_COUNT" and replace "TIME" to "INVOCATION_COUNT" 2013-09-24 16:54:25 +04:00
Mikhael Bogdanov
6ca3a581b0 Test fix for previous commit 2013-09-24 14:31:58 +04:00
Mikhael Bogdanov
7520ff1420 KT-3308: Support local generic functions in codegen
#KT-3308 Fixed
2013-09-24 12:59:57 +04:00
Nikolay Krasko
46fec74797 Add task for downloading continuous idea build by id and version number 2013-09-23 15:31:06 +04:00
Nikolay Krasko
5aacf8f2b3 Merge pull request #306 from nskvortsov/master
Fix std lib generators: allow executing from command line.
2013-09-23 03:24:34 -07:00
Zalim Bashorov
24fde7110b J2K: reverted temporary fix after update to IDEA 132.325 EAP -- removed JavaToKotlinTranslator#NEVER_CHANGE. 2013-09-23 13:38:13 +04:00
Nikita Skvortsov
aaf31945de Fix std lib generator: allow executing from command line. 2013-09-22 11:41:07 +04:00
Erokhin Stanislav
dae791d7b1 JS backend: refactoring: extract CallArgumentTranslator from AbstractCallExpressionTranslator and CallExpressionTranslator 2013-09-20 21:22:54 +04:00
Erokhin Stanislav
0e6d9e857c JS backend: fix is for trait. #KT-3519 fixed 2013-09-20 21:21:39 +04:00
Erokhin Stanislav
649318a6c6 JS backend: drop Kotlin.keys 2013-09-20 21:07:34 +04:00
Erokhin Stanislav
bdb338a271 JS backend: fix class object access A.object$() -> A.object 2013-09-20 21:07:34 +04:00
Erokhin Stanislav
9654bd9bc8 JS backend: fix inheritance from native class & remove createConstructor() function from stdLib 2013-09-20 21:07:27 +04:00
Erokhin Stanislav
571bcf63dc JS backend: remove RegressionMergeEcmaTest 2013-09-20 20:10:19 +04:00
Alexander Udalov
6f5cd974a3 Remove unneeded dependencies on 'frontend'
Move the two needed in 'descriptor.loader.java' classes to 'descriptors'
2013-09-20 18:02:13 +04:00
Alexander Udalov
d6f656cc5d Fix library sources in .idea project 2013-09-20 18:02:12 +04:00
Alexander Udalov
ae914efc12 Remove unneeded dependency of 'descriptors' on 'javax.inject'
ModuleDescriptorImpl.setModuleConfiguration is only called manually, never by
injectors
2013-09-20 18:02:12 +04:00
develar
f4575b8c85 JS: report stack trace when test failed
(cherry picked from commit 70004ed)
2013-09-20 17:21:15 +04:00
develar
0182ec280a JS lib: made error message more understandable when module already defined.
(cherry picked from commit 28c8404)
2013-09-20 17:21:15 +04:00
Zalim Bashorov
d4924b58b1 JS backend: generate sourcemap in IDEA every time. 2013-09-20 17:21:15 +04:00
develar
cee4668e47 JS backend: don't add file:// prefix to sourcemap url.
Use name of generated source map file instead of absolute path.

(cherry picked from commit 126e977 and ec2fc20)
2013-09-20 17:21:15 +04:00
develar
6878a0b657 JS backend: added source mapping for some expressions.
(cherry picked from commit a35fe5a)
2013-09-20 17:21:14 +04:00
Zalim Bashorov
619e9758c8 JS backend: minor refactoring for LibrarySourcesConfig. 2013-09-20 17:21:14 +04:00
develar
da68540ade JS backend: LibrarySourcesConfig accepts source dir as source.
Idea send files in any case, but for easy debug run configurations we want to specify only source dir.

(cherry picked from commit e194435)
2013-09-20 17:21:14 +04:00
develar
6c40cf371e JS backend: update dart-ast.jar.
(cherry picked from commit 1cc7586)
2013-09-20 17:21:14 +04:00
develar
711aee6026 JS backend: added replacer and space parameters to JSON.stringify
#KT-2983 in progress

(cherry picked from commit 058b147)
2013-09-20 17:21:14 +04:00
develar
1462e5cb7f JS backend: cleanup JsFor creation. Added source map for "for, while, break, continue, try".
#KT-927 in progress

(cherry picked from commit 4533f64)
2013-09-20 17:21:13 +04:00
develar
67592829b6 JS backend: translate labeled for expressions.
#KT-2986 fixed

(cherry picked from commit b0836a6)
2013-09-20 17:21:13 +04:00
develar
764b5c5a90 JS backend: use generated code(org.w3c.*) for browser API.
#KT-2983 in progress

(cherry picked from commit 8b839a9)
2013-09-20 17:21:13 +04:00
Natalia.Ukhorskaya
f34003deac Fix exception when there is a non-configured library 2013-09-20 17:10:23 +04:00
Natalia.Ukhorskaya
9cbe0ef8c5 Fix absent UnsupportedAbiVersionNotification 2013-09-20 17:10:21 +04:00
Natalia.Ukhorskaya
9874eb67ba Updated to IDEA 132.325 EAP 2013-09-20 16:04:10 +04:00
Natalia.Ukhorskaya
5021bf3cd7 Fix line separators 2013-09-20 16:04:09 +04:00
Natalia.Ukhorskaya
b0236b2dc3 Fix lexical mismatch 2013-09-19 17:55:23 +04:00
Alexey Sedunov
ecab2a2039 Implement extension of method usages search to cover usages of overriding functions in Kotlin 2013-09-19 16:01:31 +04:00
Mikhael Bogdanov
fc1c3a2e23 KT-3978: Kotlin: [Internal Error] org.jetbrains.jet.codegen.CompilationException: Back-end (JVM) Internal error: null
#KT-3978 Fixed
2013-09-19 15:40:28 +04:00
Mikhael Bogdanov
0486e6cf4c Substitute CALLABLE_REFERENCE slice with FUNCTION one 2013-09-19 15:11:52 +04:00
Mikhael Bogdanov
59c04bd4cf Do direct call to local functions, inplace closures, and callable references (not via bridge method) 2013-09-19 15:11:49 +04:00
Zalim Bashorov
ebecc7b8ac J2K: Convert a Java code from clipboard only when paste it (to Kotlin file) instead of when copy to clipboard. 2013-09-18 21:25:09 +04:00
Zalim Bashorov
4dd880f99c J2K: improved asserts.
(Additionally it needs for investigate EA-37704)
2013-09-18 21:25:08 +04:00
Alexander Udalov
7faf8ef92a Change annoying LOG.error to warn
Must be fixed with thread-safe JDR
2013-09-18 20:14:42 +04:00
Alexander Udalov
5b03178820 Remove dependency of 'serialization' on 'frontend' 2013-09-18 18:45:35 +04:00
Alexander Udalov
5119afae52 Extract 'descriptors' module 2013-09-18 18:45:34 +04:00
Alexander Udalov
43596f7450 Move utilities from 'frontend' to 'util'
They're also used in 'serialization'
2013-09-18 17:21:12 +04:00
Alexander Udalov
3504246983 Move AbstractLazyTypeParameterDescriptor to descriptors/impl/ 2013-09-18 17:21:12 +04:00
Alexander Udalov
4bc410daa2 Move ErrorValueWithDiagnostic to CompileTimeConstantResolver 2013-09-18 17:21:12 +04:00
Alexander Udalov
4611f5f526 Move constant error types to TypeUtils
They're used from different places that will be available at runtime
2013-09-18 17:21:11 +04:00
Alexander Udalov
8e59e789dc Extract util.runtime module out of util
Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.

Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
2013-09-18 17:21:11 +04:00
Alexander Udalov
15efeaba22 Use 'generators' module and its dependencies for 'All Tests' 2013-09-18 17:21:11 +04:00
Alexander Udalov
c029cbdf62 Do not escape AS_SAFE,NOT_IN,NOT_IS in DescriptorRenderer 2013-09-18 17:20:45 +04:00
Alexander Udalov
3da06ee110 Generate keyword strings for DescriptorRenderer
This is done in order to kill dependency of DescriptorRendererImpl on JetTokens
2013-09-18 17:01:41 +04:00
Alexander Udalov
df875b892f Move generators sources to generators/src/ 2013-09-18 17:01:41 +04:00
Alexander Udalov
e8b10b3e4d Delete ErrorUtils.isError(TypeConstructor) 2013-09-18 16:46:07 +04:00
Alexander Udalov
dea1e6650f Minor, remove unused methods from ErrorUtils
Inline methods, annotate with NotNull
2013-09-18 16:41:48 +04:00
Alexander Udalov
b7f1e61be9 Add JetType.isError()
Instead of ErrorUtils.isErrorType() which does several instanceof checks anyway
2013-09-18 16:41:48 +04:00
Alexander Udalov
bab8fafd7b Minor, delete useless class 2013-09-18 16:41:48 +04:00
Alexander Udalov
215a5f46b6 Move ROOT_NAMESPACE_NAME to DescriptorUtils
KotlinBuiltIns depends on it, but it cannot depend on JetPsiUtil, because
descriptors module should not depend on PSI
2013-09-18 16:41:47 +04:00
Alexander Udalov
5f930bca31 Move Renderer to org.jetbrains.jet.renderer 2013-09-18 16:41:47 +04:00
Alexander Udalov
6778b38f79 Delete ReceiverValueVisitor
This is done because this visitor ties all ReceiverValue's together, which
makes descriptors depend on PSI (ReceiverValue -> ReceiverValueVisitor ->
ExpressionReceiver -> JetExpression). Descriptors will be available at runtime,
but PSI is very heavy, so this dependency should be gotten rid of
2013-09-18 16:40:36 +04:00
Alexander Udalov
7d64b84c42 Minor, remove DataFlowValueFactory.INSTANCE
DataFlowValueFactory's methods are all static
2013-09-18 16:40:36 +04:00
Alexander Udalov
7e72494ddb Remove unused 'trace' parameter in ModuleConfiguration 2013-09-18 16:40:36 +04:00
Alexander Udalov
54ee7456ce Extract LazyResolveStorageManager interface
StorageManager will be available at runtime, thus it can't depend on
BindingTrace
2013-09-18 16:40:35 +04:00
Alexander Udalov
f35472414b Move FunctionDescriptorUtil out of descriptors/ 2013-09-18 16:40:35 +04:00
Alexander Udalov
f5af43ed24 Cleanup descriptors in frontend
Remove useless classes/interfaces, inline useless superclasses, make the code
greener
2013-09-18 16:40:35 +04:00
Alexander Udalov
cb10cbdf7a Remove PSI usages from ScriptDescriptor 2013-09-18 16:40:35 +04:00
Alexander Udalov
d0a9464504 Refactor DescriptorUtils
Remove dependency on org.jetbrains.jet.lang.psi, move utilities closer to their
usages, add NotNull annotations, fix formatting, etc.
2013-09-18 16:40:35 +04:00
Alexander Udalov
8400d2b8cf Refactor OverridingUtil.resolveUnknownVisibilities
Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
2013-09-18 16:40:35 +04:00
Alexander Udalov
6ca71349f8 Create DescriptorFactory utility class
Will contain utilities needed to create different common descriptors, such as
default getters/setters, enum values/valueOf methods, etc.
2013-09-18 16:40:34 +04:00
Alexander Udalov
6eeee31381 Remove unused dependency of 'serialization' module on 'junit' library 2013-09-18 16:40:34 +04:00
Alexander Udalov
effbdcaa4c Move utilities out of OverrideResolver 2013-09-18 16:40:34 +04:00
Alexander Udalov
f5faf8acb2 Get rid of dependency of class descriptors on BindingTrace 2013-09-18 16:40:34 +04:00
Natalia.Ukhorskaya
9351369052 Check that maven module already has library in dependency
#KT-3991 Fixed
2013-09-18 15:08:47 +04:00
Natalia.Ukhorskaya
1a7a59c0a0 Change Configure Kotlin notification text 2013-09-18 15:08:46 +04:00
Natalia.Ukhorskaya
e5b7ba3060 Update UI for Configure Kotlin Dialog 2013-09-18 15:08:46 +04:00
Erokhin Stanislav
63e7d60ad7 JS backend: fix KotlinLibTest 2013-09-17 21:55:13 +04:00
Erokhin Stanislav
db62ef2ef1 JS backend: KotlinNew => Kotlin 2013-09-17 21:55:10 +04:00
Erokhin Stanislav
c3d0392413 JS backend: add $metadata$ property & remake extension utilities 2013-09-17 21:52:55 +04:00
Erokhin Stanislav
12cb774f1c JS backend: remake NameGenerator in case Property & PropertyAccessor. Fix overload extension property. 2013-09-17 21:46:25 +04:00
Erokhin Stanislav
c5a720164e JS backend: remove unused code from Namer 2013-09-17 21:46:25 +04:00
Erokhin Stanislav
eed1a6506e JS backend: remove all usages TranslationContext.isEcma5() 2013-09-17 21:46:25 +04:00
Erokhin Stanislav
79904a9b96 JS backend: refactor: extract DefineInvocation 2013-09-17 21:46:17 +04:00
Erokhin Stanislav
8e72efc736 JS backend: move "call" and "baseInitializer" keyword to Namer 2013-09-17 21:45:06 +04:00
Erokhin Stanislav
2452b3c34c JS backend: remove isEcma5() from property initialize 2013-09-17 21:45:06 +04:00
Erokhin Stanislav
550cf581c4 JS backend: JsDescriptorUtils.isAsPrivate remake to isSimpleProperty 2013-09-17 21:45:05 +04:00
Erokhin Stanislav
638beff551 JS backend: Remove {value: function...} and {value: Kotlin.createClass() } structures. 2013-09-17 21:44:57 +04:00
Erokhin Stanislav
a79b67eb48 JS backend: refactor: rename InitializerUtils.generate to generateObjectInitializer 2013-09-17 21:44:00 +04:00
Erokhin Stanislav
ce3da8491b JS backend: Remove Object.defineProperty for property initialize 2013-09-17 21:43:25 +04:00
Erokhin Stanislav
dcddd04a2f JS backend: fix root package initialize. 2013-09-17 21:43:25 +04:00
Erokhin Stanislav
05d61c1c5a JS backend: add several RegressionMergeEcmaTests 2013-09-17 21:43:25 +04:00
Erokhin Stanislav
6400946fc6 JS backend: remove $createClass and $new usages
In RangeForTranslator replace get_something() -> something
2013-09-17 21:43:25 +04:00
Erokhin Stanislav
0fbce55df7 JS backend: STDLib: remove base class parameter from API 2013-09-17 21:43:25 +04:00
Erokhin Stanislav
4c57d70be9 JS backend: remove ECMA 3, but several tests is broken.
Main reason: overload extention property:

Int.bar = 1
String.bar = 2
2013-09-17 21:43:25 +04:00
Erokhin Stanislav
248ec7a248 JS backend: add new ecma5 library & use "new Class()" construction 2013-09-17 21:43:25 +04:00
Erokhin Stanislav
b291802de3 JS backend: add debug info in Delegate Property Test 2013-09-17 21:43:24 +04:00
Erokhin Stanislav
9100a0d0a6 JS backend: add RegressionMergeEcmaTest 2013-09-17 21:43:24 +04:00
Erokhin Stanislav
fd2caf5acf JS backend: fix order class and trait in list supertypes 2013-09-17 21:43:24 +04:00
Erokhin Stanislav
430b60d979 Move topologicallySortSuperclassesAndRecordAllInstances from CommonSupertypes to TypeUtils. 2013-09-17 21:43:24 +04:00
Erokhin Stanislav
45e827aeb9 JS backend: add support multi declaration 2013-09-17 21:43:11 +04:00
Natalia.Ukhorskaya
8cc1617790 Small improvements in Configure Kotlin dialogs 2013-09-17 18:21:53 +04:00
Natalia.Ukhorskaya
1651dbe496 Align paths in Configure Kotlin dialog 2013-09-17 18:21:52 +04:00
Natalia.Ukhorskaya
dee186de08 Remove checkbox for copying js implementation files in 'Configure Kotlin as Javascript' dialog 2013-09-17 18:21:51 +04:00
Natalia.Ukhorskaya
706aa039dc Align modules in Configure Kotlin dialog 2013-09-17 18:21:50 +04:00
Natalia.Ukhorskaya
4e0449a7a4 Change separators in Configure Kotlin notification 2013-09-17 18:21:49 +04:00
Natalia.Ukhorskaya
2df11a11f2 Move kotlin file in Gradle project only under source root in same module 2013-09-17 18:21:48 +04:00
Natalia.Ukhorskaya
8a0ef93ac4 Show IncorrectSourceRootName notification for gradle project also 2013-09-17 18:21:47 +04:00
Evgeny Gerashchenko
e338cda06d Changed extension in parsing test data (jet -> kt) 2013-09-17 18:10:00 +04:00
Evgeny Gerashchenko
2ee3d22ab9 Generated missing test data. 2013-09-17 18:10:00 +04:00
Evgeny Gerashchenko
5ed75cffd5 Made parsing test generated. 2013-09-17 18:10:00 +04:00
Evgeny Gerashchenko
32b7bfeca6 Minor. Using more common class. 2013-09-17 18:09:59 +04:00
Evgeny Gerashchenko
1ed168fd14 Removed IDE templates from completion, replaced them with keywords. 2013-09-17 18:09:59 +04:00
Evgeny Gerashchenko
dcfeea4029 Removed IDE templates support from compiler. 2013-09-17 18:09:59 +04:00
Evgeny Gerashchenko
31a712b424 Removed IDE templates support from plugin. 2013-09-17 18:09:59 +04:00
Evgeny Gerashchenko
859b0b845a Obtaining jflex from github. No IDEA checkout is necessary anymore. 2013-09-17 18:09:59 +04:00
Mikhael Bogdanov
8ffee527d7 KT-3573 "Error generating primary constructor" when trying to use "this" in extensions from constructors
#KT-3573 Fixed
2013-09-17 17:31:47 +04:00
Svetlana Isakova
fe7b5cc532 refactoring: moved methods 2013-09-17 16:17:31 +04:00
Svetlana Isakova
2d65186574 refactoring: moved 'getValue', 'getValues' methods to TypeConstraints 2013-09-17 16:17:30 +04:00
Svetlana Isakova
eb513438c9 extracted ConstraintSystemStatus 2013-09-17 16:09:27 +04:00
Svetlana Isakova
4e45b91f07 refactoring: extracted methods 2013-09-17 16:09:27 +04:00
Svetlana Isakova
ce399df305 removed ConstraintSystemWIthPriorities 2013-09-17 16:09:27 +04:00
Svetlana Isakova
b9f55f5070 test added 2013-09-17 16:09:27 +04:00
Svetlana Isakova
845b6f7d7e fixed bug
NULL_FOR_NONNULL_TYPE can represent type mismatch error as well
(later the whole method 'makeTraceInterceptingTypeMismatch' should be removed)
2013-09-17 16:09:26 +04:00
Andrey Breslav
dd847030fa Fix references in ReadMe.md 2013-09-17 15:59:56 +04:00
Andrey Breslav
bf2d335bf6 Update ReadMe.md to reflect changes in the bootstrapping configuration 2013-09-17 15:54:06 +04:00
Nikolay Krasko
4477dadcd1 Fix the end of the replaced identifier for completion with tab char
Stop removing (, ), {, }, + and so on.
2013-09-17 15:11:29 +04:00
Natalia Ukhorskaya
e1f31a4a75 Merge pull request #304 from nskvortsov/master
Fix extra kotlin source set structure in Gradle.
2013-09-16 07:10:37 -07:00
Nikolay Krasko
839df96200 Refactoring: change test data directive 2013-09-16 17:23:28 +04:00
Nikolay Krasko
29448c149c Fix patterns - escape for the dots 2013-09-16 17:23:28 +04:00
Nikolay Krasko
c2ca8b618d Order properties before keywords 2013-09-16 17:23:26 +04:00
Nikolay Krasko
b0acf758bc Give more priority to declarations from the same file 2013-09-16 17:23:26 +04:00
Nikolay Krasko
39bf53155b Generate weigher tests from Kotlin base 2013-09-16 17:23:25 +04:00
Nikolay Krasko
e6c6982c61 Always place keywords after local variables and parameters 2013-09-16 17:23:24 +04:00
Nikita Skvortsov
cc47f646a1 fix kotlin compiler logging level in Gradle 2013-09-16 16:48:31 +04:00
Nikita Skvortsov
96d6542e49 fix extra kotlin source set structure. 2013-09-16 16:48:31 +04:00
Natalia.Ukhorskaya
d681f306ae Fix wrong imports 2013-09-16 15:33:30 +04:00
Natalia.Ukhorskaya
d7334596d2 Some improvements in configurators 2013-09-16 15:32:10 +04:00
Svetlana Isakova
88642ae1cc Updated to IDEA 132.197 EAP 2013-09-14 16:04:56 +04:00
Andrey Breslav
8bf1ab85ab Intention to replace a shorthand type with a reconstructed one 2013-09-13 22:41:06 +02:00
Andrey Breslav
a9134f8eff Do not allow inference of type arguments on the rhs if there's no information available 2013-09-13 22:41:06 +02:00
Andrey Breslav
5c86a5bd7c Allow bare types on the right-hand side of as/as?/is/!is 2013-09-13 22:41:06 +02:00
Andrey Breslav
e9e23c0069 Scope for IDE classes 2013-09-13 22:39:47 +02:00
Andrey Breslav
f26fe03c2e Assertion added 2013-09-13 22:39:47 +02:00
Andrey Breslav
0ce35af8e0 Unused dependency removed 2013-09-13 22:39:46 +02:00
Andrey Breslav
1c69617026 Unused method removed 2013-09-13 22:37:10 +02:00
Andrey Breslav
b62dffed93 TypeResolutionContext introduced 2013-09-13 22:37:10 +02:00
Andrey Breslav
69cc11d035 Existing tests updated according to "'Else' is not required in 'when' if Unit is expected" 2013-09-13 22:05:37 +02:00
Andrey Breslav
c017858f77 'Else' is not required in 'when' if Unit is expected 2013-09-13 22:04:46 +02:00
Andrey Breslav
a76f1c1db5 Unused variable removed 2013-09-13 22:03:30 +02:00
Natalia.Ukhorskaya
2b2302b18c Add Maven Configurator 2013-09-13 18:04:29 +04:00
Natalia.Ukhorskaya
943da5ea84 Optional dependency on Maven plugin 2013-09-13 18:04:25 +04:00
Natalia.Ukhorskaya
95a03f14eb Add actions: to configure project and to configure project with javascript 2013-09-13 18:04:21 +04:00
Natalia.Ukhorskaya
21534a5177 Show dialog if more than one module should be configured or user should choose path to library 2013-09-13 18:04:17 +04:00
Natalia.Ukhorskaya
641bd1d910 Add Gradle (simple and for android) Project Configurator 2013-09-13 18:04:13 +04:00
Natalia.Ukhorskaya
f5c730514b Add Base class for configure modules with gradle 2013-09-13 18:04:09 +04:00
Natalia.Ukhorskaya
230be28884 Remove ConfigureAndroidGradleProjectNotification 2013-09-13 17:12:23 +04:00
Natalia.Ukhorskaya
fb32c336e3 Fix gradle plugin id 2013-09-13 17:12:19 +04:00
Andrey Breslav
a71e8f8695 Optional dependency on Gradle configured 2013-09-13 17:12:15 +04:00
Natalia.Ukhorskaya
96fd0862f0 Show notification to configure kotlin project after creating a new kotlin file in nonconfigured module 2013-09-13 17:12:12 +04:00
Natalia.Ukhorskaya
05d5e30cf4 Add notification to configure kotlin project 2013-09-13 17:12:08 +04:00
Natalia.Ukhorskaya
2a3f5a9aa1 Remove old notification provider 2013-09-13 17:12:04 +04:00
Natalia.Ukhorskaya
60770fb037 New way to configure kotlin project 2013-09-13 17:12:00 +04:00
Svetlana Isakova
f0bb41ba50 resolve default values for parameters for local functions
moved method 'resolveValueParameters'

#KT-3978 In progress
2013-09-13 16:04:17 +04:00
Svetlana Isakova
4b023742c6 added AnnotationResolver reference to ExpressionTypingServices
injectors generated
2013-09-13 16:04:17 +04:00
Svetlana Isakova
298d344c31 check constants with Unit return type as usual 2013-09-13 16:04:17 +04:00
Svetlana Isakova
b6386e345c added positioning for 'ILLEGAL_ESCAPE' error 2013-09-13 16:04:17 +04:00
Svetlana Isakova
96db2ecabd added different errors instead of ERROR_COMPILE_TIME_VALUE with different text
check type for constants in DataFlowUtils
2013-09-13 16:04:17 +04:00
Svetlana Isakova
d556ceedc1 rename 2013-09-13 16:04:17 +04:00
Svetlana Isakova
a11ad384a2 removed unused methods 2013-09-13 16:04:17 +04:00
Svetlana Isakova
5f189a8c0f KT-3833 Invoke method not working inside class object?
#KT-3833 Fixed
2013-09-13 16:04:17 +04:00
Zalim Bashorov
d50f65634a Register ProjectRootModificationTracker as NEVER_CHANGE in StandaloneJavaToKotlinConverterTest. 2013-09-13 14:38:39 +04:00
Zalim Bashorov
d0172ebdc2 Fixed bug in TypeConversionUtil#getAllBoxedTypeSupers which created CachedValueProvider.Result with null as dependency because the ProjectRootModificationTracker service was not registered.
Register ProjectRootModificationTracker as NEVER_CHANGE in JavaToKotlinTranslator.
2013-09-13 13:06:52 +04:00
Alexey Sedunov
4027454b64 Add read lock for class usage search 2013-09-12 17:14:00 +04:00
Evgeny Gerashchenko
58d430bddc Renamed method. 2013-09-12 15:24:23 +04:00
Evgeny Gerashchenko
16334c58aa Removed duplicating method. 2013-09-12 15:24:23 +04:00
Evgeny Gerashchenko
53c832d88c Correctly resolving all references in library source.
Added test with stdlib.

Ignoring top-level members from library source to avoid ambiguity. Resolving classes from source when deserializing descriptors (for unification).
2013-09-12 15:24:23 +04:00
Evgeny Gerashchenko
e4d8e4d61b Not ignoring other properties in scope.
First one (almost randomly) was chosen instead of ambiguity.
2013-09-12 14:58:58 +04:00
Evgeny Gerashchenko
48e96aece3 Simplified code. 2013-09-12 14:58:58 +04:00
Evgeny Gerashchenko
cdbbacaf1c Minor. Renamed local variable. 2013-09-12 14:58:58 +04:00
Evgeny Gerashchenko
3f89598f14 Minor. Made method @NotNull. 2013-09-12 14:58:57 +04:00
Evgeny Gerashchenko
3b26af6ae2 Minor. Reused constant. 2013-09-12 14:58:57 +04:00
Evgeny Gerashchenko
a9acc346e5 Removed obsolete action disabling error highlighting. 2013-09-12 14:58:57 +04:00
Evgeny Gerashchenko
95adbeddd2 Added semantic and debug highlighting in library sources. 2013-09-12 14:58:57 +04:00
Natalia.Ukhorskaya
188e8b983e Missed sdk annotations for Android Sdk
#KT-3965 Fixed
2013-09-12 11:38:46 +04:00
Nikolay Krasko
22a328e41f Extract verifier url to property 2013-09-11 18:49:02 +04:00
Nikolay Krasko
063ae58d6c Remove unused verifier dependency 2013-09-11 18:38:34 +04:00
Nikolay Krasko
4f482a88b4 Use basedir as default folder for downloading to be conform with .gitignore 2013-09-11 18:37:47 +04:00
Nikolay Krasko
0f5c085f7f Re-enable verify for kotlin plugin 2013-09-11 17:41:23 +04:00
Nikolay Krasko
d10b267035 Update version of verifier 2013-09-11 17:32:51 +04:00
Nikolay Krasko
053fc31021 Simplify running verify locally and remove errors. 2013-09-11 16:42:08 +04:00
Nikolay Krasko
e4c1fe7c3a Report unsupported annotations for local variables 2013-09-11 12:01:34 +04:00
Nikolay Krasko
828d57c2be Annotation on object test 2013-09-11 12:01:33 +04:00
Nikolay Krasko
08b8f56740 Fix rewrite for ANNOTATION slice (EA-49336) 2013-09-11 12:01:32 +04:00
Nikolay Krasko
8c53d19452 Remove unresolve 'erased' annotation 2013-09-11 12:01:31 +04:00
Nikolay Krasko
0452706727 Don't add debug highlighting for references in unsupported elements 2013-09-11 12:01:30 +04:00
Nikolay Krasko
6eb0111e21 Fix NCDFE (EA-49630) 2013-09-11 12:01:29 +04:00
Nikolay Krasko
7da850bd44 "Wrong line separators" exception (EA-47594) 2013-09-11 12:01:29 +04:00
Nikolay Krasko
9778839d96 Refactorings: remove warnings 2013-09-11 12:01:28 +04:00
Pavel V. Talanov
255f08c8d7 Do not include DescriptorDeclaration#toString() in debug message
DescriptorDeclaration#toString() can be a costly operation (default implementation completely renders descriptor)
2013-09-10 17:42:54 +04:00
Pavel V. Talanov
a1b397ee2d Test for invoking "Override methods" for fake override from library 2013-09-10 13:19:07 +04:00
Pavel V. Talanov
e2cbfd8055 Fix navigation to compiled overridden descriptors 2013-09-10 13:18:29 +04:00
Pavel V. Talanov
1874942cd2 Log instead of assertion in OverrideImplementMethodsHandler 2013-09-10 13:18:28 +04:00
Pavel V. Talanov
3daa66424b Extract method for finding declarations for descriptor without trace
Use it where appropriate
2013-09-10 13:17:15 +04:00
Pavel V. Talanov
e4b2e32827 Return error class in case we are not able to find class for object property 2013-09-10 13:15:30 +04:00
Pavel V. Talanov
2e823d6b7b Introduce ErrorClassDescriptor
Add utility which allows to create error class descriptors with debug message
2013-09-10 13:14:47 +04:00
Pavel V. Talanov
217312ab78 Continue to look for descriptors if IGNORE_KOTLIN_SOURCES was passed as DescriptorSearchRule
Add comment to DesriptorSearchRule explaining why we should get rid of it asap
Remove useless code from DesriptorSearchRule
2013-09-10 13:14:46 +04:00
Alexander Udalov
f700266b11 Don't produce run configurations for files out of source roots
#KT-3973 Fixed
2013-09-06 23:26:27 +04:00
Alexander Udalov
f63e3da594 Replace LOG.error with LOG.warn when reading classfile with ASM
We don't care much if some corrupt file appears to be in our classpath
2013-09-06 23:26:27 +04:00
Alexander Udalov
c0a4d8d24f Support Class<?> as annotation arguments in java 2013-09-06 23:26:27 +04:00
Alexander Udalov
b8f9ef9910 Extract interface out of TypeVariableResolver
Also make getTypeVariable() nullable: when a type is not found, it's better to
use error type instead of throwing an exception
2013-09-06 23:26:26 +04:00
Alexander Udalov
ccff9e38fe Rename LoadJava annotations test data 2013-09-06 23:26:26 +04:00
Alexander Udalov
5805598306 Replace hard exceptions with LOG.error 2013-09-06 23:26:26 +04:00
Alexander Udalov
77e0d275db Remove unreachable code in AnnotationDescriptorDeserializer
Kotlin classes should only be discoverable by VirtualFileFinder
2013-09-06 21:28:49 +04:00
Alexander Udalov
b69970d621 Rename CompileKotlinAgainstCustomJava test
It's not against Java per se, but rather any binaries
2013-09-06 21:28:49 +04:00
Alexander Udalov
9d2add81f8 Don't break the world if enum in annotation isn't found 2013-09-06 21:28:49 +04:00
Alexander Udalov
c8a5c9ef59 Add regression for EA-47864 2013-09-06 21:16:42 +04:00
Alexey Sedunov
c6b1dc6f36 Fix search of super-declarations 2013-09-06 19:41:18 +04:00
Alexey Sedunov
d80512f68a Fix move when multi-line elements have shared lines 2013-09-06 19:41:17 +04:00
Alexey Sedunov
5cee3ae5b3 Reuse getElementLineCount() 2013-09-06 19:41:16 +04:00
Alexey Sedunov
b3b948ac39 Fix movement bug when expression is followed/preceded by comment at the functional literal block boundary 2013-09-06 19:41:15 +04:00
Alexey Sedunov
f700870bea KT-3791 (Move statement moves lambda parameters out of lambda itself) Fixed 2013-09-06 19:41:14 +04:00
Zalim Bashorov
63941c4e86 Updated to IDEA 132.106 EAP. 2013-09-06 19:10:12 +04:00
Andrey Breslav
fca6182288 Fixed the case of "Any is/as List<*>" for erased cast diagnostic 2013-09-06 13:37:09 +04:00
Andrey Breslav
4cf5b94a4a Test data fixed according to 73ab7a9a341913f4f28634aee7f05a8df5fc17fd 2013-09-06 11:20:17 +04:00
Andrey Breslav
fa2ea75c09 Do not add explicit visibility modifiers in Override/Implement 2013-09-05 21:59:41 +04:00
Andrey Breslav
a3a5f9015a Do not highlight errors in Kotlin files outside source roots 2013-09-05 21:59:41 +04:00
Pavel V. Talanov
61d5d43e15 Do not generate KotlinClass/Package annotation when not in ClassBuilderMode.FULL
#KT-3967 Fixed
2013-09-05 21:32:48 +04:00
Andrey Breslav
6d9e50f1b2 No private constructor in utility classes 2013-09-05 15:03:37 +04:00
Andrey Breslav
e3175c66e8 Fixing failed tests: do not report anything on casts that can never succeed 2013-09-05 15:03:37 +04:00
Andrey Breslav
e3079ac667 Erased casts supported 2013-09-05 14:17:33 +04:00
Andrey Breslav
173303104e Type Unifier 2013-09-05 14:17:32 +04:00
Andrey Breslav
b550687cbc Cast impossibility checking logic moved to a separate class 2013-09-05 14:17:32 +04:00
Andrey Breslav
a28d211442 'Cast can never succeed' diagnostics improved 2013-09-05 14:17:32 +04:00
Andrey Breslav
9f4beece64 PlatformToKotlinClassMap injected into expression analyzers 2013-09-05 14:17:32 +04:00
Andrey Breslav
685bea6446 Extract method 2013-09-05 14:14:01 +04:00
Alexander Udalov
fb5ab4c7c5 Move serialization.java module to core/
Remove unused dependency from frontend.java
2013-09-04 21:55:11 +04:00
Alexander Udalov
2b9225fdd4 Extract descriptor.loader.java module from frontend.java
Will be used in runtime to load reflected classes
2013-09-04 21:55:11 +04:00
Alexander Udalov
4fa35047b0 Move methods to DescriptorResolverUtils 2013-09-04 21:55:11 +04:00
Alexander Udalov
abad793a35 Move DescriptorResolverUtils and TypeUsage to resolver/ 2013-09-04 21:55:11 +04:00
Alexander Udalov
202524ab03 Get rid of recordSourceForSynthesized
Sam descriptors now implement a common interface
SynthesizedCallableMemberDescriptor, introduced in frontend.
BindingContext.SOURCE_DESCRIPTOR_FOR_SYNTHESIZED is no longer needed
2013-09-04 21:55:11 +04:00
Alexander Udalov
56ca247509 Improve JavaElement collection util
Get rid of giant code duplication
2013-09-04 21:55:11 +04:00
Alexander Udalov
eef86b4191 Get rid of getPsi() methods in JavaElement/JavaType hierarchy 2013-09-04 21:55:10 +04:00
Alexander Udalov
7e704832ed Add inner classes to duplicateLibraries test 2013-09-04 21:55:10 +04:00
Alexander Udalov
31a13dc688 JavaPackage.getClasses() shouldn't be used directly 2013-09-04 21:55:10 +04:00
Alexander Udalov
e62a2bbf2f Support any constant expressions as annotation arguments 2013-09-04 21:55:10 +04:00
Alexander Udalov
a17328f9d3 Minor, move ABI version error reporting
AbiVersionUtil will be used in descriptors.loader.java, so it cannot depend on
BindingTrace
2013-09-04 21:55:10 +04:00
Alexander Udalov
a2e4029bb5 Use ServiceLoader to load different implementations 2013-09-04 21:55:10 +04:00
Alexander Udalov
026d76ea42 Include META-INF/services in kotlin-compiler.jar
Otherwise services loaded with ServiceLoader wouldn't work in the standalone
compiler
2013-09-04 21:55:10 +04:00
Alexander Udalov
6549a1d10b Minor, polish JavaClass
- move utility methods out from JavaClass to the usage site
- JavaClassifier extends JavaNamedElement
2013-09-04 21:55:10 +04:00
Alexander Udalov
5af28cd953 Make JavaElementImpl generic on underlying PSI type 2013-09-04 21:55:09 +04:00
Alexander Udalov
4cd238ddde Pull down getPsi() method from JavaElement 2013-09-04 21:55:09 +04:00
Alexander Udalov
714dbe2df3 Move JavaElement implementations to 'impl' package 2013-09-04 21:55:09 +04:00
Alexander Udalov
ac4561a9e2 Extract interface out of JavaClass 2013-09-04 21:55:09 +04:00
Alexander Udalov
c64cfd7f76 Untie JavaTypeSubstitutor.EMPTY from PsiSubstitutor 2013-09-04 21:55:09 +04:00
Alexander Udalov
d14a7282ba Extract interface out of JavaTypeSubstitutor 2013-09-04 21:55:09 +04:00
Alexander Udalov
2eb5754289 Extract interface out of JavaTypeProvider 2013-09-04 21:55:09 +04:00
Alexander Udalov
7f77290505 Extract interface out of JavaValueParameter 2013-09-04 21:55:09 +04:00
Alexander Udalov
8c1349b90e Extract interface out of JavaTypeParameter 2013-09-04 21:55:08 +04:00
Alexander Udalov
214f290de7 Extract interface out of JavaSignatureFormatter 2013-09-04 21:55:08 +04:00
Alexander Udalov
f6b43bb7b2 Extract interfaces out of Java*Type 2013-09-04 21:55:08 +04:00
Alexander Udalov
08bf7f8eee Create abstract JavaElementFactory
Needed to wrap the logic of creation of elements/types, right now only array
types
2013-09-04 21:55:08 +04:00
Alexander Udalov
9f44a1eb0d Extract interface out of JavaType 2013-09-04 21:55:08 +04:00
Alexander Udalov
d364834168 Extract interfaces out of Java*AnnotationArgument 2013-09-04 21:55:08 +04:00
Alexander Udalov
90e0d51463 Extract interface out of JavaAnnotationArgument 2013-09-04 21:55:07 +04:00
Alexander Udalov
2191073761 Minor, remove useless method 2013-09-04 21:55:07 +04:00
Alexander Udalov
dc048f0edd Extract interface out of JavaAnnotation 2013-09-04 21:55:07 +04:00
Alexander Udalov
912d3426a4 Extract interface out of JavaClassifier 2013-09-04 21:55:07 +04:00
Alexander Udalov
4f99cb6999 Extract interface out of JavaPackage 2013-09-04 21:55:07 +04:00
Alexander Udalov
49a19705d1 Extract interface out of JavaMethod 2013-09-04 21:55:07 +04:00
Alexander Udalov
37beb9e50f Extract interface out of JavaField 2013-09-04 21:55:07 +04:00
Alexander Udalov
ed146e51f9 Add an abstraction over ProgressIndicationProvider 2013-09-04 21:55:07 +04:00
Alexander Udalov
28367a412a Remove different usages of Guava and intellij-core from JDR 2013-09-04 21:55:06 +04:00
Alexander Udalov
b9f96fe960 Introduce JavaClass.OriginKind
Answers to the question: where had this class originated from
2013-09-04 21:55:06 +04:00
Alexander Udalov
2d58bd571e Extract JavaResolverPsiUtils
Will contain PSI-specific JDR utilities
2013-09-04 21:55:06 +04:00
Alexander Udalov
2328902c7f Minor refactoring in MembersCache
Inline methods, provide a sane public interface
2013-09-04 21:55:06 +04:00
Alexander Udalov
a5ad63c8b6 Copy and adapt TypeConversionUtil#erasure
This helps to separate SAM resolution from PSI
2013-09-04 21:55:06 +04:00
Alexander Udalov
2b1a2c9988 Extract ExternalAnnotationResolver 2013-09-04 21:55:06 +04:00
Alexander Udalov
d5e47a61ad Extract JavaMemberResolver out of JDR
JavaDescriptorResolver had a lot of methods which were used only in Java*Scope.
This is not good because JDR is a facade class that everyone uses from outside
and it's not required to find methods/fields/...
This logic is now extracted to JavaMemberResolver, which is passed to a scope
and is used to resolve its members ('members' here means classes, namespaces,
functions, properties, constructors)
2013-09-04 21:55:05 +04:00
Alexander Udalov
5eb82ae45b Extract signature checking logic into an interface
Combine JavaMethodSignatureUtil and RawTypesCheck utility classes into a new
PsiBasedMethodSignatureChecker
2013-09-04 21:55:05 +04:00
Alexander Udalov
e93c573898 Create JavaSignatureFormatter, a wrapper over PsiFormatUtil 2013-09-04 21:55:05 +04:00
Alexander Udalov
94a99d33ea Get rid of trace in JavaSupertypeResolver
The only place where it was used was INCOMPLETE_HIERARCHY report, which didn't
work at all (added TODO about it)
2013-09-04 21:55:05 +04:00
Alexander Udalov
af2c03ad70 Get rid of trace in JavaClassResolver and JavaNamespaceResolver
Create TraceBasedErrorReporter which reports ABI errors to the trace
2013-09-04 21:55:05 +04:00
Alexander Udalov
ab0224ef5c Minor, KotlinClassFileHeader now exposes a FqName 2013-09-04 21:55:05 +04:00
Alexander Udalov
adc5f251ef Add source descriptors lookup to JavaResolverCache
Use JavaResolverCache instead of BindingTrace in JavaClassResolver and
JavaNamespaceResolver
2013-09-04 21:55:05 +04:00
Alexander Udalov
640b05cfe9 Extract enum method utilities from DescriptorResolver
Create overloaded versions which accept JetType as a parameter to use them in
JDR where there's no deferred types
2013-09-04 21:55:05 +04:00
Alexander Udalov
d34a6d85e7 Remove BindingTrace from Java function and property resolvers
Extract FakeOverrideVisibilityResolver which invokes OverrideResolver with the
trace
2013-09-04 21:55:04 +04:00
Alexander Udalov
480ef9ea66 Create JavaResolverCache
An abstraction over BindingTrace which will be used in JDR
2013-09-04 21:55:04 +04:00
Alexander Udalov
760e4002cf Extract interface out of ExternalSignatureResolver 2013-09-04 21:55:04 +04:00
Alexander Udalov
16d63f6109 Create PropagatedMethodSignature nested class
Should be an abstraction over SignaturesPropagationData
2013-09-04 21:55:04 +04:00
Alexander Udalov
1cc4b42756 Use ExternalSignatureResolver to resolve field signatures 2013-09-04 21:55:04 +04:00
Alexander Udalov
be3d835203 Refactor alternative method signatures
Create ExternalSignatureResolver which can resolve propagated and alternative
signatures, use it in JavaFunctionResolver and JavaConstructorResolver.

Move JavaValueParameterResolver.ValueParameters to SignaturesPropagationData,
since elsewhere it always had receiverType = null
2013-09-04 21:55:04 +04:00
Alexander Udalov
45346071a3 Minor, encapsulate logic 2013-09-04 21:55:04 +04:00
Alexander Udalov
517567fd24 Get rid of SAM_CONSTRUCTOR_TO_INTERFACE
use SamConstructorDescriptor instead
2013-09-04 21:55:04 +04:00
Alexander Udalov
4a620dfcbb Get rid of SAM_ADAPTER_FUNCTION_TO_ORIGINAL
Use SAM adapters hierarchy instead
2013-09-04 21:55:04 +04:00
Alexander Udalov
f76942fd19 Get rid of JavaBindingContext.IS_DECLARED_IN_JAVA
Create specialized Java descriptor classes instead
2013-09-04 21:55:03 +04:00
Alexander Udalov
70c7fbc6d1 Refactor override resolution in JDR
Unify the code between JavaFunctionResolver and JavaPropertyResolver
2013-09-04 21:55:03 +04:00
Alexander Udalov
520f812030 getContainingClass() is never null for methods and fields 2013-09-04 21:55:03 +04:00
Alexander Udalov
4e1fb7e0eb Add JavaValueParameter.isVararg() 2013-09-04 21:55:03 +04:00
Alexander Udalov
be5ba7fa0d Migrate PropagationHeuristics from PSI to JavaElement
Aside from refactorings, minor changes in logic are made:
- to find out if a type of a value parameter is vararg ('ellipsis type'), we
  now check if the method is vararg and the parameter is its last parameter
  (instead of 'instanceof PsiEllipsisType')
- 'visitedSuperclasses' is now a Set: this better reflects what it's supposed
  to represent. Also result check of the 'add()' method on a List was useless
2013-09-04 21:55:03 +04:00
Alexander Udalov
2c4c1d7cc6 hashCode, equals, toString for JavaElement 2013-09-04 21:55:03 +04:00
Alexander Udalov
34a552abfc Migrate the rest of resolvers from PSI to JavaElement
JavaMethodSignatureUtil needs to be handled specially later
2013-09-04 21:55:03 +04:00
Alexander Udalov
f1892372eb Move and rename JDR.ValueParameterDescriptors 2013-09-04 21:55:02 +04:00
Alexander Udalov
cc45cf2a4e Rename JavaSignatureResolver to TypeParameterResolver
Also rename 'parameterResolver' field to 'valueParameterResolver'
2013-09-04 21:55:02 +04:00
Alexander Udalov
944d1fc59e Refactor JavaSignatureResolver
Now it has the only method returning Initializer, an object which can be told
to initialize resolved descriptors later, or to obtain these descriptors.
Delete useless methods, combine the remaining ones
2013-09-04 21:55:02 +04:00
Alexander Udalov
a1f3a56c25 Refactor TypeVariableResolver
Delete 'context' field which was used only for debugging
2013-09-04 21:55:02 +04:00
Alexander Udalov
04516376c0 Migrate SAMUtils from PSI to JavaElement
- create JavaTypeSubstitutor as a mirror for PsiSubstitutor
- copy-paste MethodSignatureUtil.areSignaturesErasureEqual() and migrate it to
  JavaTypeSubstitutor
- use a pair of method and substitutor instead of
  'MethodSignatureBackedByPsiMethod'
- add JavaClass.getDefaultType() which goes into JavaPsiFacade and creates an
  unsubstituted PsiClassType for the class
- green code

The only PSI usage left is TypeConversionUtil.erasure(), which needs to be
copied and migrated somehow
2013-09-04 21:55:02 +04:00
Alexander Udalov
a3d9d4fe66 Move classes around in java-specific parts of compiler
- move JetClsMethod and JetJavaMirrorMarker to 'jetAsJava' package
- move JetClsMethodImpl out of 'wrappers' packages
- move TypeVariableResolver to 'resolver' package, make it package-local
- move MembersCache and NamedMembers to 'scope', make the former package-local
2013-09-04 21:55:02 +04:00
Alexander Udalov
c18615f704 Rename JavaCompileTimeConstResolver to AnnotationArgumentResolver 2013-09-04 21:55:02 +04:00
Alexander Udalov
f98a949fdd Migrate JavaAnnotationResolver from PSI to JavaElement
Create a bunch of annotation argument classes, which serve as wrappers over
PsiAnnotationMemberValue class, but also have a Name
2013-09-04 21:55:02 +04:00
Alexander Udalov
7b945c2313 Migrate JavaTypeTransformer from PsiType to JavaType
Add more wrapper methods to JavaClassifierType.

Inline the utility method adjustTypeUsageWithMutabilityAnnotations to the two
places where it was used. Also add JavaAnnotationOwner and change signature of
JavaAnnotationResolver to take JavaAnnotationOwner, not PSI
2013-09-04 21:55:01 +04:00
Alexander Udalov
732378d837 Rename JavaClassType to JavaClassifierType 2013-09-04 21:55:01 +04:00
Alexander Udalov
c1d40f1e15 Introduce JavaClassifier
JavaClassifier is a common type for JavaClass and JavaTypeParameter. In almost
all of the places JavaClass remains to be JavaClass, except for the resolution
result of JavaClassType, which can be a type parameter. Add an assertion that
JavaClass is created only for a class and not for a type parameter. Delete
different creations of JavaClass in 'idea' (where there can be a type
parameter) by changing the interface of util functions.

Delete JavaModifierListOwnerImpl, extract its methods into JavaElementUtil and
use these implementations for every JavaModifierListOwner

Continue refactoring JavaTypeTransformer to work with JavaType, not PsiType
2013-09-04 21:55:01 +04:00
Alexander Udalov
787d8a5234 Refactor JavaTypeTransformer and ValueParameterResolver
Use an instanceof-chain on a JavaType instance instead of PsiTypeVisitor in
TypeTransformer. Add a special method to handle vararg types, use it in
ValueParameterResolver
2013-09-04 21:55:01 +04:00
Alexander Udalov
f669771b7e Introduce JavaType and subclasses
Use JavaType instead of PsiType whenever possible.

In this commit the logic of checking whether a loaded parameter is a vararg
changed: instead of checking if the corresponding PsiType is PsiEllipsisType we
now check if the containing method has the ACC_VARARG modifier
2013-09-04 21:55:01 +04:00
Alexander Udalov
998e598846 Refactor JavaConstructorResolver
Extract methods, fix warnings, use JavaClass/JavaMethod instead of Psi
2013-09-04 21:55:01 +04:00
Alexander Udalov
62868421cf Minor, green code & move type transformer to "resolver/" 2013-09-04 21:55:01 +04:00
Alexander Udalov
78f9cb7203 Get rid of PsiMemberWrapper
Continue migration, use the new Java* classes instead everywhere
2013-09-04 21:55:01 +04:00
Alexander Udalov
245b9d1ab1 Minor, change method parameter from String to JvmClassName 2013-09-04 21:55:00 +04:00
Alexander Udalov
55af245867 Migrate JavaClassResolver from PSI to JavaClass
Several places are still left and need special handling.  The overall behavior
of the resolver should not change in this commit (except for maybe different
small operations like creating names, fq-names, ...)
2013-09-04 21:55:00 +04:00
Alexander Udalov
de54f7d732 JavaClass, JavaPackage, JavaAnnotation
Create dumb wrappers over PSI elements, will be used for loading descriptors
from JVM reflection later (instead of PSI)
2013-09-04 21:55:00 +04:00
Alexander Udalov
eaacff4566 Remove RuntimeHandleClassesMode
There were two usages of RuntimeHandleClassesMode.REPORT_ERROR: first in tests,
where it never occurred, second in JavaClassResolver, where it's now inlined
2013-09-04 21:55:00 +04:00
Alexander Udalov
4eb9f28312 Remove useless PsiClass parameter
It was used only for a debug message and an assertion that never happened
2013-09-04 21:55:00 +04:00
Alexander Udalov
cc81d12b55 Remove useless methods from PsiClassFinder
Their only implementations called methods on a parameter + a utility. Move the
utility to DescriptorResolverUtils
2013-09-04 21:55:00 +04:00
Alexander Udalov
175a598e6d Delete JavaBaseScope.getPsiElement() 2013-09-04 21:55:00 +04:00
Nikolay Krasko
d399465bf3 Override omitting parentheses on tab char if they are already placed 2013-09-04 20:45:18 +04:00
Nikolay Krasko
cb10c53040 Sample testing in kotlin
CompletionHandlerTest.java -> CompletionHandlerTest.kt
2013-09-04 20:45:17 +04:00
Nikolay Krasko
ba0c9892d6 Rewrite JetFunctionInsertHandler at kotlin
JetFunctionInsertHandler.kt is a replacement for
JetFunctionInsertHandler.java
2013-09-04 20:45:17 +04:00
Nikolay Krasko
b958963cbc Remove file for getting compiler for bootstrap 2013-09-04 16:27:30 +04:00
Nikolay Krasko
b819c2c342 Remove outdated groovy formatting options 2013-09-04 16:27:15 +04:00
Andrey Breslav
db2b19c50f Support filtering diagnostics in tests 2013-09-04 13:07:25 +04:00
Nikolay Krasko
f89841a4ef Merge pull request #302 from sayon/indents
Better autoformatting
2013-09-03 23:58:18 -07:00
Alexander Udalov
723d5ef564 Fix default argument method calls
In some cases, calls of methods with default arguments were invoked via the
actual generated method, not via the "...$default" accessor
2013-09-03 22:26:05 +04:00
Svetlana Isakova
329d724c1e fixed compilation 2013-09-03 21:33:42 +04:00
sayon
a3bfd25825 Formatter: now always adds space between reference expression and function literal. Test is included.
#KT-3932 fixed
2013-09-03 21:06:22 +04:00
sayon
a0500f56d2 New setting and test: space before lambda arrow
#KT-3932 fixed
2013-09-03 21:05:17 +04:00
sayon
523a5bf6a9 New setting and test: space around arrow in function types 2013-09-03 21:04:22 +04:00
sayon
965265b8b8 Formatting: omit blank lines between 'when' and left brace. Test is included. 2013-09-03 21:03:17 +04:00
sayon
f8b280ba57 New setting and test: space around arrow inside 'when' 2013-09-03 20:59:56 +04:00
sayon
ec31808dcd A bigger code example for codestyle provider 2013-09-03 20:58:58 +04:00
Svetlana Isakova
a53eae79b5 bug fixed: analyze arguments in FREE expression position 2013-09-03 19:56:20 +04:00
Svetlana Isakova
b5e6568726 bug fixed: do not substitute type parameters twice
through final argument check
2013-09-03 19:50:00 +04:00
Svetlana Isakova
a49dcc0dd4 analyze when entry in independent context 2013-09-03 17:05:21 +04:00
Alexey Sedunov
7357add55c Implement search of derived Kotlin classes/traits and Java classes/interfaces 2013-09-03 14:26:34 +04:00
Alexey Sedunov
a7e46a4ba7 Implement search of class members usages 2013-09-03 14:26:33 +04:00
Alexey Sedunov
b2d1f8d323 Add separate search of constructor usages 2013-09-03 14:26:32 +04:00
Alexey Sedunov
78189e883d Add "Find usage with options" dialog for Kotlin classes 2013-09-03 14:26:31 +04:00
Alexey Sedunov
07cc295747 Extract renameCheckbox method 2013-09-03 14:26:30 +04:00
Svetlana Isakova
7fabfd8771 test data fixed
temporary
when ambiguity inner calls are not completed
2013-09-03 13:09:18 +04:00
Svetlana Isakova
79c18f1c56 test data fixed
temporary
2013-09-03 13:09:17 +04:00
Svetlana Isakova
efda014109 test data fixed
ignore error types in resolving constraints for generic functions
'if' is resolved as special function
2013-09-03 13:09:17 +04:00
Svetlana Isakova
335e0d7d1b test data fixed
can't implicitly convert to Unit any more in 'if'
as 'if' is resolved as special function call 'fun IF<T>(T, T)'
2013-09-03 13:09:17 +04:00
Svetlana Isakova
01826af806 rename: deparenthesizeWithNoTypeResolution -> deparenthesize 2013-09-03 13:09:16 +04:00
Svetlana Isakova
d9b7dd6232 fix: find key expression recursively 2013-09-03 13:09:16 +04:00
Svetlana Isakova
c242a833cb removed obsolete test
no more error 'NO_GET_METHOD' when there's get method with inappropriate signature
2013-09-03 13:09:16 +04:00
Svetlana Isakova
3f72c7a9e1 small fixes: case with function literal in a block
analyze function literals in 'independent' mode, todo comment added
2013-09-03 13:09:15 +04:00
Svetlana Isakova
c739632c57 report 'ambiguity' on reference, not on the whole expression
as other type inference errors
2013-09-03 13:09:15 +04:00
Svetlana Isakova
5a8e80399e update number types for unmapped arguments
or when there is no candidate found
2013-09-03 13:09:15 +04:00
Svetlana Isakova
cf85e4de36 refactoring: moved methods 2013-09-03 13:09:14 +04:00
Svetlana Isakova
5f029c4c57 small refactoring 2013-09-03 13:09:14 +04:00
Svetlana Isakova
0084b68176 analyze incomplete 'in' expression 2013-09-03 13:09:14 +04:00
Svetlana Isakova
da07d60ad6 checked for 'isBinaryExpressionDependentOnExpectedType'
both in analyzing expressions & completion phase
2013-09-03 13:09:13 +04:00
Svetlana Isakova
cf22bc7c35 added checkType of TypeInfo method 2013-09-03 13:09:13 +04:00
Svetlana Isakova
70b11f6d39 refactoring: extracted methods for visiting special binary expressions 2013-09-03 13:09:13 +04:00
Svetlana Isakova
8b27c72736 removed UNKNOWN_EXPECTED_TYPE
it's NO_EXPECTED_TYPE + ContextDependency.DEPENDENT
2013-09-03 13:09:12 +04:00
Svetlana Isakova
92611e1460 used usual trace instead of dummy one in tests
is necessary for 'if' tests
2013-09-03 13:09:12 +04:00
Svetlana Isakova
58158ab30b ++wrap if branches in blocks 2013-09-03 13:09:12 +04:00
Svetlana Isakova
a493125a75 refactoring: fixes after review
rename, removed unnecessary methods, improved test
2013-09-03 13:09:11 +04:00
Svetlana Isakova
ae086d883f fixed test after changed type inference error message
changed order or 'found' and 'required' types
2013-09-03 13:09:11 +04:00
Svetlana Isakova
fa9959cdb5 refactoring: extracted all diagnostic messages to 'diagnostics' list
fixed test after messages order changed
2013-09-03 13:09:11 +04:00
Svetlana Isakova
928133b69b small fixes after review 2013-09-03 13:09:10 +04:00
Svetlana Isakova
164da12518 LabelResolver moved to ResolutionContext
(from ExpressionTypingContext)
2013-09-03 13:09:10 +04:00
Svetlana Isakova
fd5a2056c1 analyze labeled function literals as usual ones
(specially as function literals, not as other expressions)
2013-09-03 13:09:10 +04:00
Svetlana Isakova
8f29968183 test data updated
arguments analyzed even if there's type inference error
2013-09-03 13:09:09 +04:00
Svetlana Isakova
9093d4c373 wrap if branches in blocks 2013-09-03 13:09:09 +04:00
Svetlana Isakova
1861a335f6 always analyze 'if' as a call
not only if it's analyzed as an argument
2013-09-03 13:09:09 +04:00
Svetlana Isakova
5af15d607d removed obsolete use of temporary trace 2013-09-03 13:09:08 +04:00
Svetlana Isakova
a6162cf5ba fixed: dataFlowInfoForArguments was not set in call candidate context 2013-09-03 13:09:08 +04:00
Svetlana Isakova
52848f6aa4 Use temporary cache when resolve function literals twice 2013-09-03 13:09:08 +04:00
Svetlana Isakova
7fce75bc1f removed unnecessary parameter
resolve argument without temporary trace
(it's resolved and put to call trace in the beginning anyway)
2013-09-03 13:09:08 +04:00
Svetlana Isakova
30b0a72c6b analyze all arguments with unknown expected type
in the beginning of call resolution process
2013-09-03 13:09:07 +04:00
Svetlana Isakova
c8fc2c882d refactoring: extracted method 'getTypeOfLastExpressionInBlock' 2013-09-03 13:09:07 +04:00
Svetlana Isakova
33ab7a3789 added UNIT_EXPECTED_TYPE
use it for coercion to unit instead of repeating analysis twice
2013-09-03 13:09:07 +04:00
Svetlana Isakova
756cb3759b fixed: use function placeholder when there is no declared value parameter list
(not when there is no value parameters)
2013-09-03 13:09:06 +04:00
Svetlana Isakova
358c1d6f71 fixed ArrayIndexOutOfBoundsException in quick fix util
(in 'getParameterCorrespondingToValueArgumentPassedInCall')
2013-09-03 13:09:06 +04:00
Svetlana Isakova
623c6e50e1 removed unused method 2013-09-03 13:09:06 +04:00
Svetlana Isakova
dc51a2d238 analyze a lot of expressions in independent of context (expected type) mode 2013-09-03 13:09:05 +04:00
Svetlana Isakova
fbd94a9507 rename ResolveMode to ContextDependency 2013-09-03 13:09:05 +04:00
Svetlana Isakova
d26806a5ed update number value type properly 2013-09-03 13:09:04 +04:00
Svetlana Isakova
46b099c858 added deparenthesizeBinaryExpressionWithTypeRHS
param to deparenthesize
2013-09-03 13:09:04 +04:00
Svetlana Isakova
c0f7a82b15 fixed result type for elvis operator
return type for special call for elvis operator might be nullable
but result is not nullable if the right type is not nullable
2013-09-03 13:09:04 +04:00
Svetlana Isakova
656597e0e2 removed obsolete code
selector of qualified expression can't be qualified expression itself
2013-09-03 13:09:04 +04:00
Svetlana Isakova
6429239f3f rewrote analyzing expression with type rhs
removed unnecessary temporary trace (and so extra 'getType' for left expression)
2013-09-03 13:09:03 +04:00
Svetlana Isakova
4caeadc0c1 added TemporaryResolutionResultsCache
to use cache when temporary traces are used
2013-09-03 13:09:03 +04:00
Svetlana Isakova
ead5219001 assert added 2013-09-03 13:09:03 +04:00
Svetlana Isakova
7a757d2a51 changed type parameter name to special
when resolve special construction as a call
2013-09-03 13:09:02 +04:00
Svetlana Isakova
7b04755a59 through completion phase result type of call should be updated
with respect to being selector in safe call expression
2013-09-03 13:09:02 +04:00
Svetlana Isakova
4621fe6dfa resolve elvis operator as call 2013-09-03 13:09:02 +04:00
Svetlana Isakova
624eaa5aa8 refactoring: extracted 'visitElvisExpression' 2013-09-02 23:18:46 +04:00
Svetlana Isakova
aba70e047d resolve a!! as call 2013-09-02 23:18:46 +04:00
Svetlana Isakova
46cb6b3242 complete resolve for array access expression 2013-09-02 23:18:45 +04:00
Svetlana Isakova
051055896d update recorded EXPRESSION_TYPE of call expression
after type parameter inference completion
2013-09-02 23:18:45 +04:00
Svetlana Isakova
e2f681c587 report type mismatch deeply on branches for if
in type argument inference case
2013-09-02 23:18:45 +04:00
Svetlana Isakova
c5b6ee4df3 added 'commonSupertypeForPossiblyNumberTypes' 2013-09-02 23:18:45 +04:00
Svetlana Isakova
e4325cd92d resolve argument of 'if' call
with right data flow info
2013-09-02 23:18:45 +04:00
Svetlana Isakova
e37af4de67 added DataFlowInfoForArguments param to contexts 2013-09-02 23:18:45 +04:00
Svetlana Isakova
99bb6f13b5 data flow info for arg may affect next argument's type for type argument inference case 2013-09-02 23:18:45 +04:00
Svetlana Isakova
9ccd1e5ddd added DataFlowInfoForArguments
data flow info for argument depends on previous argument analysis
special interface was added to support case with argument types inference
and 'if' (with special data flow info for then and else arguments)
2013-09-02 23:18:45 +04:00
Svetlana Isakova
27cff93ed8 use data flow info in constraint system
intersect data flow value possible types
add intersection type (or exact type for the most cases) as a lower bound to constraint system

always get common super type for intersection type as a result
(avoid returning it, even in error messages)
2013-09-02 23:18:45 +04:00
Svetlana Isakova
b91846eb5d resolve 'if' as call when expected type is unknown 2013-09-02 23:18:44 +04:00
Svetlana Isakova
9eda531eea refactoring: extracted method 'reportTypeInferenceExpectedTypeMismatch'
to reuse it later from 'tracing for if'
changed required/found types order in message to synchronize it with 'TYPE_MISMATCH' error
2013-09-02 23:18:44 +04:00
Svetlana Isakova
5d2ae9aec5 added ability to resolve call with uncustomary tracing strategy
(necessary for special 'tracing for if')
2013-09-02 23:18:44 +04:00
Svetlana Isakova
7842327d20 added 'getDataFlowInfoForValueArgument' to ResolvedCall interface 2013-09-02 23:18:44 +04:00
Svetlana Isakova
9938c58354 check all upper bounds even if there are some error types in bounds
for cases like 'val l:List<Int> = id(newList())'
List<???> is a lower bound for id's type parameter here
2013-09-02 23:18:44 +04:00
Svetlana Isakova
eb1c29b507 removed code duplication
extracted 'getTypeInfoWhenOnlyOneBranchIsPresent'
2013-09-02 23:18:44 +04:00
Svetlana Isakova
0609f61ee7 added test for nontrivial nested calls 2013-09-02 23:18:44 +04:00
Svetlana Isakova
919714e027 refactoring: extracted methods
from 'completeNestedCallsInference'
2013-09-02 23:18:44 +04:00
Svetlana Isakova
0849798af0 report only 'The value is out of range'
not 'An integer literal does not conform to the expected type Int/Long'
2013-09-02 23:18:44 +04:00
Svetlana Isakova
f2746b835e report ERROR_COMPILE_TIME_VALUE for constants instead of TYPE_MISMATCH
(functionality returned)
2013-09-02 23:18:44 +04:00
Svetlana Isakova
6bb768892f added todo comment 2013-09-02 23:18:43 +04:00
Svetlana Isakova
fa1740a26e changed way to compute common supertype for number types
(using only supertypes, not exact value)
2013-09-02 23:18:43 +04:00
Svetlana Isakova
fccfa0051e added DoubleValueTypeConstructor
no need to store exact value in IntegerValueTypeConstructor, it was removed
2013-09-02 23:18:43 +04:00
Svetlana Isakova
8b7585af66 added diagnostic message tests to ensure that number value types don't appear in error messages 2013-09-02 23:18:43 +04:00
Svetlana Isakova
80eb45b793 process number value types properly in constraint system
the case when type parameter has number value types (constants) as lower bounds
should be handled specially, because upper bound for primitive number types is 'Number',
but by default we want Int (or Long)
2013-09-02 23:18:43 +04:00
Svetlana Isakova
517c24c8f6 added UNKNOWN_EXPECTED_TYPE, NumberValueTypeConstructor
analyze function arguments with UNKNOWN_EXPECTED_TYPE
(for several times in different traces yet)

for number literals create type with NumberValueTypeConstructor with exact value,
transform it to the corresponding type when resolve arguments (expected type is known)

doesn't work properly for if, elvis operator, etc. (throws exceptions)
2013-09-02 23:18:43 +04:00
Svetlana Isakova
8d0573f448 added 'isDenotable' flag to TypeConstructor 2013-09-02 23:18:43 +04:00
Svetlana Isakova
d1a21bfd3e changed comparison to NO_EXPECTED_TYPE to
'noExpectedType' invocation
2013-09-02 23:18:43 +04:00
Svetlana Isakova
0eed0c6c7f extracted 'getResultingCall' method
rewrote 'getResultingType' in terms of it
2013-09-02 23:18:43 +04:00
Svetlana Isakova
2eadd5202d check argument types through complete phase
with right data flow info
2013-09-02 23:18:42 +04:00
Svetlana Isakova
4f2df78066 analyze all function arguments without expected types
arguments are now analyzed for several times, for each resolution candidate;
the goal is to analyze them once

todo (don't work properly):
 - number literals
 - if/when expressions
2013-09-02 23:18:42 +04:00
Svetlana Isakova
543e0343c5 moved ResolveMode, ResolutionResultsCache
from CallResolutionContext to ResolutionContext
2013-09-02 23:18:42 +04:00
Nikolay Krasko
6641563044 Store files with the replaced version in separate folder to prevent putting them to artifacts 2013-09-02 15:31:06 +04:00
Nikolay Krasko
e54784efcc Convert line separators when checking test results 2013-09-02 15:31:05 +04:00
Nikolay Krasko
215e736d65 Enable debug for slice rewrite in delegation traces 2013-09-02 15:31:04 +04:00
Evgeny Gerashchenko
440716c817 Updated to IDEA 132.27 EAP. 2013-08-30 21:08:23 +04:00
Pavel Talanov
e29c593c58 Fix check in JetQuickDocumentationProvider#isKotlinDeclaration
Always return true if we navigated to JetElement
2013-08-30 17:41:38 +04:00
Pavel Talanov
1072b1943f Provide sources of dependency in AbstractJavaWithLibCompletionTest
Test compiles dependency before running
2013-08-30 17:41:37 +04:00
develar
3bf32c09a9 JS backend: added ability to debug kotlin code in browser with using JavaScript Debugger configuration.
(cherry picked from commit 8537ce4, 72eeb92)
2013-08-30 13:18:13 +04:00
develar
b3658472ac JS backend: improved sourcemap generation and moved SourceMap3Builder and JsSourceGenerationVisitor to kotlin sources from dart-ast(develar fork).
#KT-927 in progress

(cherry picked from commit 10fb0f9)
2013-08-30 13:18:12 +04:00
develar
e05ffd03c3 JS backend: sourcemap should use absolute file urls.
#KT-927 in progress

(cherry picked from commit 8931d26)
2013-08-30 13:17:53 +04:00
develar
3ab095a4f5 JS backend: started to implement source maps
#KT-927 in progress

(cherry picked from commits 5543cda, 6ed296b, 11186f9, 5b84d0b)
2013-08-30 13:17:20 +04:00
develar
e39943f9bd JS backend: report expression location on error in StringTemplateTranslator.
(cherry picked from commit a2765d3)
2013-08-29 21:45:27 +04:00
develar
1c173c5224 JS backend: improve compilation performance -- don't create extra list.
(cherry picked from commit 2d7cb8a and f3d9f73)
2013-08-29 21:45:27 +04:00
develar
4f9485b40e JS backend: fixed bug when explicitly use invoke method in function literal call.
(cherry picked from commit f832cee)
2013-08-29 21:45:27 +04:00
develar
f08cb5f6ca JS backend: inline private class ExtensionCallConstructor to place of use.
(cherry picked from commit 4d17e96)
2013-08-29 21:45:26 +04:00
develar
92e76d18d9 JS backend: change name mangling -- right now before indexing we sort functions by Visibility and Modality.
(cherry picked from commit 7620a07)
2013-08-29 21:45:26 +04:00
develar
8789a0d648 JS backend: refactoring 'is' operator translation. 2013-08-29 21:45:26 +04:00
develar
df0a218015 JS backend: generate ref for not public api open classes as ref to internal class pool (_c var), but not to namespace definition.
(cherry picked from commit fa3db43)
2013-08-29 21:45:25 +04:00
develar
c27fb10f5a JS backend: improve and move getQualifiedReference function from TranslationUtils to TranslationContext and StaticContext.
(cherry picked from commit fa3db43)
2013-08-29 21:45:25 +04:00
develar
3f0c1b2645 JS backend: elvis operator must compare value with undefined.
(cherry picked from commit 3978a8e)
2013-08-29 21:45:24 +04:00
develar
4b0cbb5dbf JS backend: removed unnecessary code -- the "toStringHack" Role
(cherry picked from commit 902d323)
2013-08-29 21:45:24 +04:00
develar
6ff784efc1 JS backend: fixed wrong @lends annotation when using nested packages. 2013-08-29 21:45:24 +04:00
develar
b122893823 JS backend: fixed closure variables in object which declared in another object in method.
(cherry picked from commit f3e8325)
2013-08-29 21:45:23 +04:00
develar
39ccf418c0 JS backend: don't create local var if open class is not referenced from another open class.
(cherry picked from commit fdf650f)
2013-08-29 21:45:23 +04:00
develar
43db01d7ce JS backend: don't create namespace entry if it is empty.
(cherry picked from commit 79d9ef4)
2013-08-29 21:45:22 +04:00
develar
481cee16c5 JS backend: ensure enumerability for object literal properties.
Namespace lends annotation improved (root).

(cherry picked from commit 246c001)
2013-08-29 21:45:07 +04:00
develar
0daf2c6a79 JS backend: added @lends annotation for namespace members (ecma5 only)
(cherry picked from commit 9ae9a60)
2013-08-29 21:25:15 +04:00
develar
39a135c824 JS backend: support object declaration in other declarations.
#KT-2696 fixed

(cherry picked from commits 8931d13, 627b100 and f6b8686)
2013-08-29 21:25:15 +04:00
develar
4544990188 JS backend: refactoring -- prepare to fix KT-2696 2013-08-29 21:24:10 +04:00
develar
92eb4a5f1f JS backend: fixed wrong behavior when using nullable type in string template.
(cherry picked from commit 3a16e95)
2013-08-29 21:20:08 +04:00
Zalim Bashorov
596e0b0acc JS backend: cleanup -- drop NUL symbols 2013-08-29 21:20:08 +04:00
Andrey Breslav
1e91fb8d27 Using annotations from reexported libraries 2013-08-29 20:30:34 +04:00
Andrey Breslav
323bbe00cc Constants moved to the top 2013-08-29 20:30:33 +04:00
Natalia.Ukhorskaya
fa4d771a94 Merge remote-tracking branch 'origin/pr/303' 2013-08-29 19:44:08 +04:00
Mohammad Shamsi
32c34a3740 KT-3893 Fixed
- Added modifier check for parameters in constructors.
- Added modifier check for parameters in functions.
- Added modifier check for parameters in try/catch
2013-08-29 22:08:26 +08:00
Alexander Udalov
9e7aa69eb7 Resurrect JetValueParameter
Its name() and type() methods are still used in Kara (the latter just to check
if the type is nullable, so only the first character is needed)
2013-08-29 16:48:09 +04:00
Alexander Udalov
d84ab4423f Support enums as annotation arguments in deserialized Kotlin descriptors 2013-08-29 16:48:09 +04:00
Alexander Udalov
de062274e9 Extract getEnumEntriesScope utility method 2013-08-29 16:48:09 +04:00
Nikolay Krasko
c0a30929c1 Add ability to configure build type id for downloading bootstrap compiler 2013-08-29 16:08:29 +04:00
Nikolay Krasko
c246c325f4 Add dependency for idea module from kotlin runtime 2013-08-29 14:11:35 +04:00
Nikolay Krasko
05e48d5d77 Setup downloading kotlin plugin
TeamCity will use downloaded jps plugin for build
2013-08-29 14:11:30 +04:00
Andrey Breslav
87293a8831 Navigation to invoke() from {}
Example:

foo <caret>{}
2013-08-28 15:26:47 +04:00
Andrey Breslav
a53986e1d6 Navigation to iterator(), next(), hasNext() through 'in' in for-loops 2013-08-28 14:46:58 +04:00
Andrey Breslav
6fcccff31b Common code extracted 2013-08-28 14:13:36 +04:00
Andrey Breslav
b7153d7398 Common methods related to references are pulled up 2013-08-28 13:57:56 +04:00
Andrey Breslav
aa6a509e8d A navigation test for one fake override 2013-08-28 13:52:46 +04:00
Andrey Breslav
9fa8ee10dc Tests for navigation to property delegates' accessors 2013-08-28 13:49:52 +04:00
Andrey Breslav
d19b3a5628 Do not break the string after REF: by commas
Example:
// REF: (in Foo).bar(Any?,Any?)

When broken by commas it produces a wrong list of expected references
Solution:
* Use findLinesWithPrefixesRemoved() instead of findStringWithPrefixes()
2013-08-28 13:49:52 +04:00
Andrey Breslav
7c3e30775a More information in the assertion message 2013-08-28 13:49:52 +04:00
Andrey Breslav
945786e628 Rename 2013-08-28 13:49:52 +04:00
Andrey Breslav
2aca1dbbcd Navigation to get/set in property delegates when they are located in the libraries 2013-08-28 13:49:52 +04:00
Andrey Breslav
e53d1773ae Support navigation to get/set methods of a property delegate, if they are in the source code 2013-08-28 13:49:52 +04:00
Andrey Breslav
ff13ba87ac Code simplified 2013-08-28 13:49:52 +04:00
Pavel V. Talanov
7920321e3d Do not try to write KotlinPackage annotation if package class is not generated 2013-08-27 19:03:04 +04:00
Andrey Breslav
16d656c7af Fixing tests after adding a new intention 2013-08-27 15:58:22 +04:00
Andrey Breslav
5c58cb946c Support exported dependencies 2013-08-27 15:48:18 +04:00
Andrey Breslav
3002ac96f0 Supported converting member properties to extensions
Additionally, we now generate <selection>throw UnsupportedOperationException()</selection> when a missing body is added
2013-08-27 15:03:27 +04:00
Andrey Breslav
c02f0a7d04 Intention to convert a member to an extension 2013-08-27 15:03:27 +04:00
Andrey Breslav
acfb85e3fd Useless generic parameter removed 2013-08-27 15:03:27 +04:00
Andrey Breslav
ca3d7f9780 Assertion message 2013-08-27 15:03:27 +04:00
Alexander Udalov
fabf2bf46e Use Quartz engine on Mac for 'IDEA' run configuration
This enables anti-aliased fonts and nice looks in internal IDEA run
configurations. It's turned on by default in the shipped version of IDEA
2013-08-27 13:49:09 +04:00
Pavel V. Talanov
e0c9328969 Remove unused DependencyClassByQualifiedNameResolver#resolveNamespace 2013-08-26 22:15:08 +04:00
Pavel V. Talanov
881a633ba0 Get rid of DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN
Rename other constants in DescriptorSearchRule
Inline methods with default values for DescriptorSearchRule
2013-08-26 22:07:36 +04:00
Pavel V. Talanov
e70d6bbf71 Add caching by project to decompiled data 2013-08-26 17:58:54 +04:00
Pavel V. Talanov
78818e7a31 Use new JetDecompiledData to navigate to declarations in decompiled files 2013-08-26 17:58:52 +04:00
Pavel V. Talanov
385c15d0e2 Restructure JetDecompiledData
JetDecompiledData now stores file text and uses descriptors serialized to String to find declarations
2013-08-26 17:58:51 +04:00
Pavel V. Talanov
b634792356 Use VirtualFileFinder in AnnotationDescriptorDeserializer 2013-08-26 17:58:50 +04:00
Pavel V. Talanov
7d50a8c6ea Use VirtualFileFinder in JavaNamespaceResolver 2013-08-26 17:58:49 +04:00
Pavel V. Talanov
e4988f9dba Use VirtualFileFinder in JavaClassResolver
HACK: determine whether fqname is a name for class contained in class or namespace based on virtual file name
This commit introduces code duplication which is hard to avoid without major refactoring
2013-08-26 17:58:48 +04:00
Pavel V. Talanov
52de4215b5 Introduce VirtualFileFinder interface
Provide different implementations in Cli and Ide
2013-08-26 17:58:47 +04:00
Pavel V. Talanov
b9f663a487 Create KotlinClassFileIndex 2013-08-26 17:58:45 +04:00
Pavel V. Talanov
4e29aad1c1 Rework invalid abi version reporting
KotlinClassFileHeader is aware of older annotations
Psi is not used to report invalid Abi version in CLI
2013-08-26 17:58:44 +04:00
Pavel V. Talanov
223c6007d2 Introduce DecompiledUtils 2013-08-26 16:00:16 +04:00
Pavel V. Talanov
e0e2d50143 KotlinClassFileHeader now saves JvmClassName for processed class
Add utility methods
Refactor static method to member methods
2013-08-26 16:00:15 +04:00
Pavel V. Talanov
dd0408d488 Add isCompiled property to JetFile 2013-08-26 16:00:14 +04:00
Pavel V. Talanov
0f8d50b44f Fix default visibility for class object in eager and lazy resolve 2013-08-26 16:00:13 +04:00
Alexander Udalov
41254a926b Regenerate compileKotlinAgainstCustomJava testData 2013-08-26 16:00:12 +04:00
Alexander Udalov
760ec99315 Regenerate topLevelMemberInvocation testData
Add a source used to generate classes
2013-08-26 16:00:11 +04:00
Alexander Udalov
fb07a4c1ab Move SAM utils from MembersCache to SAMUtils 2013-08-26 16:00:09 +04:00
Alexander Udalov
c5e37cc3de Move classes around in frontend.java
Move Java<->Kotlin class mapping to 'mapping' package, move method mapping to
'kotlinSignature' (and make it package local), delete unused methods
2013-08-26 16:00:08 +04:00
Alexander Udalov
ea7036d808 Minor, move utilities to where they are used 2013-08-26 16:00:07 +04:00
Alexander Udalov
85e7b87ccd Move java visibilities to JavaVisibilities class
Move related utilities to where they're used
2013-08-26 16:00:06 +04:00
Alexander Udalov
e1a10eb419 Delete JavaInnerClassResolver
Move its two methods to the place where they are used
2013-08-26 16:00:05 +04:00
Alexander Udalov
86013aacde Delete PsiDeclarationProvider
And its two subclasses. Replace it by package-local MembersProvider, which is
used only in java scopes, and two factory methods (for package & for class)
2013-08-26 16:00:03 +04:00
Alexander Udalov
e2d6234c9c Simplify PsiDeclarationProvider
- simplify hierarchy, now there's only two kinds of providers: for packages and
  for classes
- remove getters from providers and thus almost get rid of dependencies on them
  from the outside resolver (the only usages left are those that call
  getMembersCache)
2013-08-26 16:00:02 +04:00
Alexander Udalov
d708dc6ed4 Delete JavaSemanticServices
Almost in all places only JavaDescriptorResolver was needed. The only exception
is JavaPackageScope which needs PsiClassFinder, that is now passed as a
constructor argument.

Also merge JavaPackageScopeWithoutMembers into its superclass JavaPackageScope
2013-08-26 16:00:01 +04:00
Alexander Udalov
a0cbe80aca Delete JavaSemanticServices.getTypeTransformer()
Two clients can depend on JavaTypeTransformer directly instead of
JavaSemanticServices
2013-08-26 16:00:00 +04:00
Alexander Udalov
dbf324667f Delete PsiDeclarationProviderFactory 2013-08-26 15:59:58 +04:00
Alexander Udalov
2d7a5ebf36 Simplify injectors for frontend.java
- delete InjectorForJavaSemanticServices, replace its usages with
  InjectorForJavaDescriptorResolver
- delete unneeded fields and parameters of InjectorForJavaDescriptorResolver
2013-08-26 15:59:57 +04:00
Alexander Udalov
3bd9d9ee32 Regenerate CliTest.wrongAbiVersion test, add readme 2013-08-26 15:59:56 +04:00
Alexander Udalov
d6ca5f9416 Restore parameter annotation codegen
It was deleted accidentally during removal of old signatures in 55f9859
2013-08-26 15:59:55 +04:00
Alexander Udalov
763572663e Delete almost all code related to signature writing
Delete org.jetbrains.jet.rt.signature and jet.typeinfo packages from runtime,
refactor BothSignatureWriter so that it now writes only java generic signature
and saves parameter types and kinds
2013-08-26 15:59:54 +04:00
Alexander Udalov
5d647cac94 Delete ScopeUtils, move its only method 2013-08-26 15:59:52 +04:00
Alexander Udalov
78bd6faffc Minor, refactor JetFilesProvider 2013-08-26 15:59:51 +04:00
Alexander Udalov
155f3b3b96 Simplify TypeVariableResolver 2013-08-26 15:59:50 +04:00
Alexander Udalov
cbdc157743 Delete PsiAnnotationWrapper
Merge its logic into KotlinSignatureAnnotation, move the latter to
resolve/java/kotlinSignature, delete resolve/java/kt package
2013-08-26 15:59:49 +04:00
Alexander Udalov
bd54e070bb Get rid of dependency on PsiClass from deserialized resolver 2013-08-26 15:59:48 +04:00
Alexander Udalov
8746ee2895 Report ABI errors without PsiClass 2013-08-26 15:59:46 +04:00
Alexander Udalov
19299daacd Deserialize annotations on class object properties
Class object properties' backing fields are generated into static fields of the
containing class, not into fields of class object. For fields we now store the
flag which, if set, tells that this field should be looked for in the
containing class
2013-08-26 15:59:45 +04:00
Alexander Udalov
32c5624531 Convert between byte[] and String[] efficiently 2013-08-26 15:59:44 +04:00
Alexander Udalov
2af8dd4298 Rename package in JPS plugin tests
Package 'kotlin' is not supported until package views are implemented, because
its name clashes with the stdlib
2013-08-26 15:59:43 +04:00
Pavel V. Talanov
5ea38437c2 KotlinClassFileHeader determines what kind of annotation it contains
Add some stronger assertions about class file format
2013-08-26 15:59:42 +04:00
Pavel V. Talanov
a131592c70 Refactor: Extract utilities related to reading KotlinClass and KotlinPackage annotations to a separate class KotlinClassFileHeader 2013-08-26 15:59:40 +04:00
Pavel V. Talanov
e83c785a50 Add serialization modules as dependencies for plugin 2013-08-26 15:59:39 +04:00
Alexander Udalov
9cb19d17b0 Don't test line numbers on *Package classes
Package classes in line number tests only contain "1" as the first line number
of a single function, so there's no point in testing it. The test was failing
due to the latest changes in the order of generation of classfiles (first $src,
then facade)
2013-08-26 15:59:38 +04:00
Pavel V. Talanov
f77dd0bad6 Remove JetTypeJetSignatureReader 2013-08-26 15:59:37 +04:00
Pavel V. Talanov
a9b57a5535 Rearrange JvmStdlibNames, delete old annotations
Delete unused constants
Move constants related to abi to JvmAbi class
Constants related to annotation names are now in JvmAnnotationNames
Remove old annotation classes
Deprecate JetClass and JetPackageClass name constants
2013-08-26 15:59:36 +04:00
Pavel V. Talanov
5f108905d1 Remove testing Kotlin signature from WriteSignatureTest 2013-08-26 15:59:34 +04:00
Pavel V. Talanov
01735a0412 Do not write old annotations (JetClass and others) 2013-08-26 15:59:33 +04:00
Pavel V. Talanov
4fe78e4e7b Move utilities using annotations to determine whether PsiClass is kotlin class or package class to DescriptorResolverUtils
Fix some of the usages
PackageClassUtils uses more precise method name
2013-08-26 15:59:32 +04:00
Pavel V. Talanov
7c49374dab Minor: remove unused field 2013-08-26 15:59:31 +04:00
Pavel V. Talanov
9be16bf94c Remove logic in JavaPropertyResolver related to kotlin properties
Make logic in MembersCache clearer
Remove useless helper classes
2013-08-26 15:59:29 +04:00
Pavel V. Talanov
f5c4075837 Remove PsiClassWrapper class 2013-08-26 15:59:28 +04:00
Pavel V. Talanov
6c02f6aba8 Remove PsiParameterWrapper class 2013-08-26 15:59:27 +04:00
Pavel V. Talanov
9a76cd8472 Remove unused classes and methods in org.jetbrains.lang.resolve.java.kt package 2013-08-26 15:59:26 +04:00
Pavel V. Talanov
33d40f8a50 Use new annotations throughout JetFromJavaDescriptorHelper
Remove rest of JetClass annotation uses
2013-08-26 15:58:07 +04:00
Pavel V. Talanov
ba8732d10f Remove JvmParameterMeaning abstraction
Some code enhancements included
2013-08-23 17:39:27 +04:00
Pavel V. Talanov
1843b7bbbe Don't use DeclarationOrigin 2013-08-23 17:39:27 +04:00
Pavel V. Talanov
69295290eb Remove big chunk of code related to using old annotations 2013-08-23 17:39:27 +04:00
Pavel V. Talanov
60619a3507 KotlinAbiVersionIndex checks for KotlinClass and KotlinPackage annotations 2013-08-23 17:39:26 +04:00
Alexander Udalov
3123e57aa2 Calculate annotations once for each VirtualFile 2013-08-23 17:39:26 +04:00
Alexander Udalov
f3f0260e69 Don't test DescriptorFinder logic in KotlinClass test
LoadCompiledKotlin and DescriptorSerialization tests should cover this.
KotlinClassAnnotationTest should only test that the correct annotation is
written
2013-08-23 17:39:26 +04:00
Alexander Udalov
49604f6298 Minor, move anonymous class to private inner 2013-08-23 17:39:26 +04:00
Alexander Udalov
eff99e563b Write ProtoBuf.Package to .kotlin_package
Instead of a delimited list of callables. Also some minor refactorings
2013-08-23 17:39:26 +04:00
Alexander Udalov
be2636de0f Refactor AbstractDescriptorSerializationTest
Serialize/deserialize package members via PackageData and
DescriptorSerializer.packageProto(), delete useless code
(JavaDescriptorFinder), extract some methods, etc.
2013-08-23 17:39:25 +04:00
Alexander Udalov
9ae9870d44 Don't test annotations in DescriptorSerializationTest 2013-08-23 17:39:25 +04:00
Alexander Udalov
196b829002 Serialize packages via descriptors in codegen
Disable KotlinPackage annotation for scripts, otherwise script analyzer tries
to add descriptors to a locked scope
2013-08-23 17:39:25 +04:00
Alexander Udalov
d059a15bff Minor, make descriptor available to NamespaceCodegen 2013-08-23 17:39:25 +04:00
Alexander Udalov
8cbdb2924a Minor, make callback method empty, not abstract 2013-08-23 17:39:24 +04:00
Alexander Udalov
132f77d3c4 Minor, delete SerializerProvider 2013-08-23 17:39:24 +04:00
Alexander Udalov
2e3005e431 Minor, deserialized package scope is now not abstract 2013-08-23 17:39:24 +04:00
Alexander Udalov
b602db03f2 DescriptorFinder now can find class names in a package
This helps to get rid of "repeated class_name" field in Package protobuf
message. DescriptorFinder in resolve.java uses PSI to find all classes in a
package, and the finder for built-ins just reads .kotlin_class_names file
2013-08-23 17:39:24 +04:00
Alexander Udalov
047ed18901 Change .kotlin_class_names format a little
Before writing a list of indexes of built-in classes' names, write the length
of such a list. It helps to read this list normally (not until an exception
happens)
2013-08-23 17:39:23 +04:00
Alexander Udalov
d49a2ed613 Move Intrinsic annotation to javaClass property from its getter
This is needed because the property, not its getter, is used as a key to the
intrinsics map when codegen decides how to generate a method call. Earlier it
worked because annotations on getters of properties loaded from bytecode were
mistakenly added to annotations on properties themselves
2013-08-23 17:39:23 +04:00
Alexander Udalov
cfe9d78015 Deserialize annotations from package$src files if needed
For top-level members, we now write a FQ name of the package$src class which
has the member's annotations, and read the correct file in deserialization
2013-08-23 17:39:23 +04:00
Alexander Udalov
e63a087ee5 Minor refactoring in codegen
Replace String by JvmClassName where possible in OwnerKind, ClassFileFactory,
NamespaceCodegen, add NotNull annotations, some minor renames, etc.
2013-08-23 17:39:23 +04:00
Pavel V. Talanov
977cd7608a Split KotlinInfo annotation into two: KotlinClass and KotlinPackage
Two annotations are needed to properly distinguish package classes
2013-08-23 17:39:23 +04:00
Pavel V. Talanov
8a508fe938 Refactor: use constants instead of string literals 2013-08-23 17:39:22 +04:00
Alexander Udalov
8dd27aa298 Java serialization maps descriptors correctly
Instead of determining JVM method names, fields, types heuristically (mapType),
do it correctly: in the place where a member is generated, its descriptor and
signature are stored into MemberMap, which is queried later when we serialize
its container
2013-08-23 17:39:22 +04:00
Alexander Udalov
6035d89c33 Extract field signature out of Java property signature 2013-08-23 17:39:22 +04:00
Alexander Udalov
cf7c27ba79 Minor, Nullable/NotNull annotations 2013-08-23 17:39:21 +04:00
Alexander Udalov
87d4e35388 Deserialize annotations on class properties w/o fields
Annotations on properties without backing fields are stored on a special
synthesized method inside the class
2013-08-23 17:39:21 +04:00
Alexander Udalov
c853c9be03 Create empty method for annotated properties w/o fields
There was no place in bytecode where annotations on properties without backing
fields could be stored to. Now they're written on a synthetic empty void method
with a special name ("propertyName$annotations").

(Annotations on properties cannot simply be written on getters in bytecode,
since a getter can have annotations of its own.)
2013-08-23 17:39:21 +04:00
Alexander Udalov
23378f0054 Deserialize annotations on property accessors 2013-08-23 17:39:21 +04:00
Alexander Udalov
453b0e8f10 Write java signature of serialized descriptors efficiently
Instead of storing a string with the signature, write the name, return type and
parameter types separately, reusing the name table. Refactor the name table to
allow it to store not only names of Kotlin entities, but also arbitrary names
and fq-names
2013-08-23 17:39:21 +04:00
Alexander Udalov
eee9bb5a12 Refactor AbstractDescriptorSerializationTest
Use existing utility functions, replace ClassMetadata -> ClassData, add
annotations, etc.
2013-08-23 17:39:20 +04:00
Alexander Udalov
6ae81c3ade Store ABI version along with serialized descriptors
KotlinInfo annotation now has a version() field, which should be equal to the
compiler's JvmAbi.VERSION in order for this class to properly load and be used.

Create ErrorReporter class, which has a trace to which it can report errors
(now only related to ABI version). This is done because a dependency of
DeserializedDescriptorResolver from BindingTrace would be confusing.
Implementation of ErrorReporter will probably need to change when we untie
deserialization from java-resolve.

Check if PsiClass is actually a compiled class before trying to load serialized
data from it: otherwise it can be a Java source, as was in wrongAbiVersion()
test, and ASM will fail when trying to read that file. Rewrite the test so that
it now has a compiled Kotlin classes to check against (also include sources to
recompile this binary data later, although it won't probably be needed)
2013-08-23 17:39:20 +04:00
Alexander Udalov
cc4fd008ad Minor, rename method
'resolveAnnotations' gives a false impression that this method will resolve
annotations with their arguments, which it does not
2013-08-23 17:39:20 +04:00
Alexander Udalov
c14e324e85 Don't load Java's "FooPackage" class as a Kotlin package
Before creating a Kotlin package scope for a classfile, first check if it
contains KotlinInfo annotation
2013-08-23 17:39:20 +04:00
Alexander Udalov
b44bc620e0 Implement getNamespace() for deserialized scope
DescriptorFinder now can find packages, pull the method up from
AbstractDescriptorFinder class
2013-08-23 17:39:19 +04:00
Alexander Udalov
d90b764534 Fix getting built-in classes in frontend.java
getKotlinBuiltinClassDescriptor() worked only for classes in jet.* package and
was failing for classes like jet.Map.Entry, jet.MutableMap.MutableEntry
2013-08-23 17:39:19 +04:00
Alexander Udalov
d0b84416b5 KotlinInfo data parameter is now String[]
This is done because byte arrays in annotation arguments cannot be longer than
65535 bytes, and serialized data's length for kotlin.KotlinPackage class from
stdlib is already close to this number
2013-08-23 17:39:19 +04:00
Alexander Udalov
93d200be82 Minor, move byte arrays logic to ClassData/PackageData 2013-08-23 17:39:19 +04:00
Alexander Udalov
e63cef0848 Deserialize annotations on package members 2013-08-23 17:39:19 +04:00
Alexander Udalov
67ca7b78c4 Deserialize annotations on class members
Make 'Callable' message of descriptors.proto extensible, extend it in
java_descriptors.proto with a JVM signature of the member. This is needed in
order for annotation deserializer to find out which member in the compiled
bytecode corresponds to which descriptor in the hierarchy.

Create a new module 'serialization.java' containing everything related to
Java-specific serialization of descriptors.

Add an extension point to DescriptorSerializer, allowing to perform
platform-specific serialization on a callable
2013-08-23 17:39:18 +04:00
Alexander Udalov
d0635aac3e Simplify class serialization in codegen 2013-08-23 17:39:18 +04:00
Alexander Udalov
548a2853aa Create an extension point to DescriptorSerializer
Extract the existing predicate logic into it
2013-08-23 17:39:18 +04:00
Alexander Udalov
4aeeafdff0 Deserialize annotations on classes
First version, not all kinds of value arguments of annotations are supported
2013-08-23 17:39:18 +04:00
Pavel V. Talanov
9a33567287 Read KotlinInfo annotations for packages
JavaNamespaceDescriptor creates DeserializedPackageMemberScope in case there is *Package class present for a particular package (other cases work as before)
2013-08-23 17:39:17 +04:00
Pavel V. Talanov
77aa190eb1 Minor 2013-08-23 17:39:17 +04:00
Pavel V. Talanov
71060e0086 Use JetScope as the base interface in JavaNamespaceResolver 2013-08-23 17:39:17 +04:00
Alexander Udalov
011f733aad Serialize properties for objects
A new special CallableKind for properties created for objects --
OBJECT_PROPERTY.
Also fix PropertyPsiData.isFinal() in case of properties backed by fields
2013-08-23 17:39:17 +04:00
Pavel V. Talanov
a57f74c278 Introduce VariableDescriptorForObject interface
Add implementations
Use this interface instead of CLASS_OBJECT_DECLARATION key in BindingContext
2013-08-23 17:39:16 +04:00
Alexander Udalov
dc5bc1488c Serialize package members and class names
Write KotlinInfo annotation to the facade package class
2013-08-23 17:39:16 +04:00
Alexander Udalov
4655e41603 Minor, use existing utility method 2013-08-23 17:39:15 +04:00
Pavel V. Talanov
d6d83e9bc2 Change signature of AbstractDescriptorFinder#getPackage method 2013-08-23 17:39:15 +04:00
Pavel V. Talanov
c08f067df2 Straightforward logic for deserialization descriptors in DeserializedDescriptorResolver 2013-08-23 17:39:15 +04:00
Pavel V. Talanov
0aa4ba3fe6 Minor
Remove unused method
2013-08-23 17:39:15 +04:00
Pavel V. Talanov
c3b1716e29 Rename ClassResolver -> DescriptorFinder
Avoid clash with JavaDescriptorResolver naming conventions
2013-08-23 17:39:15 +04:00
Pavel V. Talanov
c3a44e37ba Remove various getClassId methods 2013-08-23 17:39:14 +04:00
Pavel V. Talanov
fa93ee7ff2 Remove NestedClassResolver class 2013-08-23 17:39:14 +04:00
Alexander Udalov
f9ad6827d4 Simplify class object naming madness
- get rid of DescriptorNamer, always use descriptor.getName() instead
- delete AbstractClassResolver.getClassObjectName(), always use
  "<class-object-for-...>", except for the case of built-ins serialization
  (class object names should be replaced by "object" when writing files with
  serialized data for built-ins)
- delete NestedClassResolver.resolveClassObject(), always use the other method
  of this class instead
2013-08-23 17:39:14 +04:00
Alexander Udalov
5db2ecd1fc Regenerate built-ins serialized data
After changes to protobuf binary format
2013-08-23 17:39:14 +04:00
Alexander Udalov
034a13350d Create enum entries for deserialized enum classes 2013-08-23 17:39:13 +04:00
Pavel V. Talanov
934be3bef5 Fix serialization of root namespace 2013-08-23 17:39:13 +04:00
Alexander Udalov
c69a5aba25 Serialize/deserialize enum entries in enum classes 2013-08-23 17:39:13 +04:00
Pavel V. Talanov
7522250d51 Check that descriptors loaded from compiled kotlin are indeed deserialized descriptors 2013-08-23 17:39:13 +04:00
Pavel V. Talanov
04e9e953c3 Initial version of deserialization of compiled kotlin classes
Annotations are not supported
2013-08-23 17:39:12 +04:00
Alexander Udalov
83501c3722 KotlinInfo now has only one parameter data
Name table is now also stored in data, before the serialized class.
ClassData is now public, since it's used in plenty of places as a holder of
deserialized protobuf classes.
2013-08-23 17:39:12 +04:00
Alexander Udalov
4e0516472d Minor, reuse existing namer for built-ins 2013-08-23 17:39:12 +04:00
Alexander Udalov
007f3325fb Serialize property setter parameter names 2013-08-23 17:39:12 +04:00
Alexander Udalov
b4ac02b175 Adapt to protobuf style guide
Identifiers consisting of multiple words should be separated by an underscore,
repeated field names should be singular
2013-08-23 17:39:11 +04:00
Alexander Udalov
bdb7c1eb45 Fix property setters serialization, hasGetter->hasSetter 2013-08-23 17:39:11 +04:00
Alexander Udalov
cc02ba7ab4 Don't load KotlinInfo annotation in resolve.java 2013-08-23 17:39:11 +04:00
Alexander Udalov
2841238567 Don't serialize non-serializable types
If there's a private property in a class which has a type of some local
class/object, write its type as jet.Any (otherwise there's no obvious way to
construct a FQ name of such type)
2013-08-23 17:39:11 +04:00
Alexander Udalov
1acc1564d9 Add KotlinInfo annotation, serialize classes to bytecode 2013-08-23 17:39:11 +04:00
Alexander Udalov
fed14f4fbf Move getBuiltInsDirUrl() out of KotlinBuiltIns 2013-08-23 17:39:10 +04:00
Pavel V. Talanov
1161685fee Move builtin class sources(*.jet) under IDEA module (should be removed completely later)
Change marker filename which is used to find those sources via getResource
2013-08-23 17:39:10 +04:00
Alexander Udalov
06496ea3ed Deserialized type's hashCode() should compute everything 2013-08-23 17:39:10 +04:00
Andrey Breslav
6f466b70b0 Built-ins rely on storage manager 2013-08-23 17:39:10 +04:00
Andrey Breslav
113c5994e8 Deserialized types rely on storage manager 2013-08-23 17:39:09 +04:00
Andrey Breslav
d8e2034c71 Deserializers use storage manager 2013-08-23 17:39:09 +04:00
Andrey Breslav
48435531ea Deserialized scopes rely on storage manager 2013-08-23 17:39:09 +04:00
Andrey Breslav
8ff99b9fe7 Class descriptors rely on StorageManager 2013-08-23 17:39:09 +04:00
Andrey Breslav
f527fe251c Replace a mutable map with a memoized function
(Premature optimization removed: trove's map replaced by something that will be boxing primitives)
2013-08-23 17:39:08 +04:00
Andrey Breslav
867adcc167 Getting rid of mutable state in TypeDeserializer 2013-08-23 17:39:08 +04:00
Andrey Breslav
e960247936 Useless class IndexedSymbolTable removed 2013-08-23 17:39:08 +04:00
Andrey Breslav
fd3f2d93be Using lazy type parameter descriptors 2013-08-23 17:39:08 +04:00
Andrey Breslav
37707e51a2 Refactoring: type parameters are explicitly built on the call site, not in the constructor 2013-08-23 17:39:08 +04:00
Andrey Breslav
077cd62e1b Base class extracted 2013-08-23 17:39:07 +04:00
Andrey Breslav
962092cfae Rename Namer -> DescriptorNamer & Move it to the top level 2013-08-23 17:39:07 +04:00
Andrey Breslav
c0707628e8 DeserializedType uses lazy values 2013-08-23 17:39:07 +04:00
Andrey Breslav
d219b72e40 DeserializedType is a named class now 2013-08-23 17:39:07 +04:00
Andrey Breslav
c4052e1286 @ThreadSafe annotation to mark classes that must be thread-safe 2013-08-23 17:39:07 +04:00
Andrey Breslav
25a5025c58 Built-ins can now be initialized on demand 2013-08-23 17:39:06 +04:00
Andrey Breslav
30daf0aded Support property accessors 2013-08-23 17:39:06 +04:00
Andrey Breslav
093d664ae1 Extract method 2013-08-23 17:39:06 +04:00
Andrey Breslav
8d110e4a30 Properly memoize classes in tests 2013-08-23 17:39:05 +04:00
Andrey Breslav
a861ac0c10 Debug names for type deserializaers 2013-08-23 17:39:05 +04:00
Andrey Breslav
5492c8875e Proper names for class objects upon serialization of built-ins 2013-08-23 17:39:05 +04:00
Andrey Breslav
3ebd7d4e1d Validate built-ins before serializing 2013-08-23 17:39:05 +04:00
Andrey Breslav
c44d26e73a Serialization of error types is not supported 2013-08-23 17:39:05 +04:00
Andrey Breslav
1d7fd47a51 Compile/Jar serialization-related code in build.xml 2013-08-23 17:39:04 +04:00
Andrey Breslav
a95bbb0f1d equals() and hashCode() for lazy types in built-ins 2013-08-23 17:39:04 +04:00
Andrey Breslav
7eed913e48 Deserialize constructor return type 2013-08-23 17:39:04 +04:00
Andrey Breslav
2aa0afd199 Support inner classes scopes in deserialized classes 2013-08-23 17:39:04 +04:00
Andrey Breslav
b7966179f5 Deserialize built-ins 2013-08-23 17:39:04 +04:00
Alexander Udalov
defbf705fc Revert "Don't memoize exceptions in built-ins resolve session"
This reverts commit 450d6cad3b. It's no longer
needed since there's no resolve session in built-ins anymore
2013-08-23 17:39:03 +04:00
Andrey Breslav
1fe9b58181 Implicit receivers hierarchy for deserialized classes 2013-08-23 17:39:03 +04:00
Andrey Breslav
ae9950d88d Deserialize expected this objects 2013-08-23 17:39:03 +04:00
Andrey Breslav
ece3684622 Lazy receiver parameter descriptor: to avoid eager computation of default types 2013-08-23 17:39:03 +04:00
Andrey Breslav
bceb469294 Formatting 2013-08-23 17:39:02 +04:00
Andrey Breslav
14058f7aed Any and Nothing have no supertypes 2013-08-23 17:39:02 +04:00
Andrey Breslav
d1d52086d7 Do not add pre-loaded built-ins when serializing 2013-08-23 17:39:02 +04:00
Andrey Breslav
c04ecbc1cb Writing all built-in class names into a separate file 2013-08-23 17:39:02 +04:00
Andrey Breslav
de1f114b27 Deterministic order of descriptors preserves name indexing for different serializer runs 2013-08-23 17:39:01 +04:00
Andrey Breslav
696b627cf4 Saving name table into a separate file 2013-08-23 17:39:01 +04:00
Andrey Breslav
0b65b8c4d3 (Circular) dependency between frontend and serialization 2013-08-23 17:39:01 +04:00
Andrey Breslav
2446d0d003 Common functionality for (de)serializing built-ons moved to a separate class 2013-08-23 17:39:00 +04:00
Andrey Breslav
df57ce5a7f Allow names to be loaded individually for each class 2013-08-23 17:39:00 +04:00
Andrey Breslav
bcab329195 Serializing builtins as individual files 2013-08-23 17:39:00 +04:00
Andrey Breslav
47d1633252 Support creating a new serializer for each class 2013-08-23 17:39:00 +04:00
Andrey Breslav
76e01fa552 Less verbose, type-safe implementation of Flags 2013-08-23 17:39:00 +04:00
Andrey Breslav
4f12a3d86e Stub support for annotations 2013-08-23 17:38:59 +04:00
Andrey Breslav
557fdfcd56 Testing builtins' serialization 2013-08-23 17:38:59 +04:00
Andrey Breslav
af415d160f Allow rendering Any in all positions and using Function0 etc instead of "() -> ..." 2013-08-23 17:38:59 +04:00
Andrey Breslav
5b8d41cc36 Utilities 2013-08-23 17:38:59 +04:00
Andrey Breslav
7fb5316a3a Dependency on ClassResolver moved to TypeDeserializer 2013-08-23 17:38:58 +04:00
Andrey Breslav
0c49940356 Dependency on ClassResolver moved to TypeDeserializer 2013-08-23 17:38:58 +04:00
Andrey Breslav
b38c5b9d08 Outer classes are properly computed 2013-08-23 17:38:58 +04:00
Andrey Breslav
b536b3961e getName()/getFqName() -> asString() 2013-08-23 17:38:58 +04:00
Andrey Breslav
1026a63778 Using "object" for fqNames of class objects 2013-08-23 17:38:58 +04:00
Andrey Breslav
b90522b223 Namer added to abstract over naming conventions on different platforms 2013-08-23 17:38:57 +04:00
Andrey Breslav
347e2c27aa Using FqNameUnsafe for relative class names 2013-08-23 17:38:57 +04:00
Andrey Breslav
699d5acd36 toString() for deserialized classes 2013-08-23 17:38:57 +04:00
Andrey Breslav
7f2f3a60a7 Object descriptors added 2013-08-23 17:38:57 +04:00
Andrey Breslav
c397a84040 Support deserializing special names 2013-08-23 17:38:56 +04:00
Andrey Breslav
d04865cea3 Using ClassId instead of FqName 2013-08-23 17:38:56 +04:00
Andrey Breslav
bb27d5c283 Class resolution simplified (effectively dead code eliminated) 2013-08-23 17:38:56 +04:00
Andrey Breslav
930217c877 Interner fixed: looks item up in parent first 2013-08-23 17:38:56 +04:00
Andrey Breslav
6481bb658f Do not skip names of error classes 2013-08-23 17:38:56 +04:00
Andrey Breslav
655db3ca44 Value parameters flags supported 2013-08-23 17:38:55 +04:00
Andrey Breslav
2e978950ab Primary constructors supported 2013-08-23 17:38:55 +04:00
Andrey Breslav
99d1a9b7d7 Serialization tests reuse test data from loadKotlin 2013-08-23 17:38:55 +04:00
Andrey Breslav
4c689bc328 Better processing of upper bounds 2013-08-23 17:38:55 +04:00
Andrey Breslav
2a928a2bfe Support properties in serialized classes 2013-08-23 17:38:55 +04:00
Andrey Breslav
c610695612 Flags supported for classes and their members 2013-08-23 17:38:54 +04:00
Andrey Breslav
babb1a14d5 Better support for error types 2013-08-23 17:38:54 +04:00
Andrey Breslav
cff59a925b Support fake overrides 2013-08-23 17:38:54 +04:00
Andrey Breslav
ae4a3942df toString() for types 2013-08-23 17:38:54 +04:00
Andrey Breslav
6be5ecc666 toString(JetType) extracted 2013-08-23 17:38:53 +04:00
Andrey Breslav
b9283f0afc Do not serialize fake overrides 2013-08-23 17:38:53 +04:00
Andrey Breslav
5eb33372ae Initial version of (de)serialization test 2013-08-23 17:38:53 +04:00
Andrey Breslav
915b0b79a3 Initial implementation of (lazy) deserialized class descriptor 2013-08-23 17:38:53 +04:00
Andrey Breslav
e59b4d1564 Storing only names of nested classes/objects 2013-08-23 17:38:53 +04:00
Andrey Breslav
42cc953aa8 Provide more services from descriptor deserializer 2013-08-23 17:38:52 +04:00
Andrey Breslav
364ed19c4b Simple implementations for lazy values and memoized functions 2013-08-23 17:38:52 +04:00
Andrey Breslav
c1cef019ce More low-level constructor added 2013-08-23 17:38:52 +04:00
Andrey Breslav
d4ac312142 Account for circular bounds in type parameters 2013-08-23 17:38:52 +04:00
Andrey Breslav
85dad7866d Lazy types 2013-08-23 17:38:51 +04:00
Andrey Breslav
8018f186e5 Overloaded constructor for convenience 2013-08-23 17:38:51 +04:00
Andrey Breslav
2789c2a785 Static import 2013-08-23 17:38:51 +04:00
Andrey Breslav
96db819832 Extracted IndexedSymbolTable and TypeDeserializer 2013-08-23 17:38:51 +04:00
Andrey Breslav
1e345b58f7 Serializing basic descriptors 2013-08-23 17:38:51 +04:00
Andrey Breslav
a0895e9046 Serializing/Deserializing simple and qualified names 2013-08-23 17:38:50 +04:00
Andrey Breslav
099b3ffc9f Initial protobuf definition for descriptor serialization 2013-08-23 17:38:50 +04:00
Andrey Breslav
e85871861a New module for descriptor serialization code 2013-08-23 17:38:50 +04:00
Andrey Breslav
f7a9ea60dd protobuf-java added to the project 2013-08-23 17:38:50 +04:00
Andrey Breslav
187bf8abfe Avoid calling getClass() in equals(). It disturbs profiling 2013-08-23 17:38:50 +04:00
Andrey Breslav
1472499874 Utility methods moved to JetTestUtil 2013-08-23 17:38:49 +04:00
Nikolay Krasko
450d6cad3b Don't memoize exceptions in built-ins resolve session 2013-08-22 21:16:57 +04:00
Andrey Breslav
6cee65d74e A test for nesting implicitly labeled calls
The actual error message should be "return not allowed", but due to a bug in label resolution it is "unresolved reference"
2013-08-22 17:13:08 +04:00
Andrey Breslav
55eb994502 KT-3919 Automatic labeling of lambdas by receiving functions
#KT-3919 Fixed
2013-08-22 14:27:01 +04:00
Andrey Breslav
07a8dff5f4 Fix builtins dir lookup for the case where there's no directory entry in the JAR file 2013-08-22 14:02:51 +04:00
Andrey Breslav
6f5c3358ae Fix test data 2013-08-22 12:18:12 +04:00
Andrey Breslav
96335b2e71 Do not look for a common supertype if there is only one type in the worklist 2013-08-22 12:18:12 +04:00
Mikhael Bogdanov
eeb4aac313 Fixed wrong annotation for android.PreferenceGroup & PreferenceCategory 2013-08-22 12:00:17 +04:00
Andrey Breslav
a51ea10f55 No need to produce error types when RETURN_NOT_ALLOWED_EXPLICIT_RETURN_TYPE_REQUIRED is reported 2013-08-21 20:12:05 +04:00
Andrey Breslav
3f3ee378f3 Test that local return has type Nothing 2013-08-21 20:12:05 +04:00
Andrey Breslav
aa99c29d8d JVM backend test for local returns 2013-08-21 20:12:05 +04:00
Andrey Breslav
08625a6b2f Local returns are only allowed with explicitly specified return types
This is a temporary limitation: otherwise type inference is having trouble to account for all the returned expressions.
 We will fix the inference and remove the limitation
2013-08-21 20:12:04 +04:00
Andrey Breslav
d97506476f Minor. Local variable renamed 2013-08-21 20:12:04 +04:00
Andrey Breslav
9e9916df6e GenerateTests uses headless mode 2013-08-21 20:12:04 +04:00
Andrey Breslav
4138ac4e36 Support local returns in lambdas 2013-08-21 20:12:04 +04:00
Andrey Breslav
3ead1cea37 Duplicating parameters removed 2013-08-21 20:12:04 +04:00
Andrey Breslav
2c1375f948 Minor: code cleanup 2013-08-21 20:12:04 +04:00
Andrey Breslav
db70087573 Labels on function literal arguments are processed properly 2013-08-21 20:12:04 +04:00
Andrey Breslav
9f90fd0938 No "unreachable code" errors when an illegal return expression is the last in a lambda 2013-08-21 20:12:04 +04:00
Andrey Breslav
34df845778 Clarifying comments for RETURN_NOT_ALLOWED 2013-08-21 20:12:03 +04:00
Nikolay Krasko
b4c7122528 Move built-in files out of source directory 2013-08-21 19:52:42 +04:00
Nikolay Krasko
9a45277b53 Refactoring: Fix deprecation warning 2013-08-21 19:52:41 +04:00
Natalia Ukhorskaya
3916a8a15f Merge pull request #298 from nskvortsov/master
kotlin-android plugin doesn't work with android-library plugin 
 #KT-3911 Fixed
2013-08-21 05:28:30 -07:00
Nikita Skvortsov
dd42b47d98 updated integration test for android library project 2013-08-21 15:44:37 +04:00
Nikita Skvortsov
fa84783414 fix for http://youtrack.jetbrains.com/issue/KT-3911 2013-08-21 15:44:36 +04:00
Alexander Udalov
c35f748db4 Merge pull request #296 from mhshams/master
KT-3715 make Collection.notEmpty a property
2013-08-20 02:05:19 -07:00
Mohammad Shamsi
846de273a6 KT-3715 updated java-doc
"not" was missing in the java-doc for "notEmpty" property
2013-08-20 14:00:28 +08:00
Alexander Udalov
5a3834e54d Update to IDEA EAP 130.1619 2013-08-19 21:54:26 +04:00
Andrey Breslav
3d28c4cdb2 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav
4908766813 Passing DataFlowInfo when analyzing property initializers
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav
232d1cac7b Recursive generics fixed 2013-08-19 19:05:20 +04:00
Andrey Breslav
63c284e200 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:20 +04:00
Andrey Breslav
c95f2b78c8 Outer DataFlowInfo is passed to TopDownAnalyzer 2013-08-19 19:05:20 +04:00
Andrey Breslav
0e1ba96e2c Unused code removed 2013-08-19 19:05:20 +04:00
Mikhael Bogdanov
185b5013fe Properly process nested try and loop blocks
KT-3894: Loops and finally: finally block executed twice when break and return exists in try/finally block
KT-3874: Compilation error on try catch block contains break and continue
KT-3869: Loops and finally: outer finally block not run

 #KT-3869 Fixed
 #KT-3894 Fixed
 #KT-3874 Fixed
2013-08-19 16:06:56 +04:00
Mikhael Bogdanov
d0f042ba93 Properly generate exception table for try/catch block
KT-3549 'Finally' block not run when re-throwing exception
KT-3867 When catched exception occurs in finnaly block it invokes additional catch and itself

  #KT-3549 Fixed
  #KT-3867 Fixed
2013-08-19 16:06:56 +04:00
Nikolay Krasko
eaf0c2cb84 Fix problem of getting reference and parameter in functional literal inside other parameter (EA-48757) 2013-08-19 14:44:50 +04:00
Nikolay Krasko
e984ce2aa8 Introduce method for getting element with context for better error reports 2013-08-19 14:44:30 +04:00
Mohammad Shamsi
5584e6ce18 KT-3715 make Collection.notEmpty a property
Renamed "notEmpty()" methods to "isNotEmpty()" in following classes:
    - Collection
    - String
    - Array

Added "notEmpty" property to Collection class
2013-08-19 01:20:56 +08:00
Nikolay Krasko
491150cf22 Use version of test with initializing post startup activities to initialize builtins 2013-08-16 18:28:08 +04:00
Nikolay Krasko
3fd265e34a Remove assert about error type for removing type annotation 2013-08-16 18:28:06 +04:00
Nikolay Krasko
26f14a67ee Fix "Descriptor of property not available in binding context" assert for declarations in bodies 2013-08-16 18:28:05 +04:00
Nikolay Krasko
a4f452a943 Refactoring: Introduce EMPTY AnalyzeExhaust constant 2013-08-15 19:04:43 +04:00
Nikolay Krasko
58aaa2bc00 Refactoring: extract anonymous CachedValueProvider provider 2013-08-15 19:04:42 +04:00
Nikolay Krasko
95559e09eb Refactoring: Remove WholeProjectAnalyzerFacade (methods were inlined) 2013-08-15 19:04:41 +04:00
Erokhin Stanislav
8c952ebfdb JS backend: added delegate property support. 2013-08-14 20:05:27 +04:00
Andrey Breslav
8ee5911a87 Module groups added 2013-08-14 19:22:29 +04:00
Andrey Breslav
f5af1f5461 Trying to fix a blinking test
Sometimes quick-fix tests that use Change Signature failed with weird assertions, allegedly because an alarm inside the Change Signature dialog schedules something on AWT thread that fires while the next test is running
2013-08-14 18:59:03 +04:00
Andrey Breslav
40f3a1e1aa Assertion message 2013-08-14 18:04:28 +04:00
Andrey Breslav
22e5c58017 Source paths updated for IDEA libraries 2013-08-14 18:04:28 +04:00
Andrey Breslav
52c5e6c001 Force replace sources.zip before downloading 2013-08-14 18:04:28 +04:00
Nikolay Krasko
d25ac975ff Ensure different session is generated for different file and create them for library files 2013-08-14 15:31:18 +04:00
Nikolay Krasko
73308378e5 Add ability to test jet file is in scope 2013-08-14 15:31:16 +04:00
Nikolay Krasko
80c0a1a0f7 Create descriptors cache for the whole project and store file-specific session only for created temporary files 2013-08-14 15:31:15 +04:00
Nikolay Krasko
388f365900 Cache resolve session under OUT_OF_BLOCK_MODIFICATION_TRACKER 2013-08-14 15:31:14 +04:00
Nikolay Krasko
1bb036bb80 Get reference for invoke calls with lazy resolve 2013-08-14 15:31:13 +04:00
Natalia Ukhorskaya
992ccccde0 Merge pull request #295 from nskvortsov/master
Fix to handle empty kotlin compilation output
2013-08-14 03:57:46 -07:00
Nikita Skvortsov
f99f4bcf22 fix to handle empty kotlin compilation output 2013-08-14 14:01:24 +04:00
Nikita Skvortsov
4302cbd816 minor fix improvements and integration test 2013-08-13 17:28:17 +04:00
Natalia.Ukhorskaya
04e397b850 Small syntax improvement 2013-08-13 16:30:40 +04:00
Nikita Skvortsov
7cb8e76ed7 fix duplicates in classpath 2013-08-13 16:30:39 +04:00
Alexey Sedunov
497d3c6706 Simplify "Find Usages" test data, Move configuration options to test files 2013-08-13 15:26:24 +04:00
Alexey Sedunov
76c81aa3f0 Add support of extension search 2013-08-13 15:26:08 +04:00
Alexey Sedunov
1881d17b67 Add Kotlin delegate for Java safe delete 2013-08-13 15:25:23 +04:00
Alexey Sedunov
ced288452c Implement "Find usages with options" for kotlin functions 2013-08-13 15:25:04 +04:00
Alexey Sedunov
64a7e93900 Allow user to find usages of overriden methods 2013-08-13 14:53:53 +04:00
Alexey Sedunov
76d8e8b95d Introduce parent class for "find usage" handlers 2013-08-13 14:53:53 +04:00
Alexey Sedunov
4ee9783101 Extract search action name 2013-08-13 14:53:52 +04:00
Alexey Sedunov
eb1d458807 Move checkSuperMethods and format methods to RefactoringUtil 2013-08-13 14:53:51 +04:00
Alexey Sedunov
ea7a377bea Find usages test: Move test data out of code 2013-08-13 14:53:50 +04:00
Natalia Ukhorskaya
341174534a Merge pull request #293 from nskvortsov/master
code polishing
2013-08-13 03:25:33 -07:00
Erokhin Stanislav
adcb359c38 JS backend: added enum class support. 2013-08-12 21:48:18 +04:00
Erokhin Stanislav
3b5d5a4a95 JS backend: added identityEquals support. 2013-08-12 21:48:18 +04:00
Erokhin Stanislav
48cd8f4df4 JS backend: Fix override val property in ecma5. 2013-08-12 21:48:18 +04:00
Mikhael Bogdanov
c9215ed8a5 KT-2784 VerifyError when passing a value to a class object's super type constructor
#KT-2784 Fixed
2013-08-12 18:58:09 +04:00
Zalim Bashorov
b46e0361c5 Use the system path separator character in compiler messages.
Fix for CliTest.
2013-08-12 13:37:44 +04:00
Andrey Breslav
be8045a392 Adding info to an exception 2013-08-12 13:24:20 +04:00
Andrey Breslav
3617e418c2 Fixing guava 14 library and sources 2013-08-09 17:32:24 +04:00
Nikolay Krasko
a18875aba4 Fix local file uri for windows 2013-08-09 15:43:52 +04:00
Erokhin Stanislav
9d1ae5e3d9 JS backend: Add class object support. 2013-08-09 14:59:09 +04:00
Nikita Skvortsov
6ce92f6d0d code polishing 2013-08-09 14:36:07 +04:00
develar
e786e62fd7 JS backend: fixed variable capturing in extension functions.
Fixed ClosureTest.testWrappedVariableInExtensionFun IteratorsTest.foldReducesTheFirstNElements and IteratorsTest.takeExtractsTheFirstNElements. All tests passed.

(cherry picked from commit f8f1895)
2013-08-09 14:29:55 +04:00
develar
786652940d JS backend: use javascript Object as base class for object by default (when there are not any parents).
It's workaround for compatibility with Google Chrome Extension API because sometimes they calls Object.prototype methods.

(cherry picked from commit 9959a1e)
2013-08-09 14:29:55 +04:00
develar
bc4e0e212a JS backend: added generation @lends JsDoc annotation.
For more information about @lends see https://code.google.com/p/jsdoc-toolkit/wiki/TagLends

(cherry picked from commit 1269911)
2013-08-09 14:29:55 +04:00
develar
a53b9e99ad JS backend: removed some useless util methods. 2013-08-09 14:29:55 +04:00
Zalim Bashorov
df11dbe7a5 JS backend: added tests check the closure fields when use it from nested functions in method. 2013-08-09 14:29:55 +04:00
develar
b9396ff7e8 JS backend: detect outer class if used in child local fun.
Fix closure fields when use it from nested functions in method.

(cherry picked from commit 20eea36)
2013-08-09 14:29:55 +04:00
develar
632d878877 JS backend: use native function for parseInt.
Add radix parameter to parseInt.

(cherry picked from commit b6be98d)
2013-08-09 14:29:55 +04:00
develar
33d576c31f JS backend: format builder.kt according to code style.
(cherry picked from commit 7c2a2cd)
2013-08-09 14:29:54 +04:00
develar
222c05dd00 JS backend: made Json::get and Json::set intrinsic.
(cherry picked from commit b1692e1)
2013-08-09 14:29:54 +04:00
develar
8867c7a33f JS backend: fixed Map set/get -- should work with jet Map/MutableMap.
Added to PatternBuilder the ability to check that method has been overridden.
2013-08-09 14:29:54 +04:00
develar
421c896416 JS backend: removed unused extension function List::equals. 2013-08-09 14:29:54 +04:00
develar
3e2d030e5d JS backend: removed parameters from PatternBuilder#receiverExists. 2013-08-09 14:29:54 +04:00
Zalim Bashorov
185ec381e3 JS backend: added tests that checks constructing ArrayList with capacity. 2013-08-09 14:29:54 +04:00
develar
1ddf60ef0a JS backend: don't search function intrinsic twice.
Use thashmap instead of hasmap -- less memory usage.

(cherry picked from commit e617f8f)
2013-08-09 14:29:53 +04:00
develar
4e07c60541 JS backend: fixed AbstractCollection#equals.
Disabled test IteratorsTest::takeExtractsTheFirstNElements
2013-08-09 14:29:53 +04:00
develar
411caef8ce JS backend: cosmetic changes in javautil.kt:
- added some methods to AbstractList
 - fixed codestyle
 - moved up LinkedList declaration
2013-08-09 14:29:53 +04:00
develar
1435bdb7c7 JS backend: made some exceptions more JS idiomatic -- translate Exception to Error, IndexOutOfBounds and IndexOutOfBoundsException to RangeError. 2013-08-09 14:29:53 +04:00
develar
f5feb5e729 JS backend: added Kotlin.toString, Kotlin.arrayToString, Kotlin.arrayEquals and shim for Array.isArray to kotlin_lib.
Now jet.String will be translated to Kotlin.toString.
2013-08-09 14:29:53 +04:00
develar
50739b465e JS backend: move common code to CompositeFIF. 2013-08-09 14:29:53 +04:00
develar
7ba0f0eb33 JS backend: refactoring
- add KotlinFunctionIntrinsic;
- remove CallStandardMethodIntrinsic
- rename TranslationUtils#generateCallArgumentList to TranslationUtils#generateInvocationArguments;
- add to PatternBuilder#pattern with root(prefix) parameter.
2013-08-09 14:29:53 +04:00
develar
2dbfbfc7fb JS backend: fixed codestyle for TopLevelFIF.java.
(cherry picked from commit 6335bc4)
2013-08-09 14:29:52 +04:00
develar
bf8d5d797a JS backend: refactoring the code for using special implementation of Map/Set for primitives (Int, String etc.) -- made it intrinsic.
Properly implementation for KT-2026.

(cherry picked from commit 6335bc4)
2013-08-09 14:29:52 +04:00
develar
1fab7346cc JS backend: don't bind this if it is not need -- skip methods defined in class, for example Int::plus
(cherry picked from commit e2334f7)
2013-08-09 14:29:52 +04:00
develar
995f898116 JS backend: added String.isEmpty
(cherry picked from commit 6cf1761)
2013-08-09 14:29:52 +04:00
develar
7c18ab3ca8 JS backend: cleanup strings code.
Added String.size and String.length().
2013-08-09 14:29:52 +04:00
develar
678f6601dd JS backend: made as intrinsic map accessing methods and fixed accessing to native map. 2013-08-09 14:29:52 +04:00
develar
be4e1b7599 JS backend: translate invoke function as intrinsic. 2013-08-09 14:29:52 +04:00
develar
7b67c47594 JS backend: descriptor parameter of DescriptorPredicate#apply marked as @NotNull. 2013-08-09 14:29:51 +04:00
Zalim Bashorov
9b09d5f6df JS backend: fixed String.split for the case when using regexp.
Added(overload) String.split with limit parameter.
2013-08-09 14:29:51 +04:00
develar
0341d875a9 JS backend: cleanup code.
Drop Kotlin.toString and jet.sure.
2013-08-09 14:29:51 +04:00
develar
f1c258f601 JS backend: make MutableMap.set as function intrinsic.
Fixed test WebDemoExamples2Test#builder.
2013-08-09 14:29:51 +04:00
develar
63a72b1095 JS backend: performance optimization for CompositeFIF -- we don't need hash map.
(cherry picked from commit 7b29a01)
2013-08-09 14:29:51 +04:00
develar
8302879991 JS backend: added reviver parameter to JSON.parse.
Fixed code style in json.kt.

(cherry picked from commit b3bf97c)
2013-08-09 14:29:51 +04:00
develar
ddbea17e0f JS backend: improve js readability which generated in the Dangerous translator -- initialize temporary vars in declaration.
(cherry picked from commit 4d8355c)
2013-08-09 14:29:50 +04:00
Zalim Bashorov
d4bf98de97 JS backend: fixed intrinsic of the typed array factory methods(intArray etc). 2013-08-09 14:29:50 +04:00
develar
1af35a6aff JS backend: make intrinsic array factory methods.
#KT-2511 fixed

(cherry picked from commit 31843c5)
2013-08-09 14:29:50 +04:00
Natalia.Ukhorskaya
e0a899902c Merge remote-tracking branch 'origin/pr/292' 2013-08-09 12:38:54 +04:00
Natalia.Ukhorskaya
2436ed1a17 Temporary change gradle output to show it in MessageView in Android-Studio 2013-08-09 12:24:09 +04:00
Evgeny Gerashchenko
3f7627120b KT-3853 ISE on resolving function implementation from trait from Java
The fix is simple and dirty, because the related code will be removed soon anyways. Fix is necessary for compiling Kara.

 #KT-3853 fixed
2013-08-08 21:39:25 +04:00
Nikita Skvortsov
405465fd25 Support kotlin-android-sdk-annotations in gradle plugin 2013-08-08 21:09:45 +04:00
Natalia.Ukhorskaya
6bb1474ee8 Publish android-sdk-annotations in Maven 2013-08-08 17:54:18 +04:00
Natalia.Ukhorskaya
aec1fa8697 Implement method from super class 2013-08-08 16:03:03 +04:00
Natalia.Ukhorskaya
bc9af296a5 Check is JavaBuilder.IS_ENABLED public 2013-08-08 16:02:58 +04:00
Natalia.Ukhorskaya
42b8cb122b Add pom.xml android-sdk-annotations 2013-08-08 14:07:52 +04:00
Natalia.Ukhorskaya
2cc4638b09 Disable kotlin-jps-plugin when java-jps-plugin is disabled 2013-08-08 14:07:50 +04:00
Nikolay Krasko
9205c0251e Cache result of resolveElement requests 2013-08-08 00:37:46 +04:00
Nikolay Krasko
8d06a72157 Store exception caught during computation as a result and rethrow it 2013-08-08 00:37:45 +04:00
Nikolay Krasko
ca675290a8 Allow to monitor only thread name 2013-08-08 00:37:45 +04:00
Nikolay Krasko
bee3295f34 Fix tracking slices 2013-08-08 00:37:44 +04:00
Nikolay Krasko
585cd15a03 Remove YourKit profile settings
New idea remove them each time it gets focus
2013-08-08 00:37:43 +04:00
Nikolay Krasko
e402c4d527 Guard creation of LazyClassDescriptor with lock to avoid getting 'this' in invalid state 2013-08-08 00:37:42 +04:00
Nikolay Krasko
70ae9e589c Generate only final fields for injectors - make the access thread-safe 2013-08-08 00:37:42 +04:00
Nikolay Krasko
14247ea2ab Guard construction of imports index under common lock 2013-08-08 00:37:41 +04:00
Nikolay Krasko
fbe1491ad4 Lock based binding context 2013-08-08 00:37:40 +04:00
Andrey Breslav
39b091ddaf Trying to fix weird issues on TeamCity: Flushing code cache in the AllTests launch configuration 2013-08-07 20:41:10 +04:00
Andrey Breslav
8230d7ed94 Update to IDEA 13 EAP - 130.1486 2013-08-07 20:41:09 +04:00
Andrey Breslav
4f6e7ad39b Setting up continuous integration 2013-08-07 20:34:47 +04:00
Natalia.Ukhorskaya
609c4b3b28 Add notification panel for kotlin files that aren't in 'kotlin' folder (for gradle-android project) 2013-08-07 15:42:09 +04:00
Natalia.Ukhorskaya
5919968dc5 Disable analysis for kotlin files that aren't in 'kotlin' folder (for Gradle-Android project) 2013-08-07 15:42:08 +04:00
Mikhael Bogdanov
8a4b01d9c6 KT-3702: Inner class constructor cannot be invoked in override function with receiver
KT-3532: NoSuchMethodError when constructing Java inner class
KT-3847: Class is not recognized as inner when loaded from binaries

 #KT-3702 Fixed
 #KT-3532 Fixed
 #KT-3847 Fixed
2013-08-06 10:58:27 +04:00
Natalia.Ukhorskaya
8e45bb7657 Fix wrong generated class name invoking inner objects from another module 2013-08-06 10:17:25 +04:00
Andrey Breslav
e3643fd222 Proguard does not print notes any more
There are too many notes in our logs, we never read them, and logs get very tedious to scroll through.
2013-08-05 18:37:46 +04:00
Natalia.Ukhorskaya
acf8c88cfc Java property as annotation parameter 2013-08-02 18:59:29 +04:00
Natalia.Ukhorskaya
e792238cbe Boolean as annotation parameter (java) 2013-08-02 18:59:27 +04:00
Natalia.Ukhorskaya
064f114b25 Allow top-level properties or properties from class object as annotation parameters 2013-08-02 18:59:26 +04:00
Natalia.Ukhorskaya
27801d5351 Add test: primitive values as annotation parameter 2013-08-02 18:59:25 +04:00
Alexey Sedunov
41c98508b6 SafeDeleteProcessor: Add nullability annotations
Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java

Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java

Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java
2013-08-01 15:52:08 +04:00
Alexey Sedunov
2704328160 Implement "Safe Delete" refactoring for value parameters 2013-08-01 15:41:34 +04:00
Alexey Sedunov
6ef8f04a01 Generate tests for type parameters
Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java
2013-08-01 13:18:46 +04:00
Evgeny Gerashchenko
7f62b9259c KT-3820 VerifyError when invoking intrinsic for range obtained from collection
#KT-3820 fixed
2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko
aafa492c95 Disabled hierarchy viewing for alien files. 2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko
b14ee4c52f Disabled hint calculation for alien files. 2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko
6b66de5e83 Moved method to more general place. 2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko
1e10712802 Minor. Added 'final'. 2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko
0fd76f74ba Don't show "kotlin module is not configured" strip on alien files. 2013-07-31 15:54:44 -07:00
Evgeny Gerashchenko
f06111a608 Fixed ISE on attempt to build light class for alien file. 2013-07-31 15:54:44 -07:00
Evgeny Gerashchenko
81d33b78b7 Disabled editor highlighting for alien files. 2013-07-31 15:54:44 -07:00
Nikolay Krasko
2520f11bdc KT-3823 Standard sort function requires MutableIterable by no reason
#KT-3823 Fixed
2013-07-30 21:06:16 +04:00
Natalia.Ukhorskaya
b205e10b31 Don't show "set up as Java module" notification for android project configured with gradle 2013-07-30 13:43:20 +04:00
Nikolay Krasko
a4451dbf24 Update to eap 130.1365 2013-07-30 13:31:21 +04:00
Alexey Sedunov
203e80debe Implement "Safe Delete" refactoring for type parameters
Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java

Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java

Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java
2013-07-29 19:24:53 +04:00
Alexey Sedunov
62a1a9b8d1 Fix description of JetTypeParameter 2013-07-29 19:24:47 +04:00
Alexey Sedunov
a7df901ee6 Work around the bug in Java "Safe Delete" (can't delete override annotations in Kotlin from Java code) 2013-07-29 19:24:40 +04:00
Alexey Sedunov
777f3ae1d3 Safe Delete: decompose checkSuperMethods() 2013-07-29 19:24:34 +04:00
Alexey Sedunov
0b53ffe4d8 Restructure "Safe Delete" test data directories
Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java
2013-07-29 19:24:27 +04:00
Alexey Sedunov
206d5ec9ca SafeDeleteProcessor: small refactorings 2013-07-29 19:24:20 +04:00
Alexey Sedunov
639336b2f5 Implement "Safe Delete" refactoring for properties 2013-07-29 19:24:13 +04:00
Alexey Sedunov
9c60637ef3 Implement delete() for light methods 2013-07-29 19:15:09 +04:00
Nikolay Krasko
7ec170f6ec Fix absence of reference for type parameters 2013-07-29 18:20:09 +04:00
Natalia.Ukhorskaya
b3f0a23c1d Fix android test: cannot change package name 2013-07-29 11:36:47 +04:00
Nikolay Krasko
2b0232307c Fix error on getting descriptor for class object 2013-07-27 03:57:30 +04:00
Nikolay Krasko
400906db7c Add lock for all additional resolve 2013-07-27 03:57:30 +04:00
Nikolay Krasko
93aa711a65 Always return delegated trace 2013-07-27 03:57:29 +04:00
Nikolay Krasko
f3bd514f16 Thread safe lazy import scope 2013-07-27 03:57:28 +04:00
Nikolay Krasko
86dd6a3aa0 Introduce cancelable wrapping for resolve cache 2013-07-27 03:57:28 +04:00
Nikolay Krasko
d62ad79232 Create thread-safe traces 2013-07-27 03:57:27 +04:00
Nikolay Krasko
37f2168c38 Refactoring: use interface instead of class 2013-07-27 03:57:26 +04:00
Nikolay Krasko
90511e93b5 Refactoring: use utility method for getting binding context with resolution for element 2013-07-27 03:57:25 +04:00
Nikolay Krasko
b0b173eb5a Resolve descriptors in error class objects 2013-07-27 03:57:24 +04:00
Nikolay Krasko
a69b2883ee Make resolve session be able to resolve class parameters 2013-07-27 03:57:23 +04:00
Nikolay Krasko
f8e3275861 Make additional resolution work for descriptors 2013-07-27 03:57:22 +04:00
Nikolay Krasko
51f690ed4d Refactor additional resolve for reference in packages 2013-07-27 03:57:21 +04:00
Nikolay Krasko
c2e8282fb9 Make type parameter name be always notnull
Fix java.lang.AssertionError: @NotNull method org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyTypeParameterDescriptor.getName must not return null
2013-07-27 03:57:21 +04:00
Nikolay Krasko
9167e4f1ee Make resolve session be able to resolve class constructor parameters 2013-07-27 03:57:20 +04:00
Nikolay Krasko
27efc3b202 Additional resolve for annotations in lazy resolve 2013-07-27 03:57:18 +04:00
Nikolay Krasko
ab4452a508 Refactoring: method rename resolveToExpression -> resolveToElement 2013-07-27 03:57:18 +04:00
Nikolay Krasko
b6be094724 Force resolve imports for elements in imports 2013-07-27 03:57:17 +04:00
Nikolay Krasko
32b04531f6 Store information about package declaration in context
This information is used for resolving references in plugin
2013-07-27 03:57:16 +04:00
Nikolay Krasko
94ad93d810 Find line markers with lazy resolve 2013-07-27 03:57:14 +04:00
Nikolay Krasko
642def0133 Do reference resolution with lazy resolve 2013-07-27 03:57:13 +04:00
Nikolay Krasko
2621df3243 Auto generate reference tests 2013-07-27 03:57:13 +04:00
Nikolay Krasko
cb19450d8d Refactor multi-reference tests 2013-07-27 03:57:10 +04:00
Nikolay Krasko
970586bfdd Use directive configuring in resolve reference tests 2013-07-27 03:57:10 +04:00
Nikolay Krasko
68bd7405ff Refactoring: remove warning 2013-07-27 03:57:09 +04:00
Nikolay Krasko
bf8d5c37ed Refactoring: Fix warnings about absent final and spelling mistake 2013-07-27 03:57:08 +04:00
Nikolay Krasko
f558942fdf Make getText work even if action was recognized as inapplicable 2013-07-27 03:57:07 +04:00
Nikolay Krasko
ca1c13054a Refactoring: Remove not-null warnings 2013-07-27 03:57:06 +04:00
Zalim Bashorov
b14a5f3ea1 Migrate to IDEA 130.1335 2013-07-26 21:33:08 +04:00
Andrey Breslav
7662cbaeb4 Compilation fixed (after CompilerVersion was renamed to KotlinVersion) 2013-07-26 14:30:21 +04:00
Nikolay Krasko
52bb8c3987 Restrict j2k test configuration to j2k module only 2013-07-26 01:24:25 +04:00
Zalim Bashorov
db2711c147 Fixed the Plugin Publisher. 2013-07-25 20:23:27 +04:00
Andrey Breslav
387bf2601b Log version in JPS plugin
CompilerVersion.java is moved to cli-common (shared between compiler and JPS plugin) and renamed to KotlinVersion

This is needed because on TeamCity a JPS plugin is configured separately from the compiler, so it may happen that
JPS plugin version X tries to run compiler version X+100, and causes trouble.
2013-07-25 20:18:03 +04:00
Natalia.Ukhorskaya
e11f130278 'annotation' keyword should be allowed only on classes
#KT-2785 Fixed
2013-07-25 17:00:10 +04:00
Natalia.Ukhorskaya
09b163069f Check Retention annotation writing annotations in bytecode 2013-07-25 17:00:04 +04:00
Natalia.Ukhorskaya
1066fc7f2a Minor refactoring: rename methods 2013-07-25 16:58:27 +04:00
Natalia.Ukhorskaya
6d1e46bae0 Extract method 2013-07-25 16:47:06 +04:00
Natalia.Ukhorskaya
c11bd7104c Write default values for annotation parameters
#KT-3197 Fixed
2013-07-25 16:44:03 +04:00
Natalia.Ukhorskaya
73000ec407 Change error message for nullable annotation member 2013-07-25 13:25:02 +04:00
Andrey Breslav
5a5eefece8 Merge branch 'idea13' 2013-07-24 18:24:42 +04:00
Evgeny Gerashchenko
a13092e525 Supported inlining constant properties. 2013-07-24 16:03:01 +04:00
Evgeny Gerashchenko
b721b0211a Fixed higlighting of replaced expressions.
#KT-2637 fixed
2013-07-23 21:43:06 +04:00
Evgeny Gerashchenko
d9bb3b8fb7 Minor. Reformatted. 2013-07-23 21:43:06 +04:00
Evgeny Gerashchenko
a024a17b03 Extracted methods. 2013-07-23 21:43:06 +04:00
Evgeny Gerashchenko
238776eac3 Simplified priority handling. 2013-07-23 21:43:06 +04:00
Evgeny Gerashchenko
5aa4672d32 Adding parameter types for functions if necessary.
#KT-2637 in progress
2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
2cfe11cb6b Moved method. 2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
0367f1836d Adding type arguments if necessary.
#KT-2637 in progress
2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
99bfd6d477 Record type arguments when they are inferred. 2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
c22f54055e Supported vals initialized after.
#KT-2637 in progress
2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
72ed74ab9a Adding {} in string template if necessary.
#KT-2637 in progress
2013-07-23 21:43:05 +04:00
Evgeny Gerashchenko
55b221776b Inline adds parentheses when it is necessary.
Test data for Remove Unnecessary Parentheses was updated, since parentheses in foo && (bar && baz) is not "unnecessary": removing it changes program semantics.

 #KT-2637 in progress
2013-07-23 21:43:04 +04:00
Evgeny Gerashchenko
a394afcce1 Fixed JetSimpleNameReference.getElement(): now it returns expression, not identifier leaf element.
Without it, replacing reference.getElement() with another expression created invalid PSI.
2013-07-23 21:43:04 +04:00
Evgeny Gerashchenko
a9a960fd38 Basic local val inlining support.
#KT-2637 in progress
2013-07-23 21:43:04 +04:00
Evgeny Gerashchenko
0126ee4e2a Regenerated Java to Kotlin method map (after fixing bug in overridance). 2013-07-23 21:43:04 +04:00
Evgeny Gerashchenko
ca3e093e1b Made test generation silent. 2013-07-23 21:43:04 +04:00
Evgeny Gerashchenko
febed55b36 Shared "Generate Tests" run configuration. 2013-07-23 21:43:04 +04:00
Zalim Bashorov
bf60cb2fee JS backend: fixed the division operation for integral types.
#KT-2342 fixed
2013-07-23 19:10:54 +04:00
Zalim Bashorov
e8b95ca074 JS backend: simplify and rename tests for closure in nested functions. 2013-07-23 19:10:54 +04:00
develar
462e1bdc98 JS backend: fixed the variable capturing in deeply nested functions which mixed with the object declaration.
(cherry picked from commit 41cb0ab)
2013-07-23 19:10:54 +04:00
develar
4a37d56a1b JS backend: fixed the variable capturing in deeply nested functions.
(cherry picked from commit cee29a6)
2013-07-23 19:10:54 +04:00
develar
84542872b8 JS backend: cleanup, use BindingContextUtils.getNotNull instead BindingContextUtils.get + assert
(cherry picked from commit 111805f)
2013-07-23 19:10:54 +04:00
develar
66325808c4 JS backend: switched to use native Function.bind(from ES5) instead library function b0-b4.
Removed unnecessary functions from jslib.

(cherry picked from commit f6550e9)
2013-07-23 19:10:54 +04:00
develar
9e1c56b02e JS basckend: removed useless artifact item kotlin-js-libraries.zip.
We use `kotlin-jslib.jar` from ant build target `jslib`.

(cherry picked from commit 645e596)
2013-07-23 19:10:54 +04:00
develar
2419fc36ed JS backend: partial fix for #KT-2670 -- throw NPE when unsafe cast null value to not nullable type. 2013-07-23 19:10:54 +04:00
develar
78945a9461 JS backend: don't use the temporary variables in SafeCall and SureCall when is not necessary.
For example:
val a : A? = null
a!!
a?.foo()

translated before:
var a = null;
var tmp$0, tmp$1;
(tmp$0 = a) != null ? tmp$0 : Kotlin.throwNPE();
(tmp$1 = a) != null ? tmp$1.foo() : null;

translated after:
var a = null;
a != null ? a : Kotlin.throwNPE();
a != null ? a.foo() : null;
2013-07-23 19:10:54 +04:00
develar
94152da97b JS backend: fixed return type for Window.setInterval -- should be Long instead Double? 2013-07-23 19:10:54 +04:00
develar
d854f93640 JS backend: using native implementations in kotlin_lib.js for String.startsWith, String.endsWith and String.contains. 2013-07-23 19:10:53 +04:00
Andrey Breslav
8c1da8929b Fix test data (accidentally committed rubbish) 2013-07-23 17:43:33 +04:00
Andrey Breslav
33efbc3e91 Migrate to IDEA 130.1225
Fix the class loader to generate proper resource URLs:
we used to have "!" as a JAR separator, but the correct one is "!/", according to the docs here: http://docs.oracle.com/javase/6/docs/api/java/net/JarURLConnection.html
2013-07-23 17:34:33 +04:00
Andrey Breslav
c1318c2f72 Merge branch 'master' into idea13 2013-07-23 14:34:08 +04:00
Andrey Breslav
d2b1b2e549 Allow newline before : as as? ?: || && 2013-07-23 14:21:36 +04:00
Andrey Breslav
320ed44e43 Eliminate shortcut clash with "Log out" on Mac OS X 2013-07-23 14:14:39 +04:00
Andrey Breslav
b1096b8706 Re-throw ProcessCanceledException 2013-07-23 14:05:16 +04:00
Yakov Zaytsev
bb364cd393 KT-3771 Fixed 2013-07-22 18:49:56 +04:00
Leonid Shalupov
9cc51d6db1 ignore gradle android tests for now (need to deliver Android SDK to agents) 2013-07-21 17:55:22 +04:00
Leonid Shalupov
9ce456fa1c gitignore: ignore *.versionsBackup from mvn versions:set 2013-07-21 17:54:49 +04:00
Leonid Shalupov
cdfd792681 Merge pull request #288 from nskvortsov/master
Kotlin plugin for Google's new android build system
2013-07-21 02:59:24 -07:00
Alexey Sedunov
cd6b6e4934 Implement "Safe Delete" refactoring for named functions
Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java
2013-07-19 19:53:50 +04:00
Andrey Breslav
6658564bdd Better error message 2013-07-19 17:55:44 +04:00
Nikolay Krasko
0878626af4 Move plugin dependencies into separate configuration files 2013-07-19 13:02:35 +04:00
Nikolay Krasko
56ce58ea79 Add dependency plugins for TestNG plugin 2013-07-19 13:02:34 +04:00
jaysonminard
1f236105a6 Adding right-click run for Kotlin TestNG test classes and methods.
Parallel support to the JUnit implementation, not as fully functional as
TestNG plugin for Java.
2013-07-18 17:01:54 +04:00
develar
12d19dd9d8 JS backend: added wraping to object the local vars which captured in closure.
Moved local functions and function literals to class/namespace definition.

(cherry picked from commit 36c954b)
2013-07-18 16:04:42 +04:00
Zalim Bashorov
e292034141 JS backend: fixed trait inheritance implementation in ES3.
Now each traits in same hierarchy represent separate object, instead a single object.
2013-07-18 16:04:42 +04:00
Zalim Bashorov
c5f53df70d JS backend: fixed wrong result when compare null and undefined using Kotlin.equals. 2013-07-18 16:04:42 +04:00
Svetlana Isakova
539756ff3e KT-3772 Invoke and overload resolution ambiguity
#KT-3772 Fixed
2013-07-16 20:33:08 +04:00
Svetlana Isakova
3f782523a7 refactoring
extracted method 'isMaximallySpecific'
2013-07-16 20:33:08 +04:00
Maxim Shafirov
f5a11960cd These two packages come from eawtstub.jar and automation.jar yet it doesn't make any sense to include those into kotlin compiler 2013-07-16 12:27:31 +04:00
Evgeny Gerashchenko
ca02ca6e77 Saved service implementations to constant for performance. 2013-07-15 19:20:48 +04:00
Evgeny Gerashchenko
89b4e5aab8 Loading service implementations by the same class loader as service's 2013-07-15 19:20:47 +04:00
Andrey Breslav
8572ab7a3a Merge pull request #289 from amal/patch-1
Fix outdated code (old tuples syntax)
2013-07-15 04:22:24 -07:00
Amal Samally
8df51ce7f8 Fix outdated code (old tuples syntax)
Partial fix for http://youtrack.jetbrains.com/issue/KT-3775
2013-07-14 18:18:23 -07:00
Leonid Shalupov
0ccb1d5f4a KT-1870 deploy to maven central 2013-07-13 14:25:29 +04:00
Evgeny Gerashchenko
97ae190ed5 Fixed typo (Russian "c" instead of English) 2013-07-12 21:38:42 +04:00
Evgeny Gerashchenko
2a9219b241 Fixed unstable inheritance of adapter + declaration. 2013-07-12 21:09:23 +04:00
Evgeny Gerashchenko
13849f6b6e Choosing most specific super member when building fake override. Previously, random one was chosen. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko
b6e7dcbb02 Stable member sorting. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko
5c8f87658a Made SAM adapters final. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko
822c42603f Created extension point for overridability checks. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko
fc99ad35b3 Supported complex cases of SAM adapters inheritance/overriding. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko
f17290b4f2 Typo. 2013-07-12 21:09:21 +04:00
Alexey Sedunov
f2dd8a6b60 Implement "Safe Delete" refactoring for classes and objects 2013-07-12 21:06:05 +04:00
Alexey Sedunov
bcad49246b Implement description provider for "refactoring" location 2013-07-12 21:06:04 +04:00
Leonid Shalupov
d9a898330b fix maven-deploy-plugin version 2013-07-12 20:17:21 +04:00
Nikita Skvortsov
79e7c5bd7b test external annotations 2013-07-12 18:16:43 +04:00
Nikita Skvortsov
0308465b65 added details to test output 2013-07-12 17:53:53 +04:00
Nikita Skvortsov
6b955f1aef more complex test for android project 2013-07-12 17:53:52 +04:00
Nikita Skvortsov
6633cc28fb Added integration test with Kotlin-only project 2013-07-12 17:53:51 +04:00
Nikita Skvortsov
9bd3619fb8 Allow using Kotlin without explicit 'java' plugin 2013-07-12 17:53:50 +04:00
Nikita Skvortsov
0bb6dde60c delete extra repository. Required artifact is now available at local-repo during test exec 2013-07-12 17:53:50 +04:00
Nikita Skvortsov
c10d4e8479 Code cleanup, remove extra logging 2013-07-12 17:53:49 +04:00
Nikita Skvortsov
17ae7c3544 fix android gradle test assertions 2013-07-12 17:53:48 +04:00
Nikita Skvortsov
f6a834df2f fix compiler arguments leak 2013-07-12 17:53:47 +04:00
Nikita Skvortsov
3b66ff18b4 fix test 2013-07-12 17:53:46 +04:00
Nikita Skvortsov
d5320adb02 Gradle Kotlin Android plugin first working variant 2013-07-12 17:53:45 +04:00
Nikita Skvortsov
f5a88e851d better tests 2013-07-12 17:53:44 +04:00
Nikita Skvortsov
70e0352d38 kotlin android gradle plugin core initial revision 2013-07-12 17:53:43 +04:00
Nikita Skvortsov
a0f5c4b6b0 kotlin-gradle-android plugin initial implementaion 2013-07-12 17:53:42 +04:00
Nikita Skvortsov
7ca1d41862 Android plugin stub and integration test 2013-07-12 17:53:41 +04:00
Nikita Skvortsov
ad18e323b8 fix gradle plugin integration test 2013-07-12 17:53:39 +04:00
Nikita Skvortsov
daa3b10e4d do not apply java plugin implicitly 2013-07-12 17:53:38 +04:00
Erokhin Stanislav
1565a2da3c Update to IDEA 130.703 2013-07-12 13:27:18 +04:00
Leonid Shalupov
9695ce70a6 KT-1870 maven profile to sign artifacts 2013-07-11 20:00:56 +04:00
Alexey Sedunov
21d6666c26 Implement Kotlin usage classification 2013-07-10 18:46:10 +04:00
Alexey Sedunov
6e513f067f KT-3736 Fixed: "Move Statement Down doesn't work to improperly formatted code" 2013-07-10 18:46:09 +04:00
Leonid Shalupov
4f6d09eaba KT-1870 skip deployment of docs, tests and examples 2013-07-10 15:54:36 +04:00
Andrey Breslav
8d65613eed Create <out Any?> projections for raw Java types, not <*>
KT-3760 Internal compiler error with Java interoperability and ElasticSearch 0.90.2 (IllegalStateException, Type parameter descriptor in not initialized: T declared in ...)
 #KT-3760 Fixed

EA-44150 Type parameter descriptor in not initialized. Fixed
2013-07-10 08:28:47 +04:00
Andrey Breslav
e566c3a738 Static import 2013-07-10 08:28:47 +04:00
Erokhin Stanislav
79a9253b74 Merge branch 'master' into idea13 2013-07-09 19:52:06 +04:00
Erokhin Stanislav
b2ccae41f8 Update to IDEA 12.1.4 (build 129.713) 2013-07-09 19:25:29 +04:00
Alexey Sedunov
3a881672e8 KT-3732 "Move statement" should respect DSLs 2013-07-09 18:33:33 +04:00
Alexey Sedunov
4a19d4f77b Fix "Move statement" for the cases when nested closure is used (KT-3735) 2013-07-08 19:16:58 +04:00
Nikolay Krasko
21fa398380 KT-3750 When without else
#KT-3750 Fixed
2013-07-08 13:04:58 +04:00
Leonid Shalupov
abcf5616f7 KT-3725 attach empty javadocs to all artifacts except compiler and runtime 2013-07-08 02:25:04 +04:00
Leonid Shalupov
d0765d5e4a KT-3725 build sources.jar for all maven modules 2013-07-08 00:56:11 +04:00
Leonid Shalupov
fee0902399 KT-3725 set jar packaging for Kotlin compiler artifact 2013-07-06 17:05:51 +04:00
Leonid Shalupov
8162fcd3eb KT-3725 better scm references 2013-07-06 16:17:52 +04:00
Leonid Shalupov
dc9597759a KT-3725 required tags for Maven Central 2013-07-06 15:27:20 +04:00
Natalia.Ukhorskaya
b76980266d Fix tests on android 2013-07-05 20:23:25 +04:00
Natalia.Ukhorskaya
728e08cc49 Rewrite AnnotationCodegen to generate annotation arguments by AnnotationDescriptor 2013-07-05 19:19:00 +04:00
Natalia.Ukhorskaya
b6bdcb303d Resolve java.lang.Class as annotation argument 2013-07-05 19:18:58 +04:00
Natalia.Ukhorskaya
bbed2da4dd Resolve annotations in annotation arguments 2013-07-05 19:18:57 +04:00
Natalia.Ukhorskaya
42b0bdc54d Support varargs in annotation arguments 2013-07-05 19:18:56 +04:00
Natalia.Ukhorskaya
42f10d77db Add annotation argument type in tests 2013-07-05 19:18:55 +04:00
Natalia.Ukhorskaya
98d3b1e113 Resolve arrays in annotation arguments 2013-07-05 19:18:54 +04:00
Natalia.Ukhorskaya
dddec9ea3d Resolve enum in annotation arguments 2013-07-05 19:18:53 +04:00
Svetlana Isakova
d3e6d2d6cd do not need to check stand-alone class object for class,
when it's on the left hand side of dot it is analyzed in 'getIdForImplicitReceiver' (test added)
2013-07-05 18:03:52 +04:00
Svetlana Isakova
9fd8a8d497 removed method 'isClassObjectAValue'
There are no sensible usages of it.
Presence of class object can be determined by 'getClassObjectDescriptor() != null' check
2013-07-05 18:03:51 +04:00
Svetlana Isakova
cf5c5dba3d KT-3189 Function invoke is called with no reason
prioritize tasks specially for invoke

 #KT-3189 Fixed
 #KT-3190 Fixed
 #KT-3297 Fixed
2013-07-05 18:03:51 +04:00
Svetlana Isakova
9347a48df8 restored priorities
members with invoke have more priority than extensions
2013-07-05 18:03:51 +04:00
Svetlana Isakova
54e1cf0879 removed incorrect code from resolve tests
Resolve tests had a functionality that for primary constructor parameters
 class A(val x: Int, y: Int)
 `$x` was resolved to property descriptor while `x` was resolved to value parameter descriptor.
But it worked incorrect (see tests changes) and was senseless because 'x' in code always resolves to property descriptor.
So it was dropped.
2013-07-05 18:03:51 +04:00
Nikolay Krasko
37e4402822 Complete only imported classes on auto-typing and first completion and set up invocation count 2013-07-04 21:22:22 +04:00
Nikolay Krasko
f0a10b70c1 Fix wrong unnecessary completion for the case of force completion
#KT-1187 Fixed
2013-07-04 20:49:31 +04:00
Nikolay Krasko
86274466c5 Add ability to search kotlin classes in selected scope 2013-07-04 20:49:29 +04:00
Nikolay Krasko
03053711f4 Refactoring: Move CompleteSession class to upper level 2013-07-04 20:49:27 +04:00
Nikolay Krasko
141c544775 KT-3729 Quick documentation support
#KT-3729 Fixed
2013-07-04 20:48:26 +04:00
Nikolay Krasko
c8f79e1966 Move project descriptor to common place 2013-07-04 18:49:49 +04:00
Natalia.Ukhorskaya
2152c22f86 Resolve annotation class constructors before other constructors 2013-07-04 14:38:17 +04:00
Natalia.Ukhorskaya
e8faf96c41 Remove redundant parameter 2013-07-04 14:38:12 +04:00
Natalia.Ukhorskaya
a5662fe906 Resolve annotations arguments in body resolver 2013-07-04 14:38:07 +04:00
Natalia.Ukhorskaya
33ddd713b7 Check annotation constructor parameter types 2013-07-04 14:37:29 +04:00
Alexander Udalov
96cb7da025 Report correct parameter name in not-null assertions 2013-07-03 21:06:11 +04:00
Evgeny Gerashchenko
beba2890ea Minor. @NotNull annotation. 2013-07-02 14:21:27 +04:00
Evgeny Gerashchenko
21b964cb7a Removed TODO. 2013-07-02 14:11:12 +04:00
Evgeny Gerashchenko
e017645c97 Reorganized SAM-related test data. 2013-07-02 14:06:09 +04:00
Evgeny Gerashchenko
8a51f908f7 Made keywords not bold in Darcula (as in Java). 2013-07-02 14:06:08 +04:00
Evgeny Gerashchenko
06bfb1d017 KT-3472 Can't navigate to source by clicking on a SAM constructor
#KT-3472 fixed
2013-07-02 14:06:08 +04:00
Evgeny Gerashchenko
b7b74cd3b8 Combining two color keys for KDoc tags (plain KDoc + KDoc tag). 2013-07-02 14:05:35 +04:00
Nikolay Krasko
8cf66b8a14 Fix deprecation warnings 2013-07-01 15:01:36 +04:00
Mikhael Bogdanov
d953919110 Android test fix 2013-06-28 10:16:07 +04:00
Evgeny Gerashchenko
3e70661a6d Handling null correctly when wrapping function in SAM wrapper 2013-06-27 20:37:27 +04:00
Evgeny Gerashchenko
c6f6e6c756 Minor. Renamed method parameter. 2013-06-27 17:46:40 +04:00
Evgeny Gerashchenko
72b0e1b07c Got rid of samAwareGen for simplicity. 2013-06-27 17:41:36 +04:00
Evgeny Gerashchenko
d0c74755e8 Added test which should be enabled after fixing bug in front-end. 2013-06-27 17:09:18 +04:00
Evgeny Gerashchenko
4813842288 Added toString() implementations. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko
773ff20585 Minor. Shorter code. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko
be7dba0781 Minor. Static import. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko
939b658704 Supported SAM adapter in infix calls. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko
79185b6775 Added tests with SAM adapters in comparison operators. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko
9905e2a719 Added tests with SAM adapters in "invoke" convention. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
f35390134f Supported SAM adapters in "in/!in" operators. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
0059db486f Supported SAM adapters in augmented assignment operators. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
036960f117 Supported SAM adapters as plus/minus/etc operators. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
b1fb0aafea Supported SAM adapters as get/set operators. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
779ea1d7b8 Storing info about expressions which should be generated as SAM values. 2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
e58bd5b6ec Not recording names for SAM constructor calls since they are managed SamWrapperClasses. 2013-06-27 17:09:15 +04:00
Evgeny Gerashchenko
7660ae7f20 Simplified code. 2013-06-27 17:09:15 +04:00
Mikhael Bogdanov
8cd1880805 KT-3722: Write correct generic type information for generated fields
#KT-3722 Fixed
2013-06-27 15:59:48 +04:00
Natalia.Ukhorskaya
a37be3c205 Add tests for observable/vetoable properties 2013-06-27 11:00:48 +04:00
Evgeny Gerashchenko
f2458f62c2 Prioritized super constructor calls. 2013-06-26 21:04:11 +04:00
Evgeny Gerashchenko
2cb4c7edbb Test with SAM adapter for method inherited/overriding other from Kotlin. 2013-06-25 20:17:48 +04:00
Evgeny Gerashchenko
525af972d3 Replaced ref object usage with custom class. 2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
b77fbf37b6 Using more specific class. 2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
104f15adc4 Moved Java-related keys to JavaBindingContext. 2013-06-25 20:17:47 +04:00
Evgeny Gerashchenko
eef380a5c3 Extracted SAM constructor and adapter recording methods. 2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
939bab67f0 Removed useless parameter. 2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
caf25ad4eb More direct resolving function group from Java. 2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
b4ce39aeb1 Test with calling abstract wrapper which is implemented in Kotlin. 2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
1f2676becd Ignoring SAM adapters when checking for unimplemented methods or methods to override. 2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
fd7b29ad48 Added tests with SAM adapter overridden in Kotlin class. 2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
f4c3a89408 Added tests with SAM adapter inherited in Kotlin class. 2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
5c3577dfed Added tests with SAM adapter overridden in Java class. 2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
c77559fac9 Attaching stdlib in load java tests more directly. 2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
63dbfcb81c Added test with vararg parameter in SAM interface. 2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
906f900b28 Added test with inherited SAM adapter. 2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
8e49eb135a Correctly processing inherited methods when checking for SAM interface. 2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
63c17bd0b2 Green code. 2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
9668360df3 Not showing "empty if" when it has comment inside. 2013-06-25 20:17:43 +04:00
Evgeny Gerashchenko
eb7dc87225 Ignore SAM adapters when finding abstract members. 2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
d78f36a780 Minor. Renamed test. 2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
ee9fcff9ca Supported non-literal arguments for SAM adapters. 2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
2e2061d9b6 Clarified comment. 2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
be02943675 Considering SAM interface FQ name in hash. 2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
7ef4c8cfa8 Generating SAM wrapper class per source file. 2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
0fbf203ff7 Extracted method. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
7d514bf081 Simplified code. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
8a9ec0f3ce Added comment. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
ba2dae4db7 Removed obsolete comment. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
0f067f042f Using more specific class. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
fe77c3edb9 Replaced signed decimal with hex. Eliminated querying canonical path. 2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
e8d0022406 Typo. 2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
cfc99b941a Added test for ambiguous SAM adapters within one class. 2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
4980dacd33 Supported calls of SAM adapters for constructors. 2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
5e2c3fcb50 Loading SAM adapters for constructors. 2013-06-25 20:16:20 +04:00
Evgeny Gerashchenko
50eb14c525 Rendering member kind for constructor. 2013-06-25 20:16:20 +04:00
Alexander Udalov
fea85476b7 Cast int to byte/short/char in for loop generation
Similar to the previous commit, don't use iinc or iadd+istore where the value
can overflow the byte/short/char limits. This fixes Android tests
2013-06-25 18:48:28 +04:00
Alexander Udalov
356c32893b Don't use 'iinc' instruction on byte/short/char variables
Android run-time verifier complains when there's any possibility that a
byte/short/char local variable could contain a value not fitting into the
type's limits.
2013-06-25 18:48:28 +04:00
Alexander Udalov
db41329e67 Exclude KT-3574 from Android tests due to jet.Nothing bug 2013-06-25 18:48:27 +04:00
Alexander Udalov
68b0ad53c4 Regression test for KT-24
#KT-24 Obsolete
2013-06-25 18:48:20 +04:00
Alexander Udalov
9b3115a10b Fix EA-47308
Don't always cast PsiFile to JetFile, first check if it really is a Kotlin
source
2013-06-25 18:22:20 +04:00
Nikolay Krasko
69dffe8358 Optimize searching for kotlin classes 2013-06-25 17:33:09 +04:00
develar
7f1f2aa641 Dropped get_hasNext (hasNext property) from js library files. 2013-06-22 01:34:38 +04:00
Zalim Bashorov
9d1e319f0f JS backend: implemented PrimitiveHashMap#putAll. 2013-06-22 01:34:38 +04:00
develar
fa10a3289d Use PrimitiveHashMap and PrimitiveHashSet when possible.
Kotlin.AbstractList splitted to AbstractCollection and AbstractList.
2013-06-22 01:34:37 +04:00
develar
9cd22942e2 Translate when as if-else instead for loop. 2013-06-22 01:34:36 +04:00
develar
bc043fb964 Used convenient JsNameRef ctor instead setQualifier for create JsNameRef with name and qualifier. 2013-06-22 01:34:36 +04:00
develar
d64a896c12 Used idea SmartList and SingletonList in some cases instead ArrayList.
Removed unused imports.
2013-06-22 01:34:36 +04:00
Zalim Bashorov
2cce4c575a Fixed the comment of the native vararg test. 2013-06-22 01:34:36 +04:00
Alexey Sedunov
8f7d623682 Rename: Fix spelling mistake 2013-06-21 19:32:20 +04:00
Alexey Sedunov
d019c23395 Implement general expresion remover 2013-06-21 19:32:14 +04:00
Alexey Sedunov
0b634cc918 Implement Unwrap/Remove for try expressions 2013-06-21 19:32:09 +04:00
Alexey Sedunov
9d46c90165 Implement Unwrap/Remove for lambdas 2013-06-21 19:32:03 +04:00
Alexey Sedunov
8964e0e152 Implement Unwrap/Remove for conditionals and loops 2013-06-21 18:18:08 +04:00
Alexey Sedunov
fa01d59ef8 Fixed moving of classes without body 2013-06-21 18:18:07 +04:00
Alexander Kirillin
07ede8898b EA-46365 2013-06-21 16:58:26 +04:00
Alexander Kirillin
9b9c85cdca EA-46366 2013-06-21 16:58:26 +04:00
Alexander Kirillin
7e628a6d02 EA-46007 2013-06-21 16:58:26 +04:00
Alexander Udalov
33bcee7d6d Fix iterators for one-element progressions
In case of start==end hasNext was always false, which resulted in iterators
over one-element progressions not iterating that element
2013-06-20 23:27:11 +04:00
Alexander Udalov
9a6979aa6c Minor, rename method 2013-06-20 22:23:02 +04:00
Alexander Udalov
aea8f3bcee Fix and test ProgressionUtil
Arithmetical modulo implementation was incorrect (-10 mod 1 == 0, but was 1)
2013-06-20 22:23:02 +04:00
Alexander Udalov
53cc582040 Minor, use incrementType in for-progression codegen
This doesn't fix anything, just makes it easier to figure out values of what
types are used where. Progression increment is of its own type, which may be
different from asmElementType in case of Byte, Char, Short progressions
2013-06-20 22:23:02 +04:00
Alexander Udalov
980e409768 Optimize integer progression iterators
With the help of ProgressionUtil hasNext and next* consist now of only several
bytecode instructions
2013-06-20 22:20:39 +04:00
Alexander Udalov
d85ca47184 Generate optimized bytecode for 'for' in progression
Instead of checking for overflow at the end of each iteration, calculate the
actual final loop parameter value before the loop, save it to the local
variable and at the end of the iteration check if the loop parameter is exactly
equal to this final value.

ProgressionUtil.getProgressionFinalElement() credits go to @geevee
2013-06-20 20:19:54 +04:00
Alexander Udalov
8a14b62a23 KT-3574 Assertion error when using ?: in for range
#KT-3574 Fixed

Do not assert that resolvedCall is non-null, since getRangeAsBinaryCall can
return a BinaryCall that doesn't represent a range at all (as specified by the
comment in getRangeAsBinaryCall)
2013-06-20 16:03:00 +04:00
Alexander Udalov
3ff5acd69c Minor, ignore android dependencies when looking for @author 2013-06-20 16:03:00 +04:00
Alexander Udalov
e22947281c Minor, cut down unnecessary 'load' in for-progression codegen 2013-06-20 16:03:00 +04:00
Alexander Udalov
ee80e0b8ca Fix loops over progressions near to MAX_VALUE/MIN_VALUE
#KT-492 Fixed

For Byte, Char and Short ranges, promote the type of the loop parameter to int
to avoid overflows. For Int and Long ranges at the end of the loop over a
progression we now check if the new (incremented) value of the loop parameter
is greater than the old value iff increment > 0
2013-06-20 16:03:00 +04:00
Alexander Udalov
33d6347876 Fix loop over a range literal up to MAX_VALUE
#KT-492 In Progress

For Byte, Char and Short explicit casting from Int is removed -- loop parameter
is already stored in an Int anyway. For Int and Long comparison "i < end" at
the beginning of the loop is replaced to "i != end" at the end of the loop + a
special check for an empty loop
2013-06-20 16:02:59 +04:00
Alexander Udalov
f1a6d27d35 Minor, prevent infinite loops in range tests 2013-06-20 16:02:59 +04:00
Nikolay Krasko
b0484c9680 Refactorings in counting parameters tips 2013-06-20 14:56:50 +04:00
Nikolay Krasko
e7bdee7994 Fix color for highlighting resolved method 2013-06-20 14:56:49 +04:00
Nikolay Krasko
1c2ee72322 Lazy analyze in counting parameters tips 2013-06-20 14:56:49 +04:00
Svetlana Isakova
9bf5f16bb7 refactoring
extracted checkReceiverTypeError method to avoid 'checkOnlyReceiverTypeError' boolean flag
2013-06-20 13:43:04 +04:00
Svetlana Isakova
eb85e9abce fixed npe in comparing results 2013-06-20 13:43:04 +04:00
Svetlana Isakova
4403ea7b1d added ThrowingScope 2013-06-20 13:43:04 +04:00
Svetlana Isakova
041505f5b8 report UNRESOLVED_REFERENCE_WRONG_RECEIVER
mentioning candidates with wrong receiver
2013-06-20 13:43:03 +04:00
Svetlana Isakova
3340b94bd8 refactoring
extracted methods
2013-06-20 13:43:02 +04:00
Svetlana Isakova
342e9ebe7a KT-3563 Compiler requiring java.io.File, and it's unclear why
#KT-3563 fixed
2013-06-20 13:43:02 +04:00
Svetlana Isakova
3cf133bff7 changed local extensions priority
local extensions aren't longer chosen before members
2013-06-20 13:43:01 +04:00
Mikhael Bogdanov
132d74200b Partial fix for KT-3698: properly write field initializer 2013-06-19 17:02:28 +04:00
Nikolay Krasko
935c5ec16d Add folding doc and multiline comments 2013-06-18 17:46:02 +04:00
Nikolay Krasko
9c604267f8 Extract setting configurator to utility class 2013-06-18 17:46:01 +04:00
Mikhael Bogdanov
86f2a6dc69 Tests for not reproduced KT-1770, KT-3001 and KT-3414
#KT-3414 Can't Reproduced
 #KT-3001 Can't Reproduced
 #KT-1770 Can't Reproduced
2013-06-18 14:46:14 +04:00
Mikhael Bogdanov
79cf02ffb9 Fix for KT-3546: Exception when delegating to ArrayList
#KT-3546 Fixed
2013-06-18 13:23:54 +04:00
Mikhael Bogdanov
8ac8798266 Fix for KT-3684: IllegalAccess on a private property of the outer class
#KT-3684 Fixed
2013-06-18 11:20:44 +04:00
Alexander Udalov
03a818f732 Regenerate tests 2013-06-17 21:50:20 +04:00
Mikhael Bogdanov
e803bcb3d9 Fix for KT-3687
#KT-3687 Fixed
2013-06-17 18:01:50 +04:00
Mikhael Bogdanov
52ead7a350 Fix for static - write NEED_SYNTHETIC flag on original descriptor 2013-06-17 17:25:40 +04:00
Mikhael Bogdanov
76d4dcef7f Tests for renamed fields 2013-06-17 15:20:42 +04:00
Mikhael Bogdanov
aec6deae9f Rename fields on name clashing
#KT-3663 Fixed
 #KT-3664 Fixed
2013-06-17 15:20:42 +04:00
Mikhael Bogdanov
406f90badf CodegenContext replaced with MethodContext in ExpressionCodegen 2013-06-17 15:20:42 +04:00
Mikhael Bogdanov
4feb395dcc Test for static 2013-06-17 15:20:41 +04:00
Mikhael Bogdanov
be72e096ef Realization of class object fields as static fields of outer class
#KT-2213 Fixed
2013-06-17 15:20:41 +04:00
Mikhael Bogdanov
47fe81471a Synthetic accessors for class object private members
#KT-3338 Fixed
2013-06-17 15:20:34 +04:00
Mikhael Bogdanov
4ef2f997ed Test for not reproduced KT-2700
#KT-2700 Can't Reproduce
2013-06-17 10:39:23 +04:00
Zalim Bashorov
16d71eeeac Added missing file (class). 2013-06-15 16:08:55 +04:00
Zalim Bashorov
a69744e6fb Introduced the cache of temporary variables and expressions.
Used the cached temporary variables in SafeCall and SureCall instead create a new temporary variable.
2013-06-15 15:55:10 +04:00
Zalim Bashorov
ee5c7c8f5c Added support spread operator in JS-Backend. 2013-06-15 00:52:02 +04:00
Zalim Bashorov
2bae647412 Make nullable check less verbose in JS-backend.
For check what variable is equal null or undefined enough to compare with null (or undefined).
See ECMAScript specification 11.9.1, 11.9.2, 11.9.3
2013-06-15 00:52:02 +04:00
Zalim Bashorov
60a2f4ef08 Added SingleFileTranslationTest#checkFooBoxIsOk without arguments which use test name as filename. 2013-06-15 00:52:00 +04:00
Alexey Sedunov
6f942a21de Move intention-related classes and tests to "intentions" directory 2013-06-13 20:19:38 +04:00
Alexey Sedunov
57252ea491 Add missing tests 2013-06-13 20:19:36 +04:00
Alexey Sedunov
12ea273ac0 Simplify unfolding of properties, fix caret position 2013-06-13 20:19:35 +04:00
Alexey Sedunov
3ab393e460 Implement split/join property declaration 2013-06-13 20:19:34 +04:00
Alexey Sedunov
42910395fc Remove unused utility methods 2013-06-13 20:19:33 +04:00
Alexey Sedunov
da2055862e Move common code transformation classes 2013-06-13 20:19:32 +04:00
Alexey Sedunov
f9c4606128 Introduce 'when' subject: consider equality right-hand side as subject candidate 2013-06-13 20:19:32 +04:00
Alexey Sedunov
e13508c22b Add support of backticks in JetPsiMatcher 2013-06-13 20:19:31 +04:00
Andrey Breslav
6629892dad Convert both strings to \n before comparing 2013-06-13 14:41:27 +04:00
Andrey Breslav
1f45e309d2 Do not dispose environments outside tearDown()
This caused exceptions (write access assertions) when tests with mock application ran after tests with full Application
2013-06-13 12:30:18 +04:00
Zalim Bashorov
bca243727c Changed GitHub's authorization method. 2013-06-13 11:39:55 +04:00
Andrey Breslav
88c5aaeaa1 Put validation parameter into Configuration 2013-06-11 22:09:40 +04:00
Andrey Breslav
97fabf5fc2 Allow error types for some Java tests 2013-06-11 22:09:40 +04:00
Andrey Breslav
4756e9fde3 Extract method 2013-06-11 22:09:40 +04:00
Andrey Breslav
23f91e4978 Do not dispose the project before results of its analysis are used 2013-06-11 22:09:39 +04:00
Andrey Breslav
40b2478d3d Validation integrated into NamespaceComparator 2013-06-11 22:09:38 +04:00
Andrey Breslav
d4ee6bd781 Account for error types equality 2013-06-11 22:09:37 +04:00
Andrey Breslav
9d2ea86a78 Additional checks in validator 2013-06-11 22:09:37 +04:00
Andrey Breslav
f4991fac1e Minor changes: comment & simplify 2013-06-11 22:09:36 +04:00
Andrey Breslav
994691579b Rename 2013-06-11 22:09:36 +04:00
Andrey Breslav
dd0e919f8e Deferred types may delegate equals() to their actual implementatinos 2013-06-11 22:09:35 +04:00
Andrey Breslav
325946154b Fix and test RecursiveDescriptorProcessor 2013-06-11 22:09:35 +04:00
Zalim Bashorov
1e0f926d39 Fixed the expected test result for OverrideImplementTest#testFunctionWithTypeParameters. 2013-06-11 15:50:16 +04:00
Zalim Bashorov
9e4f01319b Swapped some CodeStyle options because must first be "... before ..." then "... after..." 2013-06-11 13:59:23 +04:00
Zalim Bashorov
03b039b302 Fixed the default Kotlin CodeStyle.
By default add space before colon when it placed between types (inheritance, type constraint, type parameter).
Added example of inheritance to the Sample.
2013-06-11 13:49:09 +04:00
Zalim Bashorov
6e96ff4b11 Fixed Maven Artifacts Deployment.
Reverted the server configuration changes and added a new server to work with GitHub.
2013-06-11 13:23:54 +04:00
Zalim Bashorov
28244867ee Fixed Api Docs Deployment. 2013-06-10 20:16:02 +04:00
Evgeny Gerashchenko
9b19685ec1 Merge branch master into pr/269 2013-06-10 17:40:37 +04:00
Andrey Breslav
26a6af2765 Revert d494f49 Removing unneeded flag 2013-06-10 16:49:41 +04:00
Andrey Breslav
7171cd4cc5 Path separator must be constant
TeamCity agents have different OS'es, but build parameters are fixed
2013-06-10 15:33:44 +04:00
Andrey Breslav
d494f49173 Removing unneeded flag 2013-06-10 15:33:11 +04:00
Andrey Breslav
0d0d1ed300 Allow error types in some cases for lazy resolve tests 2013-06-10 15:33:11 +04:00
Andrey Breslav
77261a5922 Render properties in builtin-classes.txt 2013-06-10 15:33:10 +04:00
Andrey Breslav
3e8031acbd Properly load objects nested into class objects from Java 2013-06-10 15:33:10 +04:00
Andrey Breslav
56f040608a Minor: Reorder declarations 2013-06-10 15:33:10 +04:00
Andrey Breslav
aa985242ba Some Java tests deliberately have error types 2013-06-10 15:33:09 +04:00
Andrey Breslav
9d248d5c4a equals() fixed for types 2013-06-10 15:33:09 +04:00
Andrey Breslav
a6edc21c49 Validate descriptors loaded in tests 2013-06-10 15:33:09 +04:00
Jack Zhou
8f24d1e18b Create from usage: Removed a redundant check. 2013-06-08 18:48:41 -07:00
Nikolay Krasko
d50300dedc Navigate to super for objects 2013-06-07 17:24:19 +04:00
Nikolay Krasko
4e67566e58 Add utility method for getting before and after text 2013-06-07 17:24:19 +04:00
Nikolay Krasko
27baad64c0 Fix recursion of checking type is supertype during resolving list of supertypes 2013-06-07 17:24:18 +04:00
Nikolay Krasko
994107ee0a Mix class object scope to member resolution scope in lazy resolve 2013-06-07 17:24:17 +04:00
Nikolay Krasko
37cd7eb1ba Allow resolve class declarations in class objects
Use INACCESSIBLE_OUTER_CLASS_EXPRESSION error for marking already resolved elements

 #KT-3261 Fixed
2013-06-07 17:24:17 +04:00
Nikolay Krasko
a04ecb185e Assert namespaces are found and remove null-pointer warning 2013-06-07 17:24:16 +04:00
Nikolay Krasko
4b50dbf01c Better debug names for lazy scopes 2013-06-07 17:24:15 +04:00
Nikolay Krasko
9d71c372ce Assert null pointer warning 2013-06-07 17:24:14 +04:00
Nikolay Krasko
a21f7dcf37 Fix warning 2013-06-07 17:24:14 +04:00
Nikolay Krasko
3bd258ffa6 Refactoring: remove warnings 2013-06-07 17:24:13 +04:00
Alexey Sedunov
3f2ff3eb24 Add code transformations for if/when in local property initializers 2013-06-07 17:05:05 +04:00
Alexey Sedunov
70b4fb48bc Add file parameter to Transformer 2013-06-07 17:04:19 +04:00
Evgeny Gerashchenko
9c29c82315 Fixed filename case. 2013-06-07 16:37:03 +04:00
Evgeny Gerashchenko
ec4aa352bb Not loading SAM adapters from compiled Kotlin classes. 2013-06-07 13:28:09 +04:00
Evgeny Gerashchenko
d9d8598b56 Subclassed from PsiClassHolderFileStub. 2013-06-07 13:28:05 +04:00
Alexey Sedunov
857ba92996 Remove unjustified annotations 2013-06-07 13:10:08 +04:00
Natalia.Ukhorskaya
d9860876f5 Remove redundant clearDir in build.xml 2013-06-07 11:06:01 +04:00
Natalia.Ukhorskaya
afa3ead160 Add kotlin annotations for android SDK 2013-06-07 11:05:57 +04:00
Evgeny Gerashchenko
5965904c0f Fixed filename case. 2013-06-06 21:59:37 +04:00
Evgeny Gerashchenko
203dd93a7a Not loading SAM adapters from compiled Kotlin classes. 2013-06-06 21:35:02 +04:00
Evgeny Gerashchenko
9601762b2c Subclassed from PsiClassHolderFileStub. 2013-06-06 21:35:02 +04:00
Svetlana Isakova
66dc6a975d better message if a resolve test fails 2013-06-06 18:23:11 +04:00
Svetlana Isakova
9731ff499e added generator for resolve tests 2013-06-06 18:23:11 +04:00
Svetlana Isakova
92424edb29 refactoring
extracted variables
added method 'replaceCall' to ResolutionTask
removed unused parameter
2013-06-06 17:20:11 +04:00
Svetlana Isakova
fc0077cf9b removed explicit type arguments
from delegation tests where possible
2013-06-06 17:20:11 +04:00
Svetlana Isakova
ca88a01e1d no 'dangling function literal' check for nested calls 2013-06-06 17:20:10 +04:00
Svetlana Isakova
4e6ec64d9a changed resolution candidates order
for foo()
first try 'this.foo()', then 'foo()'
2013-06-06 17:20:10 +04:00
Svetlana Isakova
12ef42b6ae small refactoring 2013-06-06 16:31:13 +04:00
Svetlana Isakova
f41584c7ab tests added
for inference for delegated properties
2013-06-06 16:31:06 +04:00
Andrey Breslav
9d9ec492f3 Merge branch 'master' into idea13
Adding move statement/move expression
2013-06-05 17:43:30 +04:00
Alexey Sedunov
ef2af3a4e8 Fix brace node extraction from class initializer 2013-06-05 16:03:51 +04:00
Alexey Sedunov
62bdb37014 Do not move closing brace in function-like elements 2013-06-05 15:51:32 +04:00
Alexey Sedunov
7805ee01eb Fix moving of value parameters and arguments 2013-06-05 15:51:27 +04:00
Alexey Sedunov
a78822ddba Unify getSourceRange() for declaration and expression movers 2013-06-05 15:51:21 +04:00
Alexey Sedunov
cda940f415 Add support of "braceless" blocks 2013-06-05 15:51:15 +04:00
Alexey Sedunov
30e333c670 Allow to move "when entry" at closing brace 2013-06-05 15:51:10 +04:00
Alexey Sedunov
2cc163cd90 Replace triple booleans with enums 2013-06-05 15:51:04 +04:00
Alexey Sedunov
5345d0a0d5 Fix moving of value/type parameters 2013-06-05 15:50:59 +04:00
Alexey Sedunov
57edbdfbc4 Allow moving out to arbitrary blocks and moving any declaration into class body 2013-06-05 15:50:53 +04:00
Alexey Sedunov
b00ec82884 Implement "move expression up/down" action handler 2013-06-05 15:50:47 +04:00
Alexey Sedunov
fe8891299b Implement "move class-level declaration up/down" action handler 2013-06-05 15:50:41 +04:00
Alexey Sedunov
3a2e30152a Improve parser recovery for list of value parameters/arguments 2013-06-05 15:49:33 +04:00
Alexey Sedunov
a2ee65e64c Add type tests for JetPsiMatcher 2013-06-05 15:03:19 +04:00
Alexey Sedunov
3a2be3be01 Fix functional type matching 2013-06-05 15:03:18 +04:00
Alexey Sedunov
3a635c537e Move JetPsiMatcher with tests to plugin module 2013-06-05 15:03:17 +04:00
Andrey Breslav
2f554e46ff Merge branch 'master' into idea13 2013-06-05 12:33:40 +04:00
Svetlana Isakova
7e564de71a added constraint for package level delegated property 2013-06-04 22:11:43 +04:00
Svetlana Isakova
2b0616b1c4 rename
ERROR_IDENTIFIER_INFO -> NO_IDENTIFIER_INFO
2013-06-04 22:11:43 +04:00
Svetlana Isakova
2337f4b948 bug fix
do not combine receiverInfo with error selectorInfo
2013-06-04 22:11:43 +04:00
Svetlana Isakova
ecec6acde8 use explicit type of delegated property as expected
while resolving constraint system for delegated expression
2013-06-04 22:11:43 +04:00
Natalia.Ukhorskaya
8429162220 Merge branch 'master' into idea13
Conflicts:
	idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionToSupertypeFix.java
	idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionReturnTypeFix.java
	libraries/stdlib/src/kotlin/properties/Properties.kt
	libraries/stdlib/test/properties/delegation/DelegationTest.kt
	libraries/stdlib/test/properties/delegation/MapDelegationTest.kt
	libraries/stdlib/test/properties/delegation/lazy/LazyValuesTest.kt
	update_dependencies.xml
2013-06-04 13:14:08 +04:00
Natalia.Ukhorskaya
acbccb9411 Get asm from fixed idea build (jar with debug info and patched for java 8) 2013-06-04 11:11:48 +04:00
Andrey Breslav
ce402068c9 Using a property for IDEA zip name
(cherry picked from commit 42683dc)
2013-06-04 11:11:47 +04:00
Andrey Breslav
9270eec30f Using properties for dependency build id's
(cherry picked from commit 68b0aa0)
2013-06-04 11:11:46 +04:00
Evgeny Gerashchenko
c51a70b3b8 Optimized obtaining super methods. 2013-06-03 18:20:36 +04:00
Evgeny Gerashchenko
343a28ac2d Ignored local Gradle repository. 2013-06-03 17:47:36 +04:00
Evgeny Gerashchenko
3e5feeb436 Minor. Added comments. 2013-06-03 17:40:58 +04:00
Evgeny Gerashchenko
89b3f953d1 Fixed broken reference to jar. 2013-06-03 17:40:57 +04:00
Evgeny Gerashchenko
6d0b8f953d Typo. 2013-06-03 17:40:57 +04:00
Nikolay Krasko
555e182d6d Fix returned indices from TextBlockTransferableData
Thanks to Alexander (https://github.com/Alefas) for idea

 #KT-3662 Fixed
2013-05-31 20:55:35 +04:00
Andrey Breslav
6d6e627641 Support custom JDK annotations path for TeamCity 2013-05-31 20:35:32 +04:00
Svetlana Isakova
61f50fc832 removed 'allowNamespaces' flag
from creating IdentifierInfo
2013-05-31 16:29:07 +04:00
Svetlana Isakova
42b34586bd made ReceiverValueVisitor an interface 2013-05-31 16:29:07 +04:00
Svetlana Isakova
f05f616230 KT-2422 Invalid warning "Condition is always true"
#KT-2422 fixed
2013-05-31 16:29:07 +04:00
Leonid Shalupov
213e8c11c9 Merge pull request #283 from nskvortsov/master
Isolated classloading for kotlin gradle plugin
2013-05-31 05:18:16 -07:00
Natalia Ukhorskaya
3b72b2be0c Merge pull request #282 from lopekpl/type_mismatch_in_literals3
QuickFixes for TYPE_MISMATCH
2013-05-31 01:29:32 -07:00
Maxim Shafirov
868bf90de2 Rollback 0514ddc719 due to failing tests 2013-05-31 11:35:11 +04:00
Maxim Shafirov
58914cdf33 Delegate properties stdlib, take 2. 2013-05-30 19:06:45 +04:00
shafirov
a954508284 Merge pull request #284 from erokhins/master
fix Iterable<T>.toSortedList in libraries
2013-05-30 07:04:46 -07:00
Erokhin Stanislav
0514ddc719 fix Iterable<T>.toSortedList 2013-05-30 17:09:31 +04:00
Nikita Skvortsov
5429c1333e Tests for wrapped plugin, some polishing 2013-05-30 15:21:27 +04:00
Nikita Skvortsov
9f0acd0e98 fix tests 2013-05-30 15:21:26 +04:00
Nikita Skvortsov
308c12f45c first class loader wrapper implementation 2013-05-30 15:21:26 +04:00
Nikita Skvortsov
7e36547b38 Added wrapper module for gradle plugin 2013-05-30 15:21:25 +04:00
Nikita Skvortsov
7e58d83121 rename module 2013-05-30 15:21:25 +04:00
Natalia.Ukhorskaya
fc3a413fba Check not null annotations for parameters in IdeaJdkAnnotationsReflectedTest 2013-05-30 13:07:53 +04:00
Evgeny Gerashchenko
92bc46ab8f Fixed starting in profiler. 2013-05-30 13:07:52 +04:00
Andrey Breslav
5a50caa8ac The error message now tells the user about jps.kotlin.home
For TeamCity users
2013-05-30 13:07:51 +04:00
Andrey Breslav
a8267b370e Do not fail on circular dependencies + better message 2013-05-30 13:07:50 +04:00
Evgeny Gerashchenko
bc8a6d9023 Ignoring all workspace.xml files. 2013-05-30 13:07:49 +04:00
Evgeny Gerashchenko
63899bdd5d Sorted .gitignore 2013-05-30 13:07:48 +04:00
Evgeny Gerashchenko
b2ed1b1e96 Cleanup in .gitignore 2013-05-30 13:07:47 +04:00
Evgeny Gerashchenko
771cf85179 Added my dictionary with "klass" word. 2013-05-30 13:07:46 +04:00
Mikhael Bogdanov
61b495e95c Fixed 'lowercaseFirstLetter' for test data in 280 pull request 2013-05-30 13:07:45 +04:00
Sergey Rostov
d847123c9c KDoc wiki links pair matcher and @tags highlighter 2013-05-30 13:07:44 +04:00
Sergey Rostov
940008cdaa KDoc lexer refactored (got rid of hacks and separate tokens for words). Fixed bug with isInComment(element) detection. 2013-05-30 13:07:42 +04:00
Sergey Rostov
85ab1619a7 Update KetTokens.Comments TokenSet 2013-05-30 13:07:41 +04:00
Sergey Rostov
9dfe0f42a3 KT-1545, KT-3161 KDoc formatter 2013-05-30 13:07:40 +04:00
Sergey Rostov
c4bdf72054 KT-1545, KT-3161 KDoc lexer & parser 2013-05-30 13:07:38 +04:00
Sergey Rostov
92659ca7a5 KT-3161 JetCommenter implementation stub 2013-05-30 13:07:37 +04:00
Michał Sapalski
d849258757 Support for generic classes in quickfix for NOTHING_TO_OVERRIDE 2013-05-30 13:07:36 +04:00
Michał Sapalski
642d073bc9 Quickfix for NOTHING_TO_OVERRIDE: add function to one of supertypes. 2013-05-30 13:07:35 +04:00
Mikhael Bogdanov
11c44890a7 KT-3652: Char is converted to Int when used inside string interpolation
#KT-3652 Fixed
2013-05-30 13:07:33 +04:00
Andrey Breslav
aa90dac6d1 Support jps.kotlin.home 2013-05-30 13:07:32 +04:00
Andrey Breslav
8511137596 Support jps.kotlin.home 2013-05-30 13:07:31 +04:00
Evgeny Gerashchenko
8694cfa9ad Fixed compilation after renaming Name.getName()
to asString()
2013-05-30 13:07:30 +04:00
Martin Lau
ff47c4b585 Added scanning for annotations.xml entries within maven dependencies 2013-05-30 13:07:29 +04:00
Evgeny Gerashchenko
f52338a582 Renamed Name.getName() and FqName.getFqName() to asString() 2013-05-30 13:07:28 +04:00
Evgeny Gerashchenko
19e1331c11 Fixed loading SAM interfaces when they inherit abstract methods. 2013-05-30 13:07:27 +04:00
Evgeny Gerashchenko
cdb096035b Minor. Fixed assertion message. 2013-05-30 13:07:26 +04:00
Evgeny Gerashchenko
f6a6b55ffa Test for KT-3331 RuntimeException in frontend-java at TypeVariableResolverFromTypeDescriptors.getTypeVariable()
#KT-3331 obsolete
2013-05-30 13:07:25 +04:00
Evgeny Gerashchenko
6c12b694af KT-3577 Stack overflow when resolving SAM adapter (from completion, show parameters, etc)
#KT-3577
2013-05-30 13:07:24 +04:00
Evgeny Gerashchenko
3c770c2646 Added dependency class resolver -> function resolver. 2013-05-30 13:07:23 +04:00
Evgeny Gerashchenko
08f902d373 Minor. Replaced for with for each. 2013-05-30 13:07:22 +04:00
Sergey Rostov
ba142652c4 KT-3575, KT-2297 Inserting pair for "${": reverting to use KotlinTypeHandler
(with disabling JetPairMatcher for this case)
2013-05-30 13:07:21 +04:00
Natalia.Ukhorskaya
e05a9efeab Don't create stubs for properties in delegate expression 2013-05-30 13:07:20 +04:00
Andrey Breslav
fad29b8ad1 Using the version of ASM that has debug information in it
No more need for extra ASM jars (analysis and util)
2013-05-30 13:07:19 +04:00
Natalia.Ukhorskaya
485923b197 Add library classes for delegated properties 2013-05-30 13:07:18 +04:00
Natalia.Ukhorskaya
0ab434ac2d TypeCastException when casting null to T with nullable upper-bound
#KT-3637 Fixed
2013-05-30 13:07:17 +04:00
chocolateboy
0bfa5cd954 make the preloader's required profiler argument (time|notime) an optional switch: -pp
fixes for broken Windows batch files
2013-05-30 13:07:16 +04:00
Nikolay Krasko
ef819cce5a KT-3618 Missing space in error message "inconstructor"
#KT-3618 Fixed
2013-05-30 13:07:15 +04:00
Nikolay Krasko
dc3d395214 KT-3620 Don't auto-import js.* and remove in optimize imports
KT-3620 Fixed
2013-05-30 13:07:14 +04:00
Nikolay Krasko
bbc49ca9fc Configure project descriptor with directives
Implement optimize import test with redesigned class
2013-05-30 13:07:13 +04:00
Nikolay Krasko
e0d1190d5e Base class for jet light fixture to execute runPostStartupActivities() in more fixture tests 2013-05-30 13:07:11 +04:00
Sergey Rostov
91d5fedcad KT-3575, KT-2297 Inserting pair for "${": use JetPairMatcher instead of KotlinTypeHandler
#KT-3575 fixed
2013-05-30 13:07:10 +04:00
Nikolay Krasko
7e9ced290d Using JetClsMethod interface to recognize method compiled from kotlin 2013-05-30 13:07:09 +04:00
Nikolay Krasko
461e83a5d1 Add utility method for getting class from constructor parameter 2013-05-30 13:07:08 +04:00
Nikolay Krasko
bed43db274 Workaround assert when java function overrides kotlin property accessor
#KT-3621 Open
2013-05-30 13:07:06 +04:00
Nikolay Krasko
fbe3af3fdf Go to implementation line markers for properties 2013-05-30 13:07:05 +04:00
Nikolay Krasko
1f8fad9ec0 Add presentation renderer for field declared in constructor 2013-05-30 13:07:04 +04:00
Nikolay Krasko
85e5ce8111 Search implementations for properties from constructor parameters 2013-05-30 13:07:03 +04:00
Nikolay Krasko
b4cfe605ec KT-3542 Can't navigate to property implementation
#KT-3542 Fixed
2013-05-30 13:07:02 +04:00
Nikolay Krasko
bdb7e5b945 Get PsiMethod wrappers for properties and property accessors 2013-05-30 13:07:01 +04:00
Nikolay Krasko
7b8f0779ad Add test for wrapping function with default parameters 2013-05-30 13:07:00 +04:00
Nikolay Krasko
0779f1bbde Add test for wrapping function without body 2013-05-30 13:06:59 +04:00
Nikolay Krasko
f454a40eac Refactoring: extract methods 2013-05-30 13:06:58 +04:00
Nikolay Krasko
7243ef4627 Fix absence of implemented/overridden markers on overridden functions 2013-05-30 13:06:57 +04:00
Natalia.Ukhorskaya
aa1998fa20 Check not null annotations for parameters in IdeaJdkAnnotationsReflectedTest 2013-05-30 13:02:45 +04:00
Evgeny Gerashchenko
b08751f501 Fixed starting in profiler. 2013-05-30 12:53:53 +04:00
Natalia.Ukhorskaya
cc96f397eb Update idea versions in plugin.xml 2013-05-30 12:12:57 +04:00
Natalia.Ukhorskaya
c37a3713d3 Fix tests for j2converter 2013-05-30 12:12:52 +04:00
Natalia.Ukhorskaya
386a881a71 Add new annotations 2013-05-30 12:12:48 +04:00
Andrey Breslav
7ff1885e8e The error message now tells the user about jps.kotlin.home
For TeamCity users
2013-05-29 21:39:36 +04:00
Andrey Breslav
6465abe7eb Do not fail on circular dependencies + better message 2013-05-29 21:39:36 +04:00
Wojciech Lopata
4bf7151e47 Make "type mismatch" quickfixes not available in case of error types 2013-05-29 14:58:34 +02:00
Wojciech Lopata
2a97617880 QuickFix: change type of constructor parameter to match value argument in invocation 2013-05-29 13:53:07 +02:00
Wojciech Lopata
c6a378f4fb Rename directory with tests 2013-05-29 13:53:06 +02:00
Wojciech Lopata
0a541373a5 QuickFix: change property type to match expression returned by getter 2013-05-29 13:53:06 +02:00
Wojciech Lopata
16d9abf546 QuickFix: change type of overridden function to type of overridding function 2013-05-29 13:53:05 +02:00
Wojciech Lopata
e08d9ee8da Fix quickFix for PROPERTY_TYPE_MISMATCH_ON_OVERRIDE 2013-05-29 13:53:04 +02:00
Wojciech Lopata
9fdbd01660 QuickFix: change type of overridden property to type of overridding property 2013-05-29 13:53:03 +02:00
Wojciech Lopata
0d65a1b789 Better text for ChangeVariableTypeFix 2013-05-29 13:53:02 +02:00
Wojciech Lopata
1a5d515972 QuickFix: change function return type to match expexted type of call 2013-05-29 13:53:01 +02:00
Wojciech Lopata
76e648ded3 QuickFix: change overloaded operator parameter type or return type 2013-05-29 13:53:00 +02:00
Wojciech Lopata
d3492d8e6f QuickFix: change property type to match it's initializer type 2013-05-29 13:53:00 +02:00
Wojciech Lopata
ed6e734c14 Single factory for TYPE_MISMATCH error 2013-05-29 13:52:59 +02:00
Wojciech Lopata
6c8096138a Make ChangeFunctionReturnTypeFix handle function literals 2013-05-29 13:52:59 +02:00
Wojciech Lopata
0144ad0670 Enable intention actions factories to return multiple quickfixes 2013-05-29 13:52:58 +02:00
Wojciech Lopata
9b90ee2e80 ChangeFunctionLiteralReturnTypeFix for EXPECTED/ASSIGNMENT_TYPE_MISMATCH errors 2013-05-29 13:52:52 +02:00
Wojciech Lopata
44fa32c617 ChangeFunctionParameterTypeFix for TYPE_MISMATCH error 2013-05-29 12:22:41 +02:00
Wojciech Lopata
b99e46b6f9 Cleanup in "type mismatch" tests 2013-05-29 12:22:40 +02:00
Wojciech Lopata
07ea318361 Get rid of warnings in "Change Type" quickfixes 2013-05-29 12:22:34 +02:00
Wojciech Lopata
35fa071e1b Better behaviour of "Change Type" quickfixes in case of function types 2013-05-29 12:05:18 +02:00
Jack Zhou
5d786f93f9 Create from usage: Changed comment in createCreateComponentFunctionFromUsageFactory to assertion. 2013-05-28 17:23:43 -07:00
Jack Zhou
a91a2efc75 Create from usage: Extracted method from getNextAvailableName. 2013-05-28 16:57:26 -07:00
Evgeny Gerashchenko
68d8716ba8 Ignoring all workspace.xml files. 2013-05-28 20:07:02 +04:00
Evgeny Gerashchenko
79b904020d Sorted .gitignore 2013-05-28 20:07:02 +04:00
Evgeny Gerashchenko
fcf990d80d Cleanup in .gitignore 2013-05-28 20:07:02 +04:00
Evgeny Gerashchenko
b7a99ac272 Added my dictionary with "klass" word. 2013-05-28 20:07:02 +04:00
Mikhael Bogdanov
7b6505e54f Fixed 'lowercaseFirstLetter' for test data in 280 pull request 2013-05-28 15:57:08 +04:00
Andrey Breslav
bf6cd41d82 IDEA 130.703 for internal build server 2013-05-28 14:33:02 +04:00
Andrey Breslav
87739107f8 Using protobuf 2.5.0 2013-05-28 14:11:03 +04:00
Sergey Rostov
bcc2c46e99 KDoc wiki links pair matcher and @tags highlighter 2013-05-28 13:05:29 +04:00
Sergey Rostov
12e20378a2 KDoc lexer refactored (got rid of hacks and separate tokens for words). Fixed bug with isInComment(element) detection. 2013-05-28 13:05:28 +04:00
Sergey Rostov
365f097904 Update KetTokens.Comments TokenSet 2013-05-28 13:05:28 +04:00
Sergey Rostov
f9e8683db5 KT-1545, KT-3161 KDoc formatter 2013-05-28 13:05:28 +04:00
Sergey Rostov
5ff1f746d4 KT-1545, KT-3161 KDoc lexer & parser 2013-05-28 13:05:28 +04:00
Sergey Rostov
2ad1bfa743 KT-3161 JetCommenter implementation stub 2013-05-28 13:05:28 +04:00
Andrey Breslav
fea302c817 Trying IDEA 130.703 2013-05-28 12:08:01 +04:00
Michał Sapalski
cacb4b26e4 Support for generic classes in quickfix for NOTHING_TO_OVERRIDE 2013-05-28 12:02:55 +04:00
Michał Sapalski
d4fc814d76 Quickfix for NOTHING_TO_OVERRIDE: add function to one of supertypes. 2013-05-28 12:02:54 +04:00
Mikhael Bogdanov
e96cf045dd KT-3652: Char is converted to Int when used inside string interpolation
#KT-3652 Fixed
2013-05-27 19:33:49 +04:00
Leonid Shalupov
40146c6341 Merge pull request #279 from martinlau/support-for-annotation-scanning-via-maven-dependencies
Added scanning for annotations.xml entries within maven dependencies
2013-05-27 06:56:14 -07:00
Andrey Breslav
1a5c943057 Support jps.kotlin.home 2013-05-27 13:55:33 +04:00
Andrey Breslav
3299957c0c Support jps.kotlin.home 2013-05-27 13:55:33 +04:00
Evgeny Gerashchenko
ba90f07c8d Fixed compilation after renaming Name.getName()
to asString()
2013-05-22 20:52:09 +04:00
Andrey Breslav
42683dce69 Using a property for IDEA zip name 2013-05-22 15:47:59 +04:00
Andrey Breslav
68b0aa0eb2 Using properties for dependency build id's 2013-05-22 15:30:02 +04:00
Martin Lau
7761d7d646 Added scanning for annotations.xml entries within maven dependencies 2013-05-22 12:05:05 +10:00
Evgeny Gerashchenko
43b9a9d434 Renamed Name.getName() and FqName.getFqName() to asString() 2013-05-21 17:56:05 +04:00
Evgeny Gerashchenko
de6d5a4a96 Fixed loading SAM interfaces when they inherit abstract methods. 2013-05-21 17:52:15 +04:00
Evgeny Gerashchenko
fb416418f0 Minor. Fixed assertion message. 2013-05-21 17:52:15 +04:00
Evgeny Gerashchenko
12485c0ef5 Test for KT-3331 RuntimeException in frontend-java at TypeVariableResolverFromTypeDescriptors.getTypeVariable()
#KT-3331 obsolete
2013-05-21 17:52:14 +04:00
Evgeny Gerashchenko
5fc7c885bb KT-3577 Stack overflow when resolving SAM adapter (from completion, show parameters, etc)
#KT-3577
2013-05-21 17:52:14 +04:00
Evgeny Gerashchenko
6f7d42185f Added dependency class resolver -> function resolver. 2013-05-21 17:52:14 +04:00
Evgeny Gerashchenko
86d60aea9f Minor. Replaced for with for each. 2013-05-21 17:52:14 +04:00
Sergey Rostov
c70a49fab3 KT-3575, KT-2297 Inserting pair for "${": reverting to use KotlinTypeHandler
(with disabling JetPairMatcher for this case)
2013-05-21 17:10:01 +04:00
Nikolay Krasko
aeb72922ce Merge pull request #275 from factitious/master
KT-3575 Extra "}" inserted when typing "${" before "]" or ")" in string constant
2013-05-21 03:44:09 -07:00
Natalia.Ukhorskaya
4c9174d49b Don't create stubs for properties in delegate expression 2013-05-21 14:38:52 +04:00
Andrey Breslav
a2b82095da Using the version of ASM that has debug information in it
No more need for extra ASM jars (analysis and util)
2013-05-21 13:56:34 +04:00
Natalia.Ukhorskaya
97c33b02ab Add library classes for delegated properties 2013-05-21 13:21:53 +04:00
Natalia.Ukhorskaya
a5f1a8b3f8 TypeCastException when casting null to T with nullable upper-bound
#KT-3637 Fixed
2013-05-21 13:21:52 +04:00
chocolateboy
1bf06f7c02 make the preloader's required profiler argument (time|notime) an optional switch: -pp
fixes for broken Windows batch files
2013-05-21 12:22:06 +04:00
Nikolay Krasko
5ca4df3d1d KT-3618 Missing space in error message "inconstructor"
#KT-3618 Fixed
2013-05-20 17:56:26 +04:00
Nikolay Krasko
ddb7b54eee KT-3620 Don't auto-import js.* and remove in optimize imports
KT-3620 Fixed
2013-05-20 17:56:24 +04:00
Nikolay Krasko
f33792a567 Configure project descriptor with directives
Implement optimize import test with redesigned class
2013-05-20 17:56:23 +04:00
Nikolay Krasko
e98ee752bf Base class for jet light fixture to execute runPostStartupActivities() in more fixture tests 2013-05-20 17:56:22 +04:00
Sergey Rostov
76edecb90a KT-3575, KT-2297 Inserting pair for "${": use JetPairMatcher instead of KotlinTypeHandler
#KT-3575 fixed
2013-05-20 17:02:38 +04:00
Nikolay Krasko
3b35810c9a Using JetClsMethod interface to recognize method compiled from kotlin 2013-05-20 15:52:53 +04:00
Nikolay Krasko
3a2a932e2f Add utility method for getting class from constructor parameter 2013-05-20 15:52:52 +04:00
Nikolay Krasko
11a1067380 Workaround assert when java function overrides kotlin property accessor
#KT-3621 Open
2013-05-20 14:17:46 +04:00
Nikolay Krasko
9bb2d90bca Go to implementation line markers for properties 2013-05-20 14:17:45 +04:00
Nikolay Krasko
3c087965f1 Add presentation renderer for field declared in constructor 2013-05-20 14:17:44 +04:00
Nikolay Krasko
0a2ca39f88 Search implementations for properties from constructor parameters 2013-05-20 14:17:43 +04:00
Nikolay Krasko
5cc49f55f3 KT-3542 Can't navigate to property implementation
#KT-3542 Fixed
2013-05-20 14:17:41 +04:00
Nikolay Krasko
312bd6f828 Get PsiMethod wrappers for properties and property accessors 2013-05-20 14:17:24 +04:00
Nikolay Krasko
d97ab29588 Add test for wrapping function with default parameters 2013-05-20 14:15:02 +04:00
Nikolay Krasko
cef1bb2aba Add test for wrapping function without body 2013-05-20 14:02:49 +04:00
Nikolay Krasko
8752b417e5 Refactoring: extract methods 2013-05-20 14:02:48 +04:00
Nikolay Krasko
aac7f84c25 Fix absence of implemented/overridden markers on overridden functions 2013-05-20 14:02:46 +04:00
Andrey Breslav
530dc1ca95 ~ Trying to run with IDEA 13 EAP (130.555) 2013-05-20 12:23:39 +04:00
Michał Sapalski
b2bb581127 Quickfix for MIXING_NAMED_AND_POSITIONED_ARGUMENTS. 2013-05-17 13:01:29 +04:00
Alexey Sedunov
d5739bbe7f Fix negative quickfix tests which use when 2013-05-16 16:31:43 +04:00
Alexey Sedunov
71e76bc690 Add 'else' check for 'when' expressions 2013-05-15 19:02:04 +04:00
Alexey Sedunov
9442f96b87 Extract getText() method 2013-05-15 19:01:42 +04:00
Alexey Sedunov
158c2753b8 Transform 'if' to 'when' with subject if possible 2013-05-15 18:57:27 +04:00
Alexey Sedunov
b2b7bce99a Relax transformation assertions 2013-05-15 18:51:14 +04:00
Alexey Sedunov
ee9b96e943 Fix caret positioning in unfolded assignments 2013-05-15 18:51:08 +04:00
Alexey Sedunov
82bd796bc0 Add editor reference to transform() method 2013-05-15 18:51:02 +04:00
Alexey Sedunov
5dc08a5d25 Add tests with multiple conditions types in 'when' 2013-05-15 18:50:39 +04:00
Alexey Sedunov
4ab816a888 Add nullability annotations 2013-05-15 18:29:41 +04:00
Alexey Sedunov
d2f3dd1629 JetPsiMatcher: reimplement using visitor, add structural type matching 2013-05-15 18:29:14 +04:00
Alexey Sedunov
4ee59e351b Move "else" extractor to JetWhenExpression 2013-05-15 12:58:01 +04:00
Alexey Sedunov
d30e8d88fb Get rid of excessive replaces 2013-05-15 12:57:59 +04:00
Alexey Sedunov
3383679928 Extract 'assertNotNull' method 2013-05-15 12:57:58 +04:00
Alexey Sedunov
7dd5a2cfa4 Add tests for 'if-when' and 'when' transformations 2013-05-15 12:57:57 +04:00
Alexey Sedunov
06d43a8ab3 Register intentions in plugin.xml 2013-05-15 12:57:56 +04:00
Alexey Sedunov
5a185ee495 Add intentions names to bundle 2013-05-15 12:57:55 +04:00
Alexey Sedunov
a1613d8b81 Implement 'when' transformations (flatten, introduce subject, eliminate subject) 2013-05-15 12:57:54 +04:00
Alexey Sedunov
3c691062ad Implement if-to-when and when-to-if transformations 2013-05-15 12:57:53 +04:00
Alexey Sedunov
c054c0cdbe Add factory methods for parenthesized expressions 2013-05-15 12:57:52 +04:00
Alexey Sedunov
36b68786b0 Add new-line flags to 'if' factory method 2013-05-15 12:57:51 +04:00
Alexey Sedunov
057528eb39 Add 'when' builder and creation of 'is' expressions 2013-05-15 12:57:50 +04:00
Alexey Sedunov
b7bc251311 Add extraction of 'else' branch of 'when' expression 2013-05-15 12:57:49 +04:00
Alexey Sedunov
f5b1706b30 Extract 'assertNotNull' method 2013-05-15 12:57:48 +04:00
Alexey Sedunov
f4c220e735 Rename intention predicate 2013-05-15 12:57:48 +04:00
Alexey Sedunov
9ae17cfe85 Make intentions inner classes 2013-05-15 12:57:47 +04:00
Alexey Sedunov
fe3d749257 Minimize update operations on active PSI and move them to the last phase 2013-05-15 12:57:45 +04:00
Alexey Sedunov
2ba806bee8 Fix bug in assignment-to-when unfolding 2013-05-15 12:57:43 +04:00
Alexey Sedunov
09b4a5afa3 Add tests for unfolding to 'when' 2013-05-15 12:57:42 +04:00
Alexey Sedunov
64e578297c Replace fold/unfold intentions with a set of specialized ones 2013-05-15 12:57:41 +04:00
Alexey Sedunov
9e441b0525 Fix intention descriptions and templates 2013-05-15 12:57:40 +04:00
Alexey Sedunov
2f00097b2a Add assertion messages 2013-05-15 12:57:39 +04:00
Alexey Sedunov
d5e78c3bd5 Add support of comments in asymmetric returns 2013-05-15 12:57:38 +04:00
Alexey Sedunov
8757e3763b Remove redundant tests 2013-05-15 12:57:37 +04:00
Alexey Sedunov
97b53000ab Add @NotNull annotation to factory methods 2013-05-15 12:57:36 +04:00
Alexey Sedunov
89030d1ced Make predicate non-nullable 2013-05-15 12:57:35 +04:00
Alexey Sedunov
216f865658 Move assertion out of if statement 2013-05-15 12:57:34 +04:00
Alexey Sedunov
a778ce24e7 Rename method 2013-05-15 12:57:33 +04:00
Alexey Sedunov
033e82666d Extract method for else branch check in when expression 2013-05-15 12:57:32 +04:00
Alexey Sedunov
edea00f53e Extract method for assignment matching 2013-05-15 12:57:31 +04:00
Alexey Sedunov
f473224e84 Add tests for folding/unfolding operations 2013-05-15 12:57:30 +04:00
Alexey Sedunov
02e9f174f0 Replace intentions for folding/unfolding operations 2013-05-15 12:57:29 +04:00
Alexey Sedunov
51658c65de Add folding/unfolding operations for branched control structures 2013-05-15 12:57:28 +04:00
Alexey Sedunov
e4de51468f Add construction of "return" and "if" expressions to JetPsiFactory 2013-05-15 12:57:27 +04:00
Alexey Sedunov
ed0bd5a908 Simplify "is assignment" check and move it to JetPsiUtil 2013-05-15 12:57:26 +04:00
Michał Sapalski
68cd832831 Search in all superclasses in quickfix for NOTHING_TO_OVERRIDE. 2013-05-15 10:33:19 +04:00
Svetlana Isakova
0e96e83154 removed unnecessary code 2013-05-14 20:58:56 +04:00
Svetlana Isakova
c27427434f changes from pull request:
Improved flow analysis performance for variable initialization
by Spasi
2013-05-14 20:58:16 +04:00
Natalia.Ukhorskaya
308b1a3f29 Change PropertyMetadata in Library.jet 2013-05-14 15:38:50 +04:00
Natalia.Ukhorskaya
32c5f5f59d EA-46019 - assert: PropertyCodegen.generatePropertyDelegateAccess: delegate type can be null when delegate expression is unresolved and back-end called from light class generation 2013-05-14 15:38:49 +04:00
Natalia.Ukhorskaya
04120f432c Delegate properties break "Debug..." and "Run..." actions when type is specified
#KT-3594 Fixed
2013-05-14 15:38:48 +04:00
Natalia.Ukhorskaya
de446a83f9 Refactoring: introduce variables for property scope 2013-05-14 15:38:47 +04:00
Natalia.Ukhorskaya
389563dd18 Refactoring: inline methods call 2013-05-14 15:38:46 +04:00
Natalia.Ukhorskaya
aca6e97cf5 Create method for resolving delegate with scope (for resolve from ResolveSessionUtils) 2013-05-14 15:38:45 +04:00
Natalia.Ukhorskaya
3795af90d9 Remove redundant scope creation for property initializer 2013-05-14 15:38:44 +04:00
Natalia.Ukhorskaya
af5f2f09de Minor refactoring: add annotations 2013-05-14 15:38:43 +04:00
Natalia.Ukhorskaya
9e584ded11 ClassFormatError because of initializing variable with Any type with primitive value
#KT-3524 Fixed
2013-05-14 15:38:42 +04:00
Andrey Breslav
551c370242 dumpByteCode flag 2013-05-13 19:49:15 +04:00
Andrey Breslav
bb12685004 Allow using anonymous classes as interceptors 2013-05-13 19:49:15 +04:00
Andrey Breslav
39c9cbcd9e Box arguments if needed 2013-05-13 19:49:14 +04:00
Andrey Breslav
bdd4296b0d Fix parameter indexing problem 2013-05-13 19:49:14 +04:00
Andrey Breslav
ab48f3411a Support @ClassName 2013-05-13 19:49:13 +04:00
Andrey Breslav
3d40d11c98 Example using @MethodName 2013-05-13 19:49:12 +04:00
Andrey Breslav
e5b2519aa2 Warn when no relevant methods are found 2013-05-13 19:49:12 +04:00
Andrey Breslav
de7fd88373 Warn about using only the first instrumenter 2013-05-13 19:49:11 +04:00
Andrey Breslav
f2bf2317f8 Better visible separation between individual instrumenters' outputs 2013-05-13 17:30:19 +04:00
Andrey Breslav
cdc375ba06 Preloader's output beautified 2013-05-13 17:30:19 +04:00
Andrey Breslav
2ed217bb4a Some docs and example 2013-05-13 17:30:15 +04:00
Andrey Breslav
9f7a4ffe56 Unneeded interfaces removed 2013-05-13 17:29:58 +04:00
Andrey Breslav
71791d6080 Annotations moved to a separate package 2013-05-13 17:29:57 +04:00
Andrey Breslav
d689cc0741 Using 'desc' instead of 'erasedSignature' 2013-05-13 17:29:57 +04:00
Andrey Breslav
9efc885c37 Instrumenter doesn't have to do profiling 2013-05-13 17:29:56 +04:00
Andrey Breslav
7782621617 Do not look for instrumenters in TIME mode 2013-05-13 17:29:56 +04:00
Andrey Breslav
afe3ff9b6f done() method moved to where it is used 2013-05-13 17:29:55 +04:00
Andrey Breslav
42de8879fe Code beautified a little 2013-05-13 17:29:14 +04:00
Andrey Breslav
81773a0012 Conventions changed to normalReturn + exception = exit 2013-05-13 17:29:13 +04:00
Andrey Breslav
ea7e6a1c12 Unneeded hack removed 2013-05-13 17:29:13 +04:00
Andrey Breslav
fe0ec5aafb Support error*() methods 2013-05-13 15:55:54 +04:00
Andrey Breslav
4d8dcb5ea8 Stack size for @AllArgs fixed 2013-05-13 15:55:53 +04:00
Andrey Breslav
23be9f8d44 Fixed the case of using 'this' before throw in constructor 2013-05-13 15:55:53 +04:00
Andrey Breslav
dc8fca2532 Support @AllArgs 2013-05-13 15:55:52 +04:00
Andrey Breslav
31ce4d85e8 The case of @This at constructor entry point fixed 2013-05-13 15:55:52 +04:00
Andrey Breslav
098cf477f4 Fix parameter indexing for longs and doubles 2013-05-13 15:55:51 +04:00
Andrey Breslav
cae2a5e96f Computing stack depth depending on the actual number of parameters of methods being called 2013-05-13 15:55:51 +04:00
Andrey Breslav
b748315304 Support @MethodName and @MethodDesc 2013-05-13 15:55:50 +04:00
Andrey Breslav
3cd1cf0807 Support @This parameters 2013-05-13 15:55:50 +04:00
Andrey Breslav
d99ea2a783 Only instrument .class files
+ Report exceptions thrown by the instrumenter with the info of the class name
2013-05-13 15:55:49 +04:00
Andrey Breslav
8dfb39ec19 Allow to dump byte codes of instrumented methods 2013-05-13 15:55:49 +04:00
Andrey Breslav
5fd193d88d Account for maximum stack size
Just using ClassWriter.COMPUTE_FRAMES does not work: it end up with ClassNotFound from somewhere withing ASM
2013-05-13 15:55:48 +04:00
Andrey Breslav
17ddfb6f59 Include class patterns into interceptor's toString 2013-05-13 15:55:48 +04:00
Andrey Breslav
8d22c038d5 Include interceptor data into console output 2013-05-13 15:55:48 +04:00
Andrey Breslav
3440b85867 Remove unneeded interface 2013-05-13 15:55:47 +04:00
Andrey Breslav
113864fc88 Proper debug names for instrumenters 2013-05-13 15:55:47 +04:00
Andrey Breslav
c960dff166 Support logging interceptions 2013-05-13 15:55:46 +04:00
Andrey Breslav
6c60383978 Fix entry point instrumentation 2013-05-13 15:55:46 +04:00
Andrey Breslav
35f2993ec9 Empty string means '.*' pattern 2013-05-13 15:55:45 +04:00
Andrey Breslav
90661e8706 Instrumenting interceptors module 2013-05-13 15:55:45 +04:00
Andrey Breslav
2e1a7179f0 Allow instrumentation in preloader 2013-05-13 15:55:44 +04:00
Andrey Breslav
df557faa09 Support done() in class handler 2013-05-13 15:53:09 +04:00
Andrey Breslav
63f7b4c51d Replacing all occurences of the package name, not only the first one 2013-05-13 15:52:13 +04:00
Andrey Breslav
ba4c012000 Profiler can be paused 2013-05-13 15:52:13 +04:00
Jack Zhou
12aa90f564 Create from usage: Renamed guessTypeForExpression to guessTypesForExpression. 2013-05-12 23:51:04 -04:00
Jack Zhou
924e70f3f7 Create from usage: Fixed offering error types when guessing type fails. 2013-05-12 23:51:03 -04:00
Jack Zhou
5bd144313d Create from usage: Fixed case for multi-declaration in a for-loop. 2013-05-12 23:51:02 -04:00
Jack Zhou
e0a7e85e4a Create from usage: Removed isUnit. 2013-05-12 23:51:00 -04:00
Jack Zhou
927baec6cb Create from usage: Made guessTypeForExpression clearer. 2013-05-12 23:50:59 -04:00
Jack Zhou
ce5064e9ae Create from usage: Combined the two overloads of getNextAvailableName. 2013-05-12 23:50:58 -04:00
Jack Zhou
ab6cc8b8ea Create from usage: Fixed swapped co-/contravariant comments. 2013-05-12 23:50:57 -04:00
Jack Zhou
b527ec45a3 Create from usage: Renamed underscore identifier. 2013-05-12 23:50:56 -04:00
Jack Zhou
8d3c1cddb4 Create from usage: Returning immediately to avoid reassignment. 2013-05-12 23:50:55 -04:00
Jack Zhou
e0201bf8f3 Create from usage: Removed extraneous project parameters. 2013-05-12 23:50:54 -04:00
Jack Zhou
1a34c71763 Create from usage: Removed checking for null before instanceof. 2013-05-12 23:50:53 -04:00
Jack Zhou
bdf73c07b8 Create from usage: Renamed typeDeclaration to classDeclaration. 2013-05-12 23:50:52 -04:00
Jack Zhou
6ba66cedea Create from usage: Renamed doInvoke to addFunctionToSelectedOwner. 2013-05-12 23:50:51 -04:00
Jack Zhou
7e5c04ad6d Create from usage: Changed checking list.getSelectedIndex() for < 0 to checking list.getSelectedValue() for null. 2013-05-12 23:50:50 -04:00
Jack Zhou
f3e6c70e40 Create from usage: Changed class selection to be look like Java. 2013-05-12 23:50:49 -04:00
Jack Zhou
1c18f9f171 Create from usage: Renamed TypeSubstitution to JetTypeSubstitution. 2013-05-12 23:50:48 -04:00
Jack Zhou
74ae201c36 Create from usage: Changed type of TypeOrExpressionThereof.typeCandidates to List instead of array. 2013-05-12 23:50:47 -04:00
Jack Zhou
8535ef9be2 Create from usage: Removed two constructors from TypeOrExpressionThereof. 2013-05-12 23:50:46 -04:00
Jack Zhou
ea14607576 Create from usage: Made CreateGetFromUsage7 test clearer. 2013-05-12 23:50:45 -04:00
Jack Zhou
ec15d5fee4 Create from usage: Renamed all references of 'method' to 'function'. 2013-05-12 23:50:44 -04:00
Jack Zhou
d2ce58e912 Create from usage: Replaced boilerplate code with NavigationUtil.activateFileWithPsiElement. 2013-05-12 23:50:43 -04:00
Jack Zhou
e53feac26d Create from usage: Fixed extraneous imports in CreateFromUsageFixBase. 2013-05-12 23:50:42 -04:00
Jack Zhou
eadb73c9f8 Create from usage: Using UnsupportedOperationException for the file template instead. 2013-05-12 23:50:41 -04:00
Jack Zhou
c7c8c096f7 Create from usage: Removed quickfix for NO_CLASS_OBJECT. 2013-05-12 23:50:40 -04:00
Jack Zhou
b7fe134b61 Create from usage: Added tests. 2013-05-12 23:50:36 -04:00
Jack Zhou
60fa732042 Create from usage: Fixed a bug with creating methods in the wrong owners for next and hasNext. 2013-05-12 23:43:46 -04:00
Jack Zhou
3d120432c5 Create from usage: Fixed extra type options. 2013-05-12 23:43:45 -04:00
Jack Zhou
7a42ca211d Create from usage: Changed type order to prefer substituted versions. 2013-05-12 23:43:44 -04:00
Jack Zhou
0e73e32621 Create from usage: Fixed a bug with extension functions. 2013-05-12 23:43:43 -04:00
Jack Zhou
a9f1ba3063 Create from usage: Fixed a bug where the type parameter list is not rendered correctly when empty. 2013-05-12 23:43:42 -04:00
Jack Zhou
0cd9c2d9a8 Create from usage: Fixed an overly restrictive assertion. 2013-05-12 23:43:41 -04:00
Jack Zhou
7b072e573a Create from usage: Implemented CreateClassObjectFromUsageFix. 2013-05-12 23:43:40 -04:00
Jack Zhou
d20e3413e0 Create from usage: Fixed up assertions. 2013-05-12 23:43:39 -04:00
Jack Zhou
a80ea6904a Create from usage: Added type parameter renaming. 2013-05-12 23:43:35 -04:00
Jack Zhou
fc6c2be73b Create from usage: Refactoring. 2013-05-12 23:42:46 -04:00
Jack Zhou
4044aae489 Create from usage: Offering more choices for type substitutions. 2013-05-12 23:42:45 -04:00
Jack Zhou
6de37f4c85 Create from usage: Added Any as fallback to expressions that has no guessable types. 2013-05-12 23:42:44 -04:00
Jack Zhou
9a079ae621 Create from usage: Removed supertypes from consideration for return types. 2013-05-12 23:42:39 -04:00
Jack Zhou
f2dc5e39e7 Create from usage: Removed a TODO. 2013-05-12 23:37:15 -04:00
Jack Zhou
e231397811 Create from usage: Fixed expected type for if-expression. 2013-05-12 23:37:14 -04:00
Jack Zhou
48c825df06 Create from usage: Added guessing types for a declaration without an explicit type. 2013-05-12 23:37:13 -04:00
Jack Zhou
d42edc8207 Create from usage: Added EXPECTED_EXPRESSION_TYPE slice in BindingContext. 2013-05-12 23:37:12 -04:00
Jack Zhou
4ffbd353d9 Create from usage: Fixed adding methods across files. 2013-05-12 23:37:11 -04:00
Jack Zhou
2284c7bd48 Create from usage: Fixed typo. 2013-05-12 23:37:09 -04:00
Jack Zhou
4ee5d95dc9 Create from usage: Fixed finding the component number. 2013-05-12 23:37:08 -04:00
Jack Zhou
7b994388d5 Create from usage: Implemented all create method from usage fixes. 2013-05-12 23:37:07 -04:00
Jack Zhou
cfce75b788 Create from usage: Fixed warnings. 2013-05-12 23:37:06 -04:00
Jack Zhou
b07548184a Create from usage: Fixed duplication of type parameters. 2013-05-12 23:37:05 -04:00
Jack Zhou
c0bbb7b2cc Create from usage: Fixed a bug where extension methods could not be added properly. 2013-05-12 23:37:04 -04:00
Jack Zhou
dfced1ef74 Create from usage: Added class selection. 2013-05-12 23:37:03 -04:00
Jack Zhou
879a60e40b Create from usage: Refactoring. 2013-05-12 23:37:02 -04:00
Jack Zhou
8f21a7d97a Create from usage: Added type name shortening. 2013-05-12 23:37:00 -04:00
Jack Zhou
73acc2e99b Create from usage: Fixed type parameters for more complicated cases. 2013-05-12 23:36:59 -04:00
Jack Zhou
bded310f3e Create from usage: Changed setupFunctionBody to static. 2013-05-12 23:36:58 -04:00
Jack Zhou
f17b93c949 Create from usage: Fixed a warning. 2013-05-12 23:36:57 -04:00
Jack Zhou
870dbd7e86 Create from usage: Changed new method template to raise exception like in ReSharper. 2013-05-12 23:36:56 -04:00
Jack Zhou
0d36ae7f01 Create from usage: Fixed return type's type parameters not being taken into account. 2013-05-12 23:36:55 -04:00
Jack Zhou
197000b8ce Create from usage: Fixed not resolving type parameter correctly. 2013-05-12 23:36:54 -04:00
Jack Zhou
3caad4b199 Create from usage: Fixed a runWriteAction. 2013-05-12 23:36:53 -04:00
Jack Zhou
1e573235e8 Create from usage: Added file templates. 2013-05-12 23:36:51 -04:00
Jack Zhou
28ac582fde Create from usage: Refactored invoke(). 2013-05-12 23:36:50 -04:00
Jack Zhou
9b31195732 Create from usage: Added supertype enumeration. 2013-05-12 23:36:49 -04:00
Jack Zhou
90f474a85a Create from usage: Improved template performance by not re-analyzing file in expressions. 2013-05-12 23:36:45 -04:00
Jack Zhou
1f7466b7ab Create from usage: WIP 2013-05-12 23:16:34 -04:00
Andrey Breslav
e351dfca12 Measuring time in ForTestCompileRuntime 2013-05-09 11:21:05 +03:00
Mikhael Bogdanov
6da8ba3fec Default function generation refactoring 2013-05-08 16:13:53 +04:00
Mikhael Bogdanov
702dadccf4 CodegenContext replaced by more specific MethodContext in method generation, mapToCallableMethod call replaced by mapSignature for method header generation 2013-05-08 16:11:17 +04:00
Andrey Breslav
6ebc2cf70b Parsing "notime" fixed 2013-05-07 21:12:44 +03:00
Andrey Breslav
a342d4fb61 Usage message fixed 2013-05-07 21:12:43 +03:00
Alexander Kirillin
3ae1dcb263 returned mistakenly deleted bundle messages 2013-05-07 21:15:27 +04:00
Alexander Kirillin
41045d2a1e new quick fixes: add parameter, remove parameter, change function literal signature 2013-05-07 21:15:27 +04:00
Alexander Kirillin
41ec5724df new directive for disabling of error checks in quick fix tests 2013-05-07 21:15:26 +04:00
Alexander Kirillin
1783f8df3a new "collecting" name validator 2013-05-07 21:15:26 +04:00
Alexander Kirillin
5499bea181 fix for change signature when the order of named arguments is non-trivial 2013-05-07 21:15:26 +04:00
Evgeny Gerashchenko
c90b398398 Replaced sout with serr in some test to reduce noise. 2013-05-07 18:50:44 +04:00
Evgeny Gerashchenko
cb2f24b1cc Not loading SAM constructors for FunctionN classes. 2013-05-07 18:50:44 +04:00
Evgeny Gerashchenko
d56494ebd3 KT-3553 Problem with propagation for extension functions
#KT-3553 fixed
2013-05-07 18:50:43 +04:00
Evgeny Gerashchenko
dd87c38ea3 Stricter override check. 2013-05-07 15:51:59 +04:00
Mohammad Shamsi
4b656d8c8d KT-3257 Bad diagnostics when trying to instantiate a private class
#KT-3257 Fixed
2013-05-07 13:14:43 +04:00
Evgeny Gerashchenko
d645fcaaa7 Reverted import optimization in generated files. 2013-05-06 18:50:03 +04:00
Evgeny Gerashchenko
516a5b76e8 Fixed calling inherited SAM adapter. 2013-05-06 16:45:36 +04:00
Nikolay Krasko
fed5cf6524 Update to IDEA 12.1.3 (build 129.400) 2013-05-06 15:05:45 +04:00
Mikhael Bogdanov
22ddd05e09 KT-3576 Getters for float constants in objects always return 0.0 when constants are less than 1.0
#KT-3576 Fixed
2013-05-06 10:41:48 +04:00
Nikolay Krasko
dd7c2cf78c Fix kotlin logo icon path 2013-05-02 01:42:03 +04:00
Nikolay Krasko
7d703779ae Don't share project descriptor for JetGotoSymbolTest
Some order of test execution makes this test fall because of uninitialized Jet elements presenters
2013-05-01 16:53:34 +04:00
Nikolay Krasko
31edd6f440 Make declarations from the current package be resolved before declarations in default package (EA-43715) 2013-05-01 16:53:33 +04:00
Nikolay Krasko
0c749005e1 KT-3498 Show overrided/implemented line marker
#KT-3498 Fixed
2013-05-01 16:53:32 +04:00
Nikolay Krasko
fe124a9828 Refactoring: move tooltip provider and navigator from MarkerType 2013-05-01 16:53:31 +04:00
Nikolay Krasko
0e95581bca Test not only line marker number but also their position 2013-05-01 16:53:31 +04:00
Nikolay Krasko
c240f7cddc Refactoring: Use gutter icons constants 2013-05-01 16:53:30 +04:00
Nikolay Krasko
82cac8ed26 KT-3503 Can't navigate to implementation of kotlin functions
#KT-3503 Fixed
2013-05-01 16:53:29 +04:00
Nikolay Krasko
8d3a22722f Show proper information in "expected" and "actual" panels in comparison failure window 2013-05-01 16:53:28 +04:00
Natalia.Ukhorskaya
b88981f678 Workaround for appearance of PsiClass from runtime in JavaDescriptorResolver 2013-04-30 21:47:26 +04:00
Natalia.Ukhorskaya
b9e5227b58 Change String argument of property delegate method to PropertyMetadata 2013-04-30 21:47:24 +04:00
Natalia.Ukhorskaya
6e2584d0de Generate bytecode for delegated properties 2013-04-30 21:47:22 +04:00
Natalia.Ukhorskaya
3297c0e9d3 No such field error when set private property without backing field (analog of KT-2892) 2013-04-30 21:47:21 +04:00
Natalia.Ukhorskaya
b484ce711f Refactoring: extract NONE_APPLICABLE renderer 2013-04-30 20:08:07 +04:00
Natalia.Ukhorskaya
a9b4a342e7 Add diagnostics for get/set methods of property delegate 2013-04-30 20:08:06 +04:00
Natalia.Ukhorskaya
c58d4fd6d2 Resolve expression in property delegate 2013-04-30 20:08:04 +04:00
Natalia.Ukhorskaya
e143a53670 Extract method to create scope for initializer 2013-04-30 20:08:02 +04:00
Natalia.Ukhorskaya
a77d4279dd Extract method for create fakeArgument 2013-04-30 20:08:01 +04:00
Natalia.Ukhorskaya
97bbdb0037 Add status PROCESSED for fake argument 2013-04-30 20:07:57 +04:00
Natalia.Ukhorskaya
e7bf3b141f Modify analysis for property initializer. Add errors about delegated property accessors. 2013-04-30 20:07:55 +04:00
Natalia.Ukhorskaya
171144e641 Change ControlFlow for delegated property 2013-04-30 20:07:54 +04:00
Natalia.Ukhorskaya
29984efe76 Parse delegated property 2013-04-30 20:07:52 +04:00
Mikhael Bogdanov
e72b177adc KT-3561 Bad RuntimeInvisibleParameterAnnotations on attempt to annotate enum constructor hidden parametrs - name and ordinal 2013-04-30 18:46:07 +04:00
Maxim Shafirov
a9638d9fa4 "Opposite" for with called let. 2013-04-30 18:18:32 +04:00
Andrey Breslav
1ddc537728 'get-maven-library' macro extracted 2013-04-30 16:10:28 +04:00
Nikolay Krasko
7dde615813 Load test file with line separators fixed 2013-04-30 15:42:39 +04:00
Nikolay Krasko
600219d193 Fix tests problems with line separators 2013-04-30 15:42:38 +04:00
Mikhael Bogdanov
b0b6728c7e KT-3118 NoSuchFieldError on private property without backing field &&
KT-3551 Wrong synthetic accessor implementation
2013-04-30 15:28:02 +04:00
Mikhael Bogdanov
b1c2d9035a Removed JvmPropertyAccessorSignature.getJvmMethodSignature() method 2013-04-30 15:17:03 +04:00
Mikhael Bogdanov
83d8930c02 Primary constructor generation via FunctionCodegen Strategy, local variable table generation via JvmMethodSignature and FunctionDescriptor 2013-04-30 15:17:03 +04:00
Mikhael Bogdanov
5fe6e32882 Make JvmPropertyAccessorSignature extends JvmMethodSignature 2013-04-30 15:17:03 +04:00
Mikhael Bogdanov
ffed25f48c Fixed wrong JvmMethodParameterKind for captured local function 2013-04-30 15:17:03 +04:00
Maxim Shafirov
666cc6e688 KT-3557: with() made it to stdlib 2013-04-30 12:49:55 +04:00
Nikolay Krasko
d53e8bbddf Update icons 2013-04-30 12:42:26 +04:00
Nikolay Krasko
accf808a46 Add preloader output to idea plugin to make possible in process builds 2013-04-29 20:53:33 +04:00
Andrey Breslav
35f1d8a7f3 Convert line separators when loading expected test results 2013-04-29 19:08:07 +04:00
Andrey Breslav
353693d291 Profiler: utility class for measuring performance 2013-04-29 18:35:12 +04:00
Andrey Breslav
e4939f92e4 Support relative script paths 2013-04-29 17:59:53 +04:00
Andrey Breslav
3f73662260 Do not run generator on a quick dist
Everything is already compiled, so there's no point in generating sources
2013-04-29 17:59:52 +04:00
Andrey Breslav
f1f9d5327c Using XML instead of module scripts when running from IDE 2013-04-29 17:59:52 +04:00
Andrey Breslav
42505246b8 Module descriptions in XML 2013-04-29 17:59:51 +04:00
Andrey Breslav
3673f8003b reportException() moved to a utility class and used where appropriate 2013-04-29 15:46:37 +04:00
Andrey Breslav
3f23704e13 Method renamed 2013-04-29 15:46:37 +04:00
Andrey Breslav
abd162d466 Interface extracted from KotlinModuleScriptGenerator 2013-04-29 15:46:37 +04:00
Michał Sapalski
7deec28b9c Adjusted tests to the new DescriptorRenderer behaviour 2013-04-29 15:44:07 +04:00
Michał Sapalski
2352d86932 Refactoring: use DescriptionRenderer to generate overriding functions / properties. 2013-04-29 15:44:06 +04:00
Michał Sapalski
01c4826b06 Quickfix for NOTHING_TO_OVERRIDE 2013-04-29 15:44:06 +04:00
Andrey Breslav
231457df8e Migrate to IDEA 12.1.2 2013-04-29 14:44:09 +04:00
Evgeny Gerashchenko
e9bb04c8c1 Fixed "already disposed" error in tests. 2013-04-26 18:23:36 +04:00
Andrey Breslav
bcb6cbc935 Premature optimization removed from preloader 2013-04-26 14:33:33 +04:00
Andrey Breslav
4f967363a6 More callbacks in preloader 2013-04-26 14:33:32 +04:00
Andrey Breslav
88112e500c Support uknown entry sizes in preloader 2013-04-26 14:33:31 +04:00
Andrey Breslav
7841961989 Callback added to preloader 2013-04-26 14:33:31 +04:00
Andrey Breslav
85bc429efe Optimization (after profiling): EnumSet is slower than ImmutableSet 2013-04-26 14:33:30 +04:00
Andrey Breslav
e158affacc Optimization (after profiling): getClass() not needed in a final class' equals() 2013-04-26 14:33:30 +04:00
Andrey Breslav
bd4d6c810f Optimization: hierarchical signatures build only for non-static methods (1 sec on toString()) 2013-04-26 14:33:29 +04:00
Andrey Breslav
7b602d4dd7 MembersCache made lazy 2013-04-26 14:33:29 +04:00
Andrey Breslav
2d50810a02 ClassMemberProcessor restructured 2013-04-26 14:33:28 +04:00
Andrey Breslav
991256bfd3 Use preloader in the IDE 2013-04-26 14:33:27 +04:00
Andrey Breslav
ddb474ea8e Reorder method parameters 2013-04-26 14:33:27 +04:00
Andrey Breslav
2ce6d16433 Allowing multiple jars 2013-04-26 14:33:26 +04:00
Andrey Breslav
2f65506d76 Support time measurement 2013-04-26 14:33:26 +04:00
Andrey Breslav
bbb661506a Preloader for command-line compiler 2013-04-26 14:33:18 +04:00
Andrey Breslav
b3248baae9 "-noverify" by default to speed up class loading 2013-04-26 14:32:55 +04:00
Andrey Breslav
3179f67bfc Tasks for quickly building kotlin-compiler.jar using the results of incremental compilation in the IDE 2013-04-26 14:32:55 +04:00
Evgeny Gerashchenko
837ab0ac4f Updated test data since another quick fix is available. 2013-04-26 14:03:06 +04:00
Wojciech Lopata
b3a87d943a CastExpressionFix 2013-04-26 13:13:20 +04:00
Wojciech Lopata
59716fec9c Cleanup in a test 2013-04-26 13:12:20 +04:00
Alexander Kirillin
0a597e563a Implemented "Change signature" refactoring 2013-04-25 21:13:33 +04:00
Alexander Kirillin
500a165191 Type and expression code fragments initial implementation 2013-04-25 21:13:33 +04:00
Alexander Kirillin
6591f54ad5 Added check for read-only files in intention actions 2013-04-25 21:13:33 +04:00
Zalim Bashorov
fe19c9471e Merge pull request #256 from lopekpl/change_function_return_type_fixes
Quickfixes for RETURN_TYPE_MISMATCH and NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY
Simple quickfix for TYPE_MISMATCH
2013-04-25 05:02:13 -07:00
Wojciech Lopata
9b11db7a74 ChangeFunctionReturnTypeFix for TYPE_MISMATCH error 2013-04-24 14:34:20 +02:00
Evgeny Gerashchenko
267bb01f62 Added @NotNull annotation for Charset.defaultCharset().
Other code cleanup.
2013-04-24 16:18:34 +04:00
Zemian Deng
f7099a5b6a Use default param to String encoding name instead of using extra overloaded method. 2013-04-24 16:18:34 +04:00
Zemian Deng
c3b46341d7 #KT-3533 Fixed - not to null in encoding name parameter in String, Bytes, and File. 2013-04-24 16:18:33 +04:00
Mikhael Bogdanov
b6fc0c5c13 KT-3538: Super call to trait implemetation invokes method from base class 2013-04-24 15:52:09 +04:00
Wojciech Lopata
893cbd6b48 Quickfix for RETURN_TYPE_MISMATCH and NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY 2013-04-24 12:21:28 +02:00
Wojciech Lopata
dde4260d10 Fix ChangeFunctionReturnTypeFix.getText() method 2013-04-24 12:17:47 +02:00
Mikhael Bogdanov
aa2db75266 KT-3389: Local class construction results in CompilationException && KT-2873 && KT-3210
KT-2873: VerifyError on instantiating a local class inside a closure
KT-3210 Inline Class: CompilationException: Back-end (JVM) Internal error: wrong code generated java.lang.ArrayIndexOutOfBoundsException null

 #KT-3389 Fixed
2013-04-24 13:49:47 +04:00
Wojciech Lopata
e49389bf07 Make clear ChangeFunctionReturnTypeFix can't hadle function literals 2013-04-24 11:38:40 +02:00
Wojciech Lopata
b5bbe26583 Remove unreachable code 2013-04-24 11:38:40 +02:00
Mikhael Bogdanov
9682b72643 Inner class generation now performed on visiting appropriate declaration 2013-04-23 16:08:02 +04:00
Natalia.Ukhorskaya
5baa10df41 Update to IDEA 12.1.2 (build 129.298) 2013-04-23 11:46:40 +04:00
Alexander Udalov
959f2fb70b Fix codegen tests on Android
Since Android tests move files around, changing their packages, and 'toString'
tests the exact name of a class, we now get it via Java reflection
2013-04-22 21:47:17 +04:00
Alexander Udalov
d45889048b Increase ABI version
Due to changes related to FunctionN now being interfaces, FunctionImplN
classes, KFunctionN, callable references
2013-04-22 17:59:32 +04:00
Alexander Udalov
56f8f021f9 Generate proper generic signature for closure classes 2013-04-22 17:59:32 +04:00
Alexander Udalov
ace7bd9bc8 Fix StackValue.coerce void to Object
We can only put Unit.VALUE on stack if we're requested an instance of Object or
Unit. In other cases (arbitrary objects / arrays) we put null instead
2013-04-22 17:59:32 +04:00
Alexander Udalov
36ddfaa24b Minor refactoring in CodegenAnnotatingVisitor
Create a private helper method
2013-04-22 17:59:32 +04:00
Alexander Udalov
054e5fb5e7 Codegen for callable reference expressions
#KT-1183 In Progress
2013-04-22 17:59:32 +04:00
Alexander Udalov
1eeaaad05d Refactor method/constructor calls in codegen
- use ResolvedCall where possible
- 'call' parameter to invokeMethodWithArguments was used only to generate
  callee, e.g. in "A()" where A is an expression which can be invoke()'d.
  In case of constructors and enum entry delegation specifiers there's no need
  to generate callee, so 'call' is made Nullable with a subsequent assert
- remove generateJavaConstructorCall() method, since it did no useful work.
  Java constructor invocation is broken anyway and needs to be fixed (KT-3532)
- minor code style / formatting issues fixed, several methods renamed to better
  reflect semantics
2013-04-22 17:59:32 +04:00
Alexander Udalov
db65237989 Refactor ClosureCodegen
- make several commonly used parameters ClosureCodegen's fields
- take an arbitrary strategy for closure function body codegen
- don't make extra binding context lookups
2013-04-22 17:59:31 +04:00
Alexander Udalov
80b78f0f6d invokeinterface FunctionN.invoke()
Instead of invokevirtual on FunctionImpl class, do invokeinterface on a
Function trait. This will allow to invoke functions on classes which don't
inherit from FunctionImpl classes.

Also rename the method to the more sensible name
2013-04-22 17:59:31 +04:00
Alexander Udalov
141b996709 Minor refactoring in ExpressionCodegen
Inline useless method, factor out resolveToCallableMethod logic from
resolveToCallable
2013-04-22 17:59:31 +04:00
Alexander Udalov
f509407852 Extract static helpers to FunctionTypesUtil
Also move 'getInternalClassName' method from CodegenUtil to FunctionTypesUtil,
since it's related to function types
2013-04-22 17:59:31 +04:00
Alexander Udalov
121cb13883 Minor refactoring in CodegenBinding
- CLASS_FOR_FUNCTION slice was used for two purposes: to record closure classes
  for functions and for scripts. Separate this slice into two slices:
  CLASS_FOR_FUNCTION and CLASS_FOR_SCRIPT
- add classNameForAnonymousClass() overloaded method to CodegenBinding, taking
  a function descriptor (not a PSI element)
2013-04-22 17:59:31 +04:00
Alexander Udalov
f907d008e7 Refactor ClosureCodegen
Extract some methods, replace types with more generic (ExpressionCodegen ->
LocalLookup), make more stuff fields instead of parameters passed to every
method, annotate with Nullable/NotNull
2013-04-22 17:59:31 +04:00
Alexander Udalov
fee7846c7e LHS of callable reference can't be a type parameter 2013-04-22 17:59:31 +04:00
Alexander Udalov
d40906a690 Disallow references to extensions in classes
It's not clear in which order should the two receiver arguments be passed to
them, and there's no corresponding K*FunctionN class for now

 #KT-1183 In Progress
2013-04-22 17:59:31 +04:00
Alexander Udalov
c4b4fa750c Resolve callable reference expressions
#KT-1183 In Progress
2013-04-22 17:59:31 +04:00
Alexander Udalov
1db026aac5 Add CheckValueArgumentsMode to call resolver
Now it's ENABLED everywhere. DISABLED will be used for resolving callable
reference expressions, since there won't be any arguments near the function
call to check

 #KT-1183 In Progress
2013-04-22 17:59:30 +04:00
Alexander Udalov
1d07068c7c Minor refactoring in CallExpressionResolver
Kill useless parameters
2013-04-22 17:59:30 +04:00
Alexander Udalov
77ef20a51e Generate KFunction/KMemberFunction/KExtensionFunction
#KT-1183 In Progress
2013-04-22 17:59:30 +04:00
Alexander Udalov
b343e94ea5 Refactor GenerateFunctions
Extract some methods && constants, inline some useless methods, replace
PrintStream with PrintWriter, make some methods non-static
2013-04-22 17:59:30 +04:00
Alexander Udalov
dac0d77e90 Parse simple callable reference expressions
#KT-1183 In Progress
2013-04-22 17:59:30 +04:00
Alexander Udalov
a6e242d166 Add new token COLONCOLON (::) for callable reference
#KT-1183 In Progress
2013-04-22 17:59:30 +04:00
Alexander Udalov
d566250b18 Introduce JetCallableReferenceExpression
Reuse the obsolete hash qualified expression as a newly born callable reference
expression: Foo::bar. It's not a qualified expression anymore, since the
receiver part is now a JetTypeReference and it also can be empty ("::bar")

 #KT-1183 In Progress
2013-04-22 17:59:30 +04:00
Alexander Udalov
b7671d8af2 Delete unused method
It was only used in parsing tuples, which are dropped
2013-04-22 17:59:30 +04:00
Alexander Udalov
76fa9642f0 toString() for FunctionN classes
It's implemented as if the types were reified: getting the real type parameters
of the corresponding FunctionN class
2013-04-22 17:59:29 +04:00
Alexander Udalov
0ec1f20140 Write generic signature for closure FunctionN superclass
ClosureCodegen.appendType() now appends any Type as a type parameter correctly
2013-04-22 17:59:29 +04:00
Alexander Udalov
974df0ed8e Use FunctionImplN instead of FunctionN in codegen
Superclass of closures should now be FunctionImplN instead of FunctionN. Since
these -Impl classes are needed only in JVM, the corresponding descriptors and
types are created in the back-end only.
2013-04-22 17:59:29 +04:00
Alexander Udalov
6f6cb03549 Make FunctionN interfaces
FunctionN and ExtensionFunctionN are now interfaces, with the corresponding
implementations in FunctionImplN and ExtensionFunctionImplN

Update test data
2013-04-22 17:59:29 +04:00
Alexander Udalov
34470ec89a Regenerate FunctionN and ExtensionFunctionN classes
GenerateFunctions now also generates Java classes in runtime/src/jet/
directory, and they have the matching declarations to those in
compiler/src/jet/

Delete ExtensionFunctionN's protected constructor, as it wasn't needed

Delete toString(), a more useful version will be implemented soon
2013-04-22 17:59:29 +04:00
Alexander Udalov
5c777a2f3a Refactor GenerateFunctions
Introduce FunctionKind enum to store differences between functions and
extension functions (and possible future function-like classes)

Also remove some useless checks
2013-04-22 17:59:29 +04:00
Alexander Udalov
5150eb1eea Fix newlines in FunctionN generator
Use println() instead of print('\n')
2013-04-22 17:59:29 +04:00
Nikolay Krasko
ea52c6f717 KT-3508 Use a relative path for Kotlin bundled libraries instead of absolute path
#KT-3508 Fixed
2013-04-22 13:28:02 +04:00
Wojciech Lopata
cd0e1b7508 RmoveUnnecessaryParenthesesIntention 2013-04-19 08:41:31 +02:00
Wojciech Lopata
3e76fc2902 Rename method 2013-04-19 08:21:00 +02:00
Nikolay Krasko
5df85f6100 KT-3525 Duplicate inner class name not detected
#KT-3525 Fixed
2013-04-19 01:10:54 +04:00
Nikolay Krasko
37f25f2ee1 KT-2258 Plugin does not suggest to import objects
#KT-2258 Fixed
2013-04-19 01:10:53 +04:00
Nikolay Krasko
e1b1252657 Refactoring: rename auto import fix 2013-04-19 01:10:52 +04:00
Nikolay Krasko
2b8cac44bb Test for KT-1322 There's no autoimport suggested for traits
#KT-1322 Fixed
2013-04-19 01:10:52 +04:00
Mohammad Shamsi
296bda2e3a Fixed #KT-3379 jet.String.trimLeading and trimTrailing default whitespace trim 2013-04-19 01:10:51 +04:00
Evgeny Gerashchenko
622c1c3790 Reverted optimizing imports. 2013-04-18 22:33:06 +04:00
Evgeny Gerashchenko
7133f20247 Added tests with type parameter of class in SAM adapter. 2013-04-18 22:02:04 +04:00
Evgeny Gerashchenko
8c4e45de9a Supported SAM adapters with type parameters. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
db8d285b25 Extracted method recreating type parameters. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
f4994969c0 Added tests with type parameter of class in SAM adapter. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
e554228a73 Added tests with mixture of SAM and non-SAM parameters. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
7bd11718de Supported simplest cases of SAM adapter in backend. 2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
c5b9c6a7dc Minor. Removed index counter. Renamed variable. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko
8f8d284fe1 Added Kotlin external annotations to codegen tests with Java. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko
be0238a61e Loading SAM adapters with wildcard types. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko
c8e02f75b0 Supported simplest cases of SAM adapter. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko
37eccdb01f Saving "SAM interface" mark when resolving Java class. 2013-04-18 21:59:49 +04:00
Evgeny Gerashchenko
0ae0941e43 Minor. Used util method. 2013-04-18 21:59:48 +04:00
Mikhael Bogdanov
82d7f07cb3 Fixed bug in fix for KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring 2013-04-18 18:33:25 +04:00
Andrey Breslav
fe4dd2f661 Fix tests (by extracting a method and calling it multiple times) 2013-04-18 17:36:30 +04:00
Andrey Breslav
140382e280 PSI getter fixed: left-hand side of a binary expression can now be null
EA-35976 - IAE: FqNameUnsafe.validateFqName
2013-04-18 16:34:10 +04:00
Mikhael Bogdanov
c69e7f059d Duplicated JetTypeMapper.mapSignature removed 2013-04-18 15:03:43 +04:00
Mikhael Bogdanov
a1d295638a ExpressionCOdegen.visitSimpleNameExpression simplification 2013-04-18 14:05:15 +04:00
Mikhael Bogdanov
1fd76845ad Regression test for kt3315 2013-04-17 18:55:04 +04:00
Leonid Shalupov
a024facf95 Merge pull request #248 from nskvortsov/master
Fix test
2013-04-17 07:49:58 -07:00
Nikita Skvortsov
d44fd866c0 Fix gradle integration test - avoid Maven local repository reference 2013-04-17 18:46:54 +04:00
Zalim Bashorov
a4c02da10d Merge pull request #244 from lopekpl/type_mismatch3
QuickFix for EXPECTED_PARAMETER/RETURN_TYPE_MISMATCH
2013-04-17 07:35:08 -07:00
Wojciech Lopata
d396c08454 QuickFix for EXPECTED_PARAMETER/RETURN_TYPE_MISMATCH (ChangeTypeFix) 2013-04-17 15:28:57 +02:00
Andrey Breslav
edbbc6ec7b Unused method removed 2013-04-17 17:11:21 +04:00
Andrey Breslav
12cd0675bc A module can look up a namespace (package view) by FqName 2013-04-17 17:11:20 +04:00
Andrey Breslav
e88875eb20 Unused method removed 2013-04-17 17:11:20 +04:00
Andrey Breslav
4faf17d254 Unused import removed 2013-04-17 17:11:20 +04:00
Andrey Breslav
3a83361780 Factory method removed from DefaultModuleConfiguration 2013-04-17 17:11:19 +04:00
Andrey Breslav
3de0e68b0b KotlinBuiltIns use EMPTY moduleConfiguration 2013-04-17 17:11:19 +04:00
Andrey Breslav
fcb7d7ddcb Methods reordered, assertion added 2013-04-17 17:11:19 +04:00
Andrey Breslav
b89dc314c8 getPlatformToKotlinClassMap() removed from ModuleConfiguration 2013-04-17 17:11:19 +04:00
Andrey Breslav
4111e78ac2 ModuleDescriptor stores a PlatformToKotlinClassMap 2013-04-17 17:11:18 +04:00
Andrey Breslav
2e710d7462 getDefaultImports() removed from ModuleConfiguration 2013-04-17 17:11:18 +04:00
Andrey Breslav
f3656bcadd ModuleDescriptor stores default imports 2013-04-17 17:11:18 +04:00
Andrey Breslav
d5a4a67a86 DefaultModuleConfiguration made a singleton, ALL_JAVA_IMPORTS constant introduced 2013-04-17 17:11:17 +04:00
Andrey Breslav
a72e49d8f7 Use ModuleDescriptor instead of ModuleConfiguration 2013-04-17 17:11:17 +04:00
Andrey Breslav
e29418cde5 ModuleDescriptor stores a ModuleConfiguration 2013-04-17 17:11:17 +04:00
Andrey Breslav
2e44996cd0 ModuleDescriptor interface extracted 2013-04-17 17:11:16 +04:00
Leonid Shalupov
11568a6ec7 Merge pull request #247 from nskvortsov/master
Fix missing Kotlin tests
2013-04-17 06:03:29 -07:00
Natalia.Ukhorskaya
f2b3be7416 Unify properties initialization for init and clinit 2013-04-17 16:18:10 +04:00
Nikita Skvortsov
b74ae00b9f fix for KT-3490 copy Kotlin classes to resulting classes directory 2013-04-17 16:04:48 +04:00
Mikhael Bogdanov
57b161b08a KT-3500: ClassFormatError: Duplicate method name&signature in class file && KT-3429: Traits override bug 2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
3da3f94b4e KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring 2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
8a14087c91 Refactoring: property processing generalization 2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
0ba38b9f09 Removed code duplication and unnecessary branch 2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
48d153e8b2 General class for Field, Property, FieldForSharedVar extracted 2013-04-17 15:23:33 +04:00
Andrey Breslav
a514d76116 Optimization: Unneeded collection creation eliminated 2013-04-17 13:49:47 +04:00
Andrey Breslav
da2d417662 Optimization: no need to build a set of all supertypes, if we only need to check whether there's a nullable one 2013-04-17 13:49:47 +04:00
Andrey Breslav
af5ee3acba forceResolveAll() is not called when compiler initializes built-ins 2013-04-17 13:49:47 +04:00
Andrey Breslav
be62290aff Creating physical files to avoid unnecessary work inside the PSI framework 2013-04-17 13:49:46 +04:00
Andrey Breslav
1dc9ab1bd8 Avoiding rehashes (profiling results improved) 2013-04-17 13:49:46 +04:00
Andrey Breslav
a76d1d770b Class made final and a call to getClass() eliminated
(Profiling results improved)
2013-04-17 13:49:46 +04:00
Andrey Breslav
2c60f73fa5 Profiling shows that ImmutableSet is faster than EnumSet in this case 2013-04-17 13:49:45 +04:00
Andrey Breslav
e354d3d629 Unnecessary copy eliminated 2013-04-17 13:49:45 +04:00
Andrey Breslav
bab8b63fcb Merge pull request #246 from lopekpl/failing_assertion
Fix failing assertion in ChangeFunctionTypeFix
2013-04-17 00:37:22 -07:00
Wojciech Lopata
0543b73099 Fix failing assertion in ChangeFunctionTypeFix 2013-04-17 09:22:33 +02:00
Wojciech Lopata
328e579852 Fix reporting of EXPECTING_PARAMETER/RETURN_TYPE_MISMATCH 2013-04-16 14:06:09 +02:00
Andrey Breslav
1d08bf7895 toString() in diagnostic classes 2013-04-12 21:06:55 +04:00
Andrey Breslav
125bfb2291 Simple (not thread-safe) memoized functions supported 2013-04-12 21:06:55 +04:00
Andrey Breslav
df9f4ea6d6 Better diagnostics in CompilationException 2013-04-12 21:06:54 +04:00
Andrey Breslav
d612a1167d Better error reporting in codegen tests:
an exception from generateToText() used to mask the one from the original run
2013-04-12 21:06:54 +04:00
Andrey Breslav
089a2fc071 Run tests only from the appropriate module 2013-04-12 21:06:54 +04:00
Andrey Breslav
8a79e7ab7d .jet -> .kt 2013-04-12 21:06:54 +04:00
Andrey Breslav
99e735ba7b An unfortunate design decision removed from tests 2013-04-12 21:06:53 +04:00
Andrey Breslav
f9fd7bfba5 Tracking sliced map for debugging "Rewrite at slice..." 2013-04-12 21:06:53 +04:00
Andrey Breslav
03335b5143 Constant made final 2013-04-12 21:06:53 +04:00
Andrey Breslav
aee27aee2a Topologically sort fields according to constructor dependencies 2013-04-12 21:06:52 +04:00
Andrey Breslav
8c967e0c73 Unused parameters removed from injectors 2013-04-12 21:06:52 +04:00
Andrey Breslav
dc8e80ea59 Reporting unused parameters 2013-04-12 21:06:52 +04:00
Andrey Breslav
76e7731b6b Better reporting of ambiguous dependencies 2013-04-12 21:06:51 +04:00
Andrey Breslav
1d41f9faf3 Better error reporting for missing dependencies 2013-04-12 21:06:51 +04:00
Svetlana Isakova
7588c8d81f mark 'unresolved' if invoke method on type parameter
instead of resolve to error element
2013-04-12 20:01:09 +04:00
Svetlana Isakova
204ffde78a added errors TYPE_PARAMETER_ON_LHS_OF_DOT,
TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
fixed exception from ea
2013-04-12 17:35:00 +04:00
Svetlana Isakova
3168b732d3 annotate 'getArrayExpression' with @Nullable @IfNotParsed
from EA
2013-04-12 17:34:59 +04:00
Andrey Breslav
c422e4194d Reverting pull request 240 2013-04-12 15:25:52 +04:00
Michał Sapalski
d875bf80cb Fixed regression in rendering generic types upper bounds. 2013-04-12 12:49:00 +04:00
Michał Sapalski
a8f43d1e47 Removed FunctionSignatureUtil. 2013-04-12 12:49:00 +04:00
Michał Sapalski
97796f9b0f Refactoring: use DescriptionRenderer to generate overriding functions / properties. 2013-04-12 12:49:00 +04:00
Michał Sapalski
5b1f93b42e Quickfix for NOTHING_TO_OVERRIDE 2013-04-12 12:47:21 +04:00
Evgeny Gerashchenko
3760922e84 Updated to IDEA 12.1.1 (build 129.239) 2013-04-11 22:30:12 +04:00
Evgeny Gerashchenko
976713d3e7 Minor. Regenerated. 2013-04-11 21:11:38 +04:00
Evgeny Gerashchenko
f713b03abc Fixed propagation for non-abstract methods inherited from traits. 2013-04-11 21:06:33 +04:00
Zalim Bashorov
068b4a4628 Unnecessary TLinkedList replaced to LinkedList and rename FinalListItem to OpenClassInfo. 2013-04-11 20:26:47 +04:00
Zalim Bashorov
7680203de2 Fixed wrong linearization for open classes and traits.
openList changed during neighbors calculation because the same TLinkable object cannot be put into more than one TLinkedList at the same time.

#KT-3499 fixed
2013-04-11 20:26:47 +04:00
Nikolay Krasko
840a728d26 Add generated suffix to tests 2013-04-11 20:00:31 +04:00
Nikolay Krasko
9ccd6b847f Use target platform interface instead of psi platform 2013-04-11 20:00:30 +04:00
Nikolay Krasko
87c9a65667 Move all basic completion tests to common folder 2013-04-11 20:00:29 +04:00
Nikolay Krasko
7f8e0e8803 Test keywords completion with fixture tests 2013-04-11 20:00:28 +04:00
Nikolay Krasko
3963eb0d5e Add debug names for keyword completion contributors 2013-04-11 20:00:27 +04:00
Nikolay Krasko
f3e7ec81dc Do extensions test with fixtures 2013-04-11 20:00:26 +04:00
Nikolay Krasko
aeff3c783e Move class completion tests into ordinal tests 2013-04-11 20:00:25 +04:00
Nikolay Krasko
8ee8ddd997 Enable completion test from custom jar-libraries 2013-04-11 20:00:24 +04:00
Nikolay Krasko
e242f31dff Rename methods (prefix -> prefixes) 2013-04-11 20:00:23 +04:00
Nikolay Krasko
170363cd5a Using fixture for handler tests 2013-04-11 20:00:22 +04:00
Nikolay Krasko
1a5ccafd47 Refactor tests and activate them for working with JS 2013-04-11 20:00:22 +04:00
Nikolay Krasko
a79e997611 Add ability to test for unexpected directives in tested file 2013-04-11 20:00:20 +04:00
Nikolay Krasko
5ccea1185d Make completion test framework be configurable for writing multi-platform tests 2013-04-11 20:00:20 +04:00
Nikolay Krasko
1d05125c8f Refactoring: change parameters order in InTextDirectivesUtils 2013-04-11 20:00:19 +04:00
Alexander Udalov
797c3db93b Regenerate tests 2013-04-10 22:15:38 +04:00
Alexander Udalov
57f6870e68 Remove useless parameter from FunctionGenerationStrategy 2013-04-10 20:25:16 +04:00
Alexander Udalov
330efd3967 Remove useless methods from codegen utils 2013-04-10 20:25:16 +04:00
Alexander Udalov
306e4bdbd7 Get rid of FunctionCodegen.MethodInfo
generateMethodBody() is now responsible for generating the local variable
table, therefore the data class MethodInfo is not needed anymore to return
multiple values from it
2013-04-10 20:25:15 +04:00
Alexander Udalov
a67866823e Refactor FunctionCodegen.genJetAnnotations()
Always map descriptor to the callable method and take the signature from there,
since this way the signature appears to be more accurate. The whole
"mapSignature vs mapToCallableMethod.getSignature" story needs some
investigation though.

Also make the method non-static, remove useless checks, etc
2013-04-10 20:25:14 +04:00
Alexander Udalov
9187116055 Refactor componentN() function generation
Adopt to the new FunctionGenerationStrategy
2013-04-10 20:25:14 +04:00
Alexander Udalov
34009a2134 Refactor copy() function generation for data classes
Use FunctionCodegen and the newly created FunctionGenerationStrategy to
generate the needed instructions. Make some methods in FunctionCodegen private
since they're not used anymore outside of the class
2013-04-10 20:25:13 +04:00
Alexander Udalov
9bb3663b54 Extract generation logic from FunctionCodegen
Create a new class FunctionGenerationStrategy, which is used to specify exactly
how the body of a function will be generated. This is made primarily to factor
out the hard dependency on PSI in FunctionCodegen.generateMethod(). The PSI
element is now optional and is only used for debug information (as an argument
to newMethod() and endVisit()). This also helps to refactor the confusing logic
about generating default property accessors.

Assert for whether we generate code now for the declared member is now useless,
since generateMethod() will be used also for generating any possible members.

Also surround with "if ( != null)" some method call in genJetAnnotations(), as
null is possible here
2013-04-10 20:25:12 +04:00
Alexander Udalov
98688eed66 Simplify FrameMap construction in FunctionCodegen 2013-04-10 20:25:12 +04:00
Alexander Udalov
b2e389d90b Minor refactoring in FunctionCodegen
Combine two nested classes, MethodBounds and LocalVariablesInfo, into one
MethodInfo. Rename some methods. No logic has changed
2013-04-10 20:25:11 +04:00
Alexander Udalov
099fa6c11e Minor refactoring in Function/PropertyCodegen
Check if we need to generate code before calling generateMethod()
There were 4 such checks, 2 of them in PropertyCodegen, one in
FunctionCodegen.gen() and one in ClosureCodegen. Every usage except the last
was prepended with the check
2013-04-10 20:25:10 +04:00
Alexander Udalov
559b742737 Create AnonymousFunctionDescriptor
Will be used to check if the descriptor represents a function literal
2013-04-10 20:25:10 +04:00
Evgeny Gerashchenko
d502d45772 Disabled highlighting for variables which are captured in inlined closure. 2013-04-10 20:10:49 +04:00
Evgeny Gerashchenko
6285e5a9f4 Renamed method. 2013-04-10 16:13:45 +04:00
Nikolay Krasko
ebd72df058 KT-3491 Wrong (or not obvious) warning
#KT-3491 Fixed
2013-04-10 13:14:49 +04:00
Nikolay Krasko
7577177a06 Make script configurable from external parameters 2013-04-10 13:14:48 +04:00
Peter Tseng
1025ab4397 Implement quickfix for MANY_CLASSES_IN_SUPERTYPE_LIST 2013-04-09 20:47:29 +04:00
Wojciech Lopata
9000f6971c ChangeVariableTypeFix 2013-04-09 20:35:18 +04:00
Wojciech Lopata
cdd41f0fa1 Map RETURN_TYPE_MISMATCH_ON_OVERRIDE to ChangeFunctionReturnTypeFix 2013-04-09 20:35:18 +04:00
Wojciech Lopata
c281796e64 Quickfix for COMPARE_TO_TYPE_MISMATCH 2013-04-09 20:35:18 +04:00
Wojciech Lopata
13022922af ChangeFunctionReturnTypeFix quickfix 2013-04-09 20:35:17 +04:00
Andrey Breslav
03f428d833 Merge pull request #241 from katyasosa/master
Added appendBytes and appendText functions to kotlin.io.File
2013-04-09 09:07:40 -07:00
Natalia.Ukhorskaya
1dce3b5da4 Invoke top level function with default argument using src class 2013-04-09 17:11:25 +04:00
Alexey Sedunov
ce5ad80881 Fix "family names" of intentions 2013-04-09 16:22:22 +04:00
Alexey Sedunov
1ed2d951fe Fix syntax error in template 2013-04-09 13:15:48 +04:00
Alexey Sedunov
691a62fa2b Add assignment creation to JetPsiFactory 2013-04-09 13:15:47 +04:00
Alexey Sedunov
0b52696fe1 Fix intention description 2013-04-09 13:15:47 +04:00
Natalia.Ukhorskaya
e383a41452 Refactor JetLineMarkerProvider 2013-04-09 12:52:33 +04:00
Natalia.Ukhorskaya
1e86fe1a56 Remove redundant check (it is included in LightClassUtils.getPsiClass) 2013-04-09 12:52:32 +04:00
Natalia.Ukhorskaya
a943e68225 Rename method 2013-04-09 12:52:30 +04:00
Natalia.Ukhorskaya
eb768ea59a Do not create LightClasses for kt files as sources for libraries 2013-04-09 12:52:29 +04:00
Ekaterina Sosa
a34a6b71c1 KT-3376 Added appendText and appendBytes functions to kotlin.io.File
#KT-3375 fixed
2013-04-09 00:56:44 +04:00
Alexey Sedunov
d424686f1a Fix bug in intention which caused hanging out 2013-04-04 20:18:04 +04:00
Evgeny Gerashchenko
b1ea79113f Replaced hard exception with LOG.error. 2013-04-04 17:51:51 +04:00
Evgeny Gerashchenko
50b2f79b2e Removed tooltip for variable as function(-like) call. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko
73d44fb18b Removed leading "/" to avoid tests failing. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko
db003347dd Refactored JetHighlightingColors to IDEA 12.1+ colors API. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko
3c31620f5a Removed commented out code from color settings.
When we implement actual highlighting for KDoc highlighting, returning these lines would be easy.
2013-04-04 17:33:58 +04:00
Evgeny Gerashchenko
f53af70ad6 Added separate highlighting keys for variables invoked as function and function-like. 2013-04-04 17:33:58 +04:00
Evgeny Gerashchenko
a6293e10d9 Removed green color for variable as function.
#KT-3296 in progress
2013-04-04 17:33:57 +04:00
Alexey Sedunov
af8c3792f6 Tests for code transformation: if statement with assignments <-> assignment with if expression 2013-04-04 15:52:17 +04:00
Alexey Sedunov
9f828b8f41 Code transformation: if statement with assignments <-> assignment with if expression 2013-04-04 15:51:41 +04:00
Svetlana Isakova
d843608298 'checkType' for qualified properties as function arguments 2013-04-03 20:44:47 +04:00
Nikolay Krasko
bab6fd570d Remove illegal assert 2013-04-03 18:18:05 +04:00
Nikolay Krasko
965bfe682c Check found fqnames for validness before searching for descriptors 2013-04-03 18:18:05 +04:00
Nikolay Krasko
7885e48eaf Setup handlers at the place where lookup elements are created 2013-04-03 18:18:04 +04:00
Nikolay Krasko
e94843b7b3 JS checker tests 2013-04-03 18:18:03 +04:00
Evgeny Gerashchenko
6e43b78deb KT-3459 "import java.util.*" is removed by optimize imports if the only usage is a SAM constructor
#KT-3459 fixed
2013-04-03 17:44:01 +04:00
Svetlana Isakova
8f1b728a08 try to use bounds in type inference
if some parameters are unknown
2013-04-03 15:51:17 +04:00
Svetlana Isakova
2a36da9549 small refactoring
removed unnecessary variable
added annotation
2013-04-03 15:51:17 +04:00
Evgeny Gerashchenko
0de4b6890e Fixed compilation. 2013-04-03 15:37:06 +04:00
Evgeny Gerashchenko
c4f2740074 KT-3469 AssertionError: Couldn't find super type for super function
Class descriptor for Java class was recreated in KotlinSignatureInJavaMarkerProvider.

 #KT-3469 fixed
2013-04-03 15:13:10 +04:00
Evgeny Gerashchenko
8c45d50a86 Extracted method for creating injector.
Using delegating binding trace instead of original binding context.
2013-04-03 15:12:52 +04:00
Nikolay Krasko
f59701a6c4 Extract caching providers 2013-04-03 02:34:35 +04:00
Nikolay Krasko
61986c2d65 Make caching headers work for JS projects 2013-04-03 02:34:33 +04:00
Nikolay Krasko
307d9b1661 Refactoring: extract detecting platform functions to separate class 2013-04-03 02:34:30 +04:00
Nikolay Krasko
a13d61e618 Introduce project descriptor for testing js configuration 2013-04-03 02:34:27 +04:00
Nikolay Krasko
84627700a2 Refactoring: fix warning 2013-04-03 02:34:25 +04:00
Nikolay Krasko
c12d160438 Refactoring: optimize imports 2013-04-03 02:34:22 +04:00
Nikolay Krasko
d24b390966 Refactoring: use Computable in JS std library search 2013-04-03 02:34:20 +04:00
Nikolay Krasko
957e97a3b7 Reformatting 2013-04-03 02:34:17 +04:00
Zalim Bashorov
a665fa2049 Rewrote nonLiteralFilenameFilter and filenameFilter tests without working with FS.
Removed filenameFilter test from excludes for AndroidTests.
2013-04-02 22:11:57 +04:00
Evgeny Gerashchenko
1ddf074052 Compacted serialized versions of methods and functions in JavaToKotlinMethodMapGenerated. 2013-04-02 22:04:22 +04:00
Evgeny Gerashchenko
9bccb98a7d KT-3468 Kotlin can't understand compareTo was overridden in Java
Never using parameter names when serializing methods. They were added to external name if JDK sources were present and not added if JDK sources were absent.

 #KT-3468 fixed
2013-04-02 22:04:22 +04:00
Natalia.Ukhorskaya
d84cf971c1 Do not fold imports if there is only one
#KT-3410 Fixed
2013-04-02 17:49:55 +04:00
Andrey Breslav
0985b124df Compilation fixed 2013-04-02 13:14:06 +04:00
Andrey Breslav
ffeb73beb5 EA-43573 - assert: KotlinJavaFileStubProvider$.generate
The problem was that KotlinJavaFileStubProvider instances remembered information that changed between their invocation:
 e.g. when a package gets renamed the qualified name in a java file stub does not get updated
2013-04-02 13:11:55 +04:00
Svetlana Isakova
d57003dece added ? as type argument to avoid raw types
to CallResolutionContext
2013-04-01 20:02:08 +04:00
Svetlana Isakova
12c0a2cb77 KT-3461 Nullable argument allowed where shouldn't be
#KT-3461 Fixed
2013-04-01 19:07:36 +04:00
Leonid Shalupov
dd0acf6013 gradle: fix test 2013-04-01 18:58:59 +04:00
Leonid Shalupov
7b0e3465c2 gradle: handling of noJdkAnnotations argument 2013-04-01 18:58:56 +04:00
Leonid Shalupov
f81e3f6881 Merge pull request #236 from nskvortsov/master
Fix kotlin class injection to javac classpath
2013-04-01 07:48:39 -07:00
Nikita Skvortsov
b93f7f3202 inject Kotlin classes to javac classpath carefully 2013-04-01 18:38:21 +04:00
Mikhael Bogdanov
16aa4153e4 KT-3457 fix: added missed spread operator and receiver became format template 2013-04-01 14:50:20 +04:00
Andrey Breslav
a0e9f4ea01 Copyright added 2013-04-01 13:39:44 +04:00
Andrey Breslav
d42a9f37a3 Proper checking for a qualified name
When i18n plugin is enabled, it looks for classes like "java.lang.Object...)" while highlighting annotations.xml

EA-43709 - IAE: NameUtils.requireIdentifier
2013-04-01 13:37:02 +04:00
Leonid Shalupov
4c3f8ff633 move maven examples to https://github.com/JetBrains/kotlin-examples 2013-03-30 15:42:46 +04:00
Leonid Shalupov
bbb526476e maven plugin: get jdk annotations from plugin's classpath 2013-03-30 15:42:44 +04:00
Leonid Shalupov
5ee5c841cb generators: don't write to files if content is not changed 2013-03-30 15:42:41 +04:00
Agnieszka Paszek
7bac3c5db6 Generated changes 2013-03-29 20:40:26 +04:00
Agnieszka Paszek
da2880f985 Added quckfix for PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE 2013-03-29 20:39:18 +04:00
Agnieszka Paszek
7c041d5c94 Added quickfix for PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT 2013-03-29 20:39:00 +04:00
Agnieszka Paszek
50f8948706 Added quickfix for CONFLICTING_PROJECTION 2013-03-29 20:38:40 +04:00
Agnieszka Paszek
56774cccd8 Added quickfix for NESTED_CLASS_NOT_ALLOWED 2013-03-29 20:38:18 +04:00
Evgeny Gerashchenko
72284c36d4 Added examples in code. 2013-03-29 20:36:48 +04:00
Evgeny Gerashchenko
8014f1af0b Extracted method. 2013-03-29 20:36:48 +04:00
Evgeny Gerashchenko
e5d14f6970 Minor. Simplified, reformatted, got rid of warnings. 2013-03-29 20:36:47 +04:00
Evgeny Gerashchenko
056c7e0df3 Simplified code. 2013-03-29 20:36:47 +04:00
Evgeny Gerashchenko
6ff9bfd4bb Supported SAM constructor calls without function literal. 2013-03-29 20:36:47 +04:00
Evgeny Gerashchenko
f11a1a2d28 Minor. Simplified, reformatted, got rid of warnings. 2013-03-29 20:36:46 +04:00
Nikolay Krasko
e77f1060b3 Update to IDEA 129.111 (12.1 EAP RC2) 2013-03-29 18:56:35 +04:00
Alexey Sedunov
6a7cd7c6e3 Add tests for mutability annotation support in type resolver 2013-03-29 18:42:47 +04:00
Alexey Sedunov
fc7bb67aca Add extended annotation to test environment 2013-03-29 18:42:44 +04:00
Alexey Sedunov
393ebf44aa Implement mutability annotation support in type resolver 2013-03-29 18:42:43 +04:00
Alexey Sedunov
975c66b946 Add module with extended annotations (mutable, read-only) 2013-03-29 18:42:43 +04:00
Nikolay Krasko
3f2102b04f Verify both plugins with idea 12.1 eaps 2013-03-29 13:50:15 +04:00
Evgeny Gerashchenko
dcb95fc5ac Fixed priorities for synthetic functions. 2013-03-29 13:10:31 +04:00
Natalia.Ukhorskaya
73bbda5b93 AndroidTests: do not run test which use file system 2013-03-29 11:47:05 +04:00
Leonid Shalupov
fb2809388b Merge pull request #233 from nskvortsov/master
Kotlin Gradle plugin improvements
2013-03-28 09:57:00 -07:00
Evgeny Gerashchenko
13d856db8e Moved max priority constant to PriorityProvider. 2013-03-28 20:08:35 +04:00
Evgeny Gerashchenko
0fee69fe07 Prioritized synthetic and not synthetic functions. 2013-03-28 20:07:47 +04:00
Evgeny Gerashchenko
2e678a94f1 Replaced predicate strategy with priority-returning strategy. 2013-03-28 18:27:35 +04:00
Evgeny Gerashchenko
69c5411269 Fixed recently added annotation. 2013-03-28 17:12:26 +04:00
Evgeny Gerashchenko
0bc65321c2 KT-1547 Wrong layout of closure classes
#KT-1547 fixed
2013-03-28 15:54:51 +04:00
Evgeny Gerashchenko
05e4164a0d Committing ant.xml. 2013-03-28 15:54:51 +04:00
Evgeny Gerashchenko
b7527101cd Always using "SAM interface" term. 2013-03-28 15:54:51 +04:00
Evgeny Gerashchenko
c619685dc8 Added test with overridden j.l.Object methods in trait. 2013-03-28 15:54:51 +04:00
Natalia.Ukhorskaya
221df82c01 Build class hierarchy for classes from BuiltIns 2013-03-28 15:25:28 +04:00
Natalia.Ukhorskaya
f4a0808a28 Fix resolve in sources files of libraries 2013-03-28 15:25:24 +04:00
Natalia.Ukhorskaya
e1dece4345 Inline functions from AnalyzeSingleFileUtil 2013-03-28 14:30:57 +04:00
Andrey Breslav
1ad0cad020 Incomplete analysis results are available for light class generation
If we have the following classes

 class A // Kotlin
 class B extends A {} // Java
 class C : B() // Kotlin

 The analysis runs into infinite recursion, because C needs all members of B (to compute overrides),
 and B needs all members of A, and A is not available from KotlinCacheManager.getDeclarationsFromProject() -- it is being computed right now,
 so the analysis runs again...

 Our workaround is:
  * when analysis starts put its trace into user data on the project
  * when a light class is about to generate a stub, it requests a trace, and if there is such an incomplete trace, it is returned
  * the logic of TopDownAnalyzer that works in descending order (down the class hierarchy) guarantees that all the superclasses are already processed
2013-03-28 11:29:53 +04:00
Andrey Breslav
83e2986a7b Unused methods removed, class renamed 2013-03-27 20:31:00 +04:00
Nikolay Krasko
fb4a205277 Fix absence of notification about unsupported Abi 2013-03-27 20:20:38 +04:00
Evgeny Gerashchenko
cadb9bcb8f Supported multi-reference in imports (SAM interfaces are resolved as both functions and classes). 2013-03-27 19:19:59 +04:00
Evgeny Gerashchenko
8130c813e9 Not looking for super methods which are Object methods in interfaces, because they are not loaded by JDR. 2013-03-27 19:19:59 +04:00
Evgeny Gerashchenko
d8ccfe55b6 Removed redundant checking for test mode. Exceptions will be thrown anyway. 2013-03-27 19:19:59 +04:00
Evgeny Gerashchenko
3917f11b12 Updated test data. 2013-03-27 19:19:59 +04:00
Evgeny Gerashchenko
4fc1148d59 Added dummy methods to avoid loading test interfaces as SAM. 2013-03-27 19:19:59 +04:00
Evgeny Gerashchenko
8f079f6d41 Added tests for ignoring Object methods when loading interface. 2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
ecf882fc21 Removed method which had never been used. 2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
3761dc051e Generating ACC_SUPER for closures.
Removed commented.
2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
4e0d408178 Minor. Annotated with @Nullable/@NotNull. 2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
a2b4f446b5 Removed useless ACC_PUBLIC flags from closure classes. 2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
fb18e5ab39 Removed recording function twice. 2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
56d2bb2639 Removed volatile flag from bridge method.
Actually, volatile flag is equal to bridge flag, which is already there.
2013-03-27 19:19:58 +04:00
Evgeny Gerashchenko
288dbe70c6 Got rid of adding constant on each call site. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
d5031e60ad Prepared code for supporting SAM conversions. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
b891d6d87f Loading SAM constructor functions for nested interfaces. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
17cc055152 Loading deeply nested static method correctly. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
81381a206c Simplified code. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
7a136eae5b Extracted method. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
0422253943 Loading generic interfaces with upper bounds. 2013-03-27 19:19:57 +04:00
Evgeny Gerashchenko
dea7ef77ec If interface method has generic parameters, interface is not functional. 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
91282b992d Supported functional interfaces with generic parameters in codegen. 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
3b558d575c Loading functional interfaces with generic parameters. 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
526cc3ce15 Renamed method. 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
933a455f6c Capable of changing owner. 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
45d638cc51 Loading interface with only one method inherited from Object as not functional.
#KT-1242 fixed
2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
e6c047b2e0 Added tests with FilenameFilter (several arguments). 2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
461bfec45d Added FileFilter to mock JDK. 2013-03-27 19:19:55 +04:00
Evgeny Gerashchenko
835c0f85c7 Supported SAM constructors in codegen (simplest case). 2013-03-27 19:19:55 +04:00
Evgeny Gerashchenko
8f34dea4c8 Saving mapping from SAM constructor to trait. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
a96a461e61 Calculating interface function name in constructor. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
0add163467 Asserting right after reading. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
73823260be Removed redundant code. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
5ad571c5ab Inlined method which was used only once, and in different subsystem. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
32a048674f Got rid of method duplication. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
f4551da18b Moved SAM function creation to JavaFunctionResolver. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
dad2ba34aa Removed redundant field in JavaPackageScope. 2013-03-27 19:19:54 +04:00
Evgeny Gerashchenko
f43631377b Updated test data. 2013-03-27 19:19:53 +04:00
Evgeny Gerashchenko
2718f7698c Basic support for resolving top-level SAM interfaces. 2013-03-27 19:19:53 +04:00
Zalim Bashorov
282c69eb6b Fixed return value for ArrayList#remove in js library.
Removed unnecessary Kotlin.IndexOutOfBounds.
2013-03-27 18:40:10 +04:00
Zalim Bashorov
7350e14e18 Fixed bug when class or trait declared early than its parent, traits and abstract classes which declared after doesn't translated
#KT-3437 Fixed
2013-03-27 18:40:09 +04:00
Mikhael Bogdanov
ad4eeb3f8a Properly capture local functions
Local functions in local classed wasn't captured properly
2013-03-27 15:57:27 +04:00
Nikolay Krasko
8f6c9d73b1 Compatibility with 123 branch is lost - start using fixed AddSupportForSingleDialog from IDEA 2013-03-27 15:45:42 +04:00
Nikolay Krasko
bf3fb8acc5 Better work with getLocalPath method 2013-03-27 15:45:41 +04:00
Nikita Skvortsov
b9fc66ec0b filter out non-existent directories from class path 2013-03-27 15:14:25 +04:00
Nikita Skvortsov
e4b5165e8a use jdk annotations from maven repository 2013-03-27 15:14:25 +04:00
Nikita Skvortsov
a876ea9fd0 added kotlin plugin name 2013-03-27 15:14:24 +04:00
Nikita Skvortsov
8bfa371811 add kotlinOptions to tasks with type kotlinCompile. Allows to set kotlin compiler options directly 2013-03-27 15:14:23 +04:00
Mikhael Bogdanov
771bce99fa Android test update to support new Idea 2013-03-27 12:24:32 +04:00
Nikolay Krasko
2b8af4e6a5 Refresh local file system to update content of the jar 2013-03-26 21:24:40 +04:00
Nikolay Krasko
314efa3372 Don't use caching LibraryDetectionManager because it isn't updated properly 2013-03-26 21:24:39 +04:00
Nikolay Krasko
14a6cf3c8f Remove old js during configuring new one 2013-03-26 21:24:38 +04:00
Nikolay Krasko
9a4ab3546b Don't consider libraries with empty source roots as JS libraries
#KT-3425 Fixed
2013-03-26 21:24:38 +04:00
Evgeny Gerashchenko
3ae0448c3e Generating public flag for local functions/properties. 2013-03-26 18:46:19 +04:00
Nikolay Krasko
8201e530fd Update to IDEA 129.60 (12.1 EAP RC) 2013-03-26 16:30:32 +04:00
Nikolay Krasko
70965334b1 Force activating post processing actions in order to initialize built-ins properly 2013-03-26 16:30:31 +04:00
Nikolay Krasko
53944242df Don't compute type and use reference for quick fix AddOpenModifierToClassDeclaration quick fix 2013-03-26 16:30:30 +04:00
Nikolay Krasko
e239ce7fa7 Don't compute type and use reference for MakeClassAnAnnotation quick fix 2013-03-26 16:30:29 +04:00
Evgeny Gerashchenko
35dadbf796 Update to IDEA 129.17 (12.1 EAP) 2013-03-26 16:30:28 +04:00
Evgeny Gerashchenko
6874f41af8 Removed redundant annotation to avoid indeterministic test failing.
It was failing because of duplication of the same annotation in IDEA JDK annotations and Kotlin JDK annotations.
2013-03-26 16:30:28 +04:00
Evgeny Gerashchenko
be08494b75 Added commitAllDocuments() to avoid failing tests. 2013-03-26 16:30:27 +04:00
Evgeny Gerashchenko
4e67dc15c9 Added annotation to fix test. 2013-03-26 16:30:25 +04:00
Nikolay Krasko
f7ca9a579c Refactor test: remove irrelevant code 2013-03-26 16:30:24 +04:00
Nikolay Krasko
0a0f7387d0 Enable SELECT_AUTOPOPUP_SUGGESTIONS_BY_CHARS settings in tests 2013-03-26 16:30:23 +04:00
Andrey Breslav
a4e503a263 Update to 12.1 EAP (IDEA 128.101) 2013-03-26 16:30:23 +04:00
Nikolay Krasko
fb6e82fc92 Update year in the licence 2013-03-26 16:30:22 +04:00
Mikhael Bogdanov
932c1444a2 Fix for local closures 2013-03-26 15:43:25 +04:00
Natalia.Ukhorskaya
9091becbea Implement Class Hierarchy View
#KT-3419
2013-03-25 17:39:57 +04:00
Natalia.Ukhorskaya
c6e934169f Add method isLocalClass to JetPsiUtil 2013-03-25 17:39:55 +04:00
Natalia.Ukhorskaya
74bd843d1b Move method 2013-03-25 17:39:54 +04:00
Svetlana Isakova
362770c9b1 don't generate two 'flatMap' methods(*) for Iterator
* with the same erased signature
 #KT-3373 Fixed
2013-03-25 17:34:22 +04:00
Evgeny Gerashchenko
d0e736e5a6 Updated test data. 2013-03-22 17:35:34 +04:00
Svetlana Isakova
3ece374a18 check visibility with right 'from' for namespace members
while prioritizing members by visibility
2013-03-22 17:29:49 +04:00
Evgeny Gerashchenko
d194d4d877 Updated test data. Unit -> jet.Unit. 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko
eefdf5790a Rendering Unit as jet.Unit (uniformity). 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko
f31f98b56d Restored auto-generated warning in iterators/collections code. 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko
f4a5103867 Removed old unused code from GenerateStandardLib.kt 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko
ef391f0642 Reformatted code. 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko
aa74bb6611 Merged similar intrinsic methods. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
5ccbce6de6 Got rid of "tuple" word all over the code. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
0b41436e7a Fixed small issues in kotlin-stdlib-gen. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
724257dd23 Added kotlin-stdlib-gen module. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
e8cf905ed0 Fixed typo. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
7dee1c1814 Removed test data and generator for test which is "temporarily" disabled. 2013-03-22 16:38:25 +04:00
Evgeny Gerashchenko
bc1b73aaa6 Replaced custom Tuple3 with Trinity. 2013-03-22 16:38:24 +04:00
Evgeny Gerashchenko
93f8d572fc Renamed runtime Tuple0 class to Unit. 2013-03-22 16:38:24 +04:00
Evgeny Gerashchenko
f181907b9c Got rid of code depending on Unit aliasing. 2013-03-22 16:38:24 +04:00
Evgeny Gerashchenko
66e7a0110c Updated test data and stdlib code which dependent on Tuple0/Unit
aliasing.
2013-03-22 16:38:24 +04:00
Evgeny Gerashchenko
8a021abaa5 Renamed Tuple0 to Unit, removed aliasing. 2013-03-22 16:38:24 +04:00
Evgeny Gerashchenko
20e5990f4e Replaced function with constant. 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
e42db4bf31 Renamed generator. 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
3f88fa4a45 Removed Tuples.jet. 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
fcc27f2ce6 Removed tuple-related methods from KotlinBuiltIns. 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
ca27637ef2 Removed usages of getTuple() and isTupleType() 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
6e623c57e1 Removed "worst code in Kotlin project".
Nothing changed after removing.
2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
ce86f27b43 Code cleanup in BasicExpressionTypingVisitor: added 'statics', removed unused method. 2013-03-22 16:38:23 +04:00
Evgeny Gerashchenko
0b34378610 Removed JetTupleExpression. 2013-03-22 16:37:17 +04:00
Evgeny Gerashchenko
d9b6a5c2ba Removed JetTupleType. 2013-03-22 16:37:17 +04:00
Evgeny Gerashchenko
2807664ebc Removed tuples from node types 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
84bc74894a Always parsing tuples as errors. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
1236327815 Removed tuples from grammar. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
655f9e01a2 Renamed tuples from other code. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
c458ed36f6 Renamed test data dir. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
afe54098be Removed tuples from BuiltInsReferenceResolverTest. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
7bfa4a9c09 Removed tuples from PSI tests. 2013-03-22 16:37:16 +04:00
Evgeny Gerashchenko
ffb67d3a1f Removed tuples from type checker test. 2013-03-22 16:37:15 +04:00
Evgeny Gerashchenko
bf28ce155d Removed "tuples not supported" diagnostic. 2013-03-22 16:37:15 +04:00
Evgeny Gerashchenko
cb4d680790 Removed migrate tuples quick fix. 2013-03-22 16:37:15 +04:00
Andrey Breslav
3bd202de84 Allow to call += on a val 2013-03-21 21:21:54 +04:00
Mikhael Bogdanov
c1a8f27b99 Process waiting time increased x2 2013-03-21 19:17:34 +04:00
Andrey Breslav
f4def581f2 Merge pull request #231 from lopekpl/KT-831
KT-831 parser recovering when missing parameter
2013-03-21 07:22:03 -07:00
Mikhael Bogdanov
79bf174e93 Warning for unused function literal in do..while 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov
8e5f0abb84 Jet api refactoring: remove JetBodyDeclarationWithBody interface from JetFunctionLiteralExpression 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov
93b860e4ad Always generate getter and setter 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov
83a717bafe Don't generate default getter for object declaration property descriptor 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov
5bed6c296d Test update after "Refactoring: code duplication removed from accessor generators" and "Properly resolve descriptors from compiled kotlin" fixes 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov
d9fd04dd43 Refactoring: code duplication removed from accessor generators 2013-03-20 20:50:05 +04:00
Mikhael Bogdanov
86f5114b7d Properly resolve descriptors from compiled kotlin
Added protected flag for annotation
2013-03-20 20:50:05 +04:00
Mikhael Bogdanov
001a27f802 Refactoring: code duplication removed from constructor generators 2013-03-20 20:50:05 +04:00
Nikolay Krasko
c8f3ecdce7 Use proper Nullable annotation 2013-03-20 20:42:14 +04:00
Nikolay Krasko
09c58287a8 Fix bug when notification doesn't disappear after setting module as java
Stop caching value on ProjectRootModificationTracker because marker classes will be visible only after indexing is finished
2013-03-20 19:05:11 +04:00
Nikolay Krasko
0590408236 Move api extensions for LibraryPresentationProvider to utility methods 2013-03-20 19:05:11 +04:00
Nikolay Krasko
8288c1ed44 Fix jar version stuck problem 2013-03-20 19:05:10 +04:00
Nikolay Krasko
99520c9f54 Update several libraries in project all at once 2013-03-20 19:05:09 +04:00
Nikolay Krasko
29880fc79d Make old js project compilable without modifications 2013-03-20 19:05:08 +04:00
Nikolay Krasko
1fdc9908dc Don't detect library as js standard library if it can be detected as java runtime 2013-03-20 19:05:07 +04:00
Svetlana Isakova
be6320ab1f small refactoring in 'cacheResults' method
do not create DelegatingBindingTrace if callKey is null
2013-03-20 18:44:00 +04:00
Svetlana Isakova
c66d8dbc8a get rid of unnecessary 'instanceof ResolvedCallImpl' checks 2013-03-20 17:27:45 +04:00
Svetlana Isakova
509dd54a5e init debug names for slices in ResolutionResultsCache 2013-03-20 17:27:45 +04:00
Svetlana Isakova
df230d36c2 complete nested calls for array set expression correctly 2013-03-20 17:27:45 +04:00
Wojciech Lopata
3b6ada239c KT-831 parser recovering when missing parameter
#KT-831 fixed
2013-03-20 13:17:35 +01:00
Leonid Shalupov
a8d7bb0daa fix maven deploy 2013-03-19 21:40:43 +04:00
Svetlana Isakova
66e89280b6 refactoring
(simplified recordReferenceForInvokeFunction, isExpressionWithValidReference)
2013-03-19 16:47:22 +04:00
Svetlana Isakova
8768d669ae removed TypeInfoForCall 2013-03-19 16:47:22 +04:00
Svetlana Isakova
6e26e37c43 complete analysis for call expressions inside nested qualified expressions
todo: other expressions
2013-03-19 16:47:22 +04:00
Svetlana Isakova
cbbac2f2ef cache resolution data by callKey instead of expression 2013-03-19 16:47:22 +04:00
Svetlana Isakova
0bc647044c added 'INVOKE' CallType 2013-03-19 16:47:22 +04:00
Svetlana Isakova
0bf5899bf5 refactoring: do not create extra anonymous class
for CallForImplicitInvoke case
2013-03-19 16:47:22 +04:00
Svetlana Isakova
2350035f35 cache deferred computation for call in 'cacheResults'
(not separately)
2013-03-19 16:47:22 +04:00
Svetlana Isakova
180149b1c1 added ResolutionResultsCache
all resolution results are written to it instead of trace
2013-03-19 16:47:22 +04:00
Svetlana Isakova
1b1ee18f97 KT-3395 mapOf function can't be used as literal
#KT-3395 Fixed
2013-03-19 16:47:22 +04:00
Zalim Bashorov
7143393172 Added support bitwise operations in js translator 2013-03-19 16:31:02 +04:00
Zalim Bashorov
9c2d5a8ddb Fixed translating primitive arrays to js. 2013-03-19 16:31:02 +04:00
Andrey Breslav
7fadf40ad8 Restore forceResolve to false to prevent other tests from failing 2013-03-19 15:16:30 +04:00
Andrey Breslav
abc03f7a19 Source files copied under project: to make "get all project files" work 2013-03-19 15:16:30 +04:00
Andrey Breslav
db947f5497 Use a SLRUCache to reduce memory consumption 2013-03-19 15:16:30 +04:00
Andrey Breslav
784e501f7b Use KotlinCacheManager to analyze all headers only once 2013-03-19 15:16:30 +04:00
Andrey Breslav
48cd960eee Use CachedValuesManager.getCachedValue() 2013-03-19 15:16:29 +04:00
Natalia.Ukhorskaya
7702274633 Optimize imports when insert new import (optimize imports on the fly should be turned on)
#KT-3403 Fixed
2013-03-19 14:56:31 +04:00
Natalia.Ukhorskaya
31d3d2bb3a Rename method 2013-03-19 14:56:30 +04:00
Natalia.Ukhorskaya
abed8b59cb Temporary disable imports sorting 2013-03-19 14:56:29 +04:00
Leonid Shalupov
b936b56235 fix maven build 2013-03-18 23:22:41 +04:00
Leonid Shalupov
d9ed2a3794 gradle: delete annotations directory: replace exception by warning 2013-03-18 19:19:56 +04:00
Leonid Shalupov
05285c8272 fix NPE with logger, delete extracted annotations 2013-03-18 19:19:55 +04:00
Andrey Breslav
01203f6be3 Fixes after review 2013-03-18 19:19:55 +04:00
Leonid Shalupov
25decd1c7a gradle-api deploy helpers 2013-03-18 19:19:55 +04:00
Nikita Skvortsov
c67b4e4627 prepare pull request 2013-03-18 19:19:54 +04:00
Nikita Skvortsov
4b19adf4fd initial stubs 2013-03-18 19:19:54 +04:00
Alexander Udalov
7cc1ed5cb1 Add regression test for KT-3413 2013-03-18 14:52:29 +04:00
Alexander Udalov
e2d60e939b Rename some local variables in ImplBodyCodegen 2013-03-15 22:57:31 +04:00
Alexander Udalov
242b97febf Fix mapGetterSignature/mapSetterSignature
In case of TRAIT_IMPL the incorrect this was written. Reuse the code from the
common mapSignature

 #KT-3413 Fixed
2013-03-15 22:03:39 +04:00
Alexander Udalov
2518ba3353 Minor refactoring of TImpl codegen
jvmSignature.getAsmMethod() and functionOriginal are supposed to be the same
entity, so move jvmSignature out of the way to where it's needed
2013-03-15 21:24:41 +04:00
Alexander Udalov
d6129045ce Minor, extract methods in TImpl codegen 2013-03-15 20:55:15 +04:00
Alexander Udalov
8afa46ed6d Minor refactoring of TImpl codegen
Use early returns, rename some variables, etc
2013-03-15 20:30:51 +04:00
Alexander Udalov
905ea962d8 Minor refactoring of TImpl codegen
Extract some methods
2013-03-15 20:00:52 +04:00
Alexander Udalov
a9776016a9 Resolve static methods of enum in front-end
Up to this point, front-end did not suspect that there could be classes which
have both a class object and a package for static members. Since this became
possible for enums loaded from Java binaries (enum entries and valueOf()/
values() are placed into the class object, and every other static member into
the package), we adjust the corresponding scope to also include members from
the corresponding package

 #KT-2990 Fixed
2013-03-15 16:00:57 +04:00
Alexander Udalov
7368ca09b9 Resolve static enum members from compiled Java
For static members, a corresponding package is now created for every enum, as
it's done for every other class. All static members of enum classes are
resolved into the package, EXCEPT its enum entries, valueOf() and values()
methods, which are put into the enum's class descriptor.
2013-03-15 16:00:56 +04:00
Alexander Udalov
68844131b0 Fix broken isEnumClassObject methods
Out of three methods, two were incorrect
2013-03-15 16:00:55 +04:00
Natalia.Ukhorskaya
c3a2f16624 Fix build: super.visitReferenceExpression in DebugInfoUtil should be called for all expressions 2013-03-15 14:58:24 +04:00
Natalia.Ukhorskaya
0a4eaad595 Do not remove import to component functions 2013-03-15 14:23:13 +04:00
Natalia.Ukhorskaya
5bdd52c65f Do not remove import for iterator() 2013-03-15 14:23:12 +04:00
Natalia.Ukhorskaya
635f65e23d Optimize import removes reference to invoke extension function. Add test.
#KT-3398 Fixed
2013-03-15 14:23:11 +04:00
Natalia.Ukhorskaya
37986891df Add JetInvokeFunctionReference for JetCallExpression 2013-03-15 14:23:10 +04:00
Natalia.Ukhorskaya
4039202806 Optimize imports remove reference to get extension function
#KT-3397 Fixed
2013-03-15 14:23:09 +04:00
Evgeny Gerashchenko
fa5fcbbad1 Removed isVar field & constructor parameter from ValueParameterDescriptorImpl, since it's always false. 2013-03-14 20:49:44 +04:00
Evgeny Gerashchenko
82bff79c64 Adding nested classes in mock JDK automatically. 2013-03-14 20:49:44 +04:00
Evgeny Gerashchenko
ddd0c07c2d Restored members which were present in mock JDK, but not in generation script. 2013-03-14 20:49:43 +04:00
Evgeny Gerashchenko
22fa239477 Removed entries which are missing in JDK 6. 2013-03-14 20:49:43 +04:00
Evgeny Gerashchenko
1e88d4ea2c Providing paths to jars via VM options, some other minor stuff. 2013-03-14 20:49:42 +04:00
Evgeny Gerashchenko
53f775e98d Test for KT-488 Implement members breaks in generic classes
#KT-488 obsolete
2013-03-14 20:49:42 +04:00
Evgeny Gerashchenko
735f06e78f Added test for KT-334 Can't use java.lang.Comparable by the short name
#KT-334 obsolete
2013-03-14 20:49:41 +04:00
Evgeny Gerashchenko
be30716076 Test for KT-2017 Cannot sort list with no comparator
#KT-2017 obsolete
2013-03-14 20:49:41 +04:00
Nikolay Krasko
8fc5676c95 Fix test. Add not only JS libraries but also libraries that could be JS headers. 2013-03-14 15:28:15 +04:00
Nikolay Krasko
86886b79c3 Drop search file with pattern 2013-03-14 15:27:11 +04:00
Nikolay Krasko
5fe4e2f4ae Introduce js header library concept 2013-03-14 15:27:10 +04:00
Nikolay Krasko
7c0be23416 Using intermediate variable for java module lookup 2013-03-14 15:27:10 +04:00
Nikolay Krasko
15fc21cf27 Refactor providers 2013-03-14 15:27:09 +04:00
Nikolay Krasko
c4bc984c94 Renames in FrameworkDetector 2013-03-14 15:27:08 +04:00
Nikolay Krasko
ecff401289 Assert we are don't perform copy into itself 2013-03-14 15:27:07 +04:00
Nikolay Krasko
3345ae8c96 Add vendor name and library version into manifest for JS stdlib 2013-03-14 15:27:06 +04:00
Nikolay Krasko
85c866418a Remove ChooseCompilerSourcePanel 2013-03-14 15:27:05 +04:00
Nikolay Krasko
639f7c8762 Initial version of Kotlin compiler settings page 2013-03-14 15:27:04 +04:00
Nikolay Krasko
a6d5ad4155 Redesign dialogs 2013-03-14 15:27:03 +04:00
Nikolay Krasko
d5195382fa Don't store library version in bundled runtime 2013-03-14 15:27:02 +04:00
Nikolay Krasko
70aeea0c8b Remove unused class 2013-03-14 15:27:02 +04:00
Nikolay Krasko
2a9ad1b9c5 Store classes file for JS lib and getting library version 2013-03-14 15:25:55 +04:00
Nikolay Krasko
f98ae18596 Remove using standalone compiler option 2013-03-14 15:25:54 +04:00
Nikolay Krasko
f5955185ac Refactoring: move file as configuring module is not a quickfix 2013-03-14 15:25:53 +04:00
Nikolay Krasko
39e6abf5e9 Refactoring: Rename Adpater to Finder 2013-03-14 15:25:51 +04:00
Nikolay Krasko
49a864846b GUI for copy ecma 3 file 2013-03-14 15:25:51 +04:00
Nikolay Krasko
d73123f771 Don't allow copy into empty folders 2013-03-14 15:25:49 +04:00
goodwinnk
eed215893f Add an ability to create libraries from standalone compiler 2013-03-14 15:25:48 +04:00
Nikolay Krasko
9b9f9a50d3 Temporary copy js kotlin runtime to the folder with the library. Need special gui. 2013-03-14 15:25:47 +04:00
Nikolay Krasko
52d8b0d616 Add library version to default library name 2013-03-14 15:25:46 +04:00
Nikolay Krasko
94d436d6c2 Better work with libraries names 2013-03-14 15:25:45 +04:00
Nikolay Krasko
8065bc4338 Make "copy to" dialog has default folder selected 2013-03-14 15:25:44 +04:00
Nikolay Krasko
20003306bc Remove "Set up library later" from dialog 2013-03-14 15:25:43 +04:00
Nikolay Krasko
0d82c119fd Remove source radio button selection 2013-03-14 15:25:42 +04:00
Nikolay Krasko
0fa437c4ee Remove unused files 2013-03-14 15:25:41 +04:00
Nikolay Krasko
69590c1f89 Rename framework classes 2013-03-14 15:25:40 +04:00
Nikolay Krasko
0a4d578a13 Refactoring: move methods 2013-03-14 15:25:39 +04:00
goodwinnk
0bb6b121ab Fix building JS module 2013-03-14 15:25:38 +04:00
Nikolay Krasko
27da87afe5 Move detecting java to FrameworkDetector. Search for markers only on project root update. 2013-03-14 15:25:37 +04:00
Nikolay Krasko
78d1ccab62 Move everything related to abi compatibility notification to separate class 2013-03-14 15:25:36 +04:00
Nikolay Krasko
5191bae04a Refactoring and clean-ups 2013-03-14 15:22:36 +04:00
Nikolay Krasko
4612f705c5 Go back to separate links for framework setup 2013-03-14 15:19:18 +04:00
Nikolay Krasko
c1fc41109e Same messages for warning about conflicting modules 2013-03-14 15:19:16 +04:00
Nikolay Krasko
833b5d2548 Check module is already configured with Kotlin framework of other type 2013-03-14 15:19:15 +04:00
Nikolay Krasko
ac1f7aa9bc Drop usage of JS component 2013-03-14 15:19:14 +04:00
Nikolay Krasko
7cdfae190b Configure JS library properly 2013-03-14 15:19:13 +04:00
Nikolay Krasko
057bdb7731 Library kinds detectors for Java and JavaScript 2013-03-14 15:19:12 +04:00
Nikolay Krasko
688359de45 Use standard framework support dialog for configuring Kotlin from editor 2013-03-14 15:19:11 +04:00
goodwinnk
9f640e7f13 Framework initial commit 2013-03-14 15:12:21 +04:00
goodwinnk
bb53985c00 Spelling correction 2013-03-14 15:04:01 +04:00
Nikolay Krasko
a349f2e66b Move configuring module with the library to utils method 2013-03-14 15:04:00 +04:00
Nikolay Krasko
dac26a73a3 Reformat file 2013-03-14 15:00:49 +04:00
Kevin F. Chen
91364df11d merged the TYPE_ARGUMENTS_REDUNDANT quickfix into the 3 previously merged quickfixes 2013-03-13 20:12:23 +04:00
Kevin F. Chen
36d613f1c4 merged three quickfixes for NON_VARARG_SPREAD, USELESS_(HIDDEN_)IMPORT, and UNUSED_VARIABLE into one file 2013-03-13 20:12:22 +04:00
Kevin F. Chen
d928c09931 TYPE_ARGUMENTS_REDUNDANT quickfix added to this branch, tested and completed 2013-03-13 20:12:22 +04:00
Evgeny Gerashchenko
ec5331057a Removed unnecessary final on local variables. 2013-03-13 14:12:50 +04:00
Evgeny Gerashchenko
c24f1605f3 Enabled "Unnecessary final on local variable" inspection. 2013-03-13 14:12:41 +04:00
Zalim Bashorov
322d35ac2f Added some tests for JS implementation of HashMap
Fixed JS implementation of HashMap#putAll
2013-03-12 21:09:33 +04:00
Evgeny Gerashchenko
7f583cc798 Moved remaining case in LoadJavaCustomTest to generated one.
Supported multi-file cases.
2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
88cc767f77 Removed empty test classes. 2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
cc1d392fd2 Removed outdated test case. 2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
f23327458f Wrapped annotations test data so it will be processed by namespace comparator correctly. 2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
0f5de451ec Moved all but one test cases from AnnotationJDRTest to loadJava. 2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
b8abd0eb94 Rendering annotation argument types when verbose. 2013-03-12 20:40:19 +04:00
Evgeny Gerashchenko
05e29af792 Merged static members test into LoadJava. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
d76de90931 Moved javaAgainstKotlin cases to generated test. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
a0b780c7bb Moved sourceJava cases to generated test. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
b96df65733 Reformatted Code. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
d9abbcf288 Minor. Reused tmpdir. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
6c59eedc48 Organized compiledJava test data. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
fd2d5975e4 Fixed useless hidden import & useless simple import diagnostics when Java class is resolved as both class and namespace. 2013-03-12 20:40:18 +04:00
Evgeny Gerashchenko
619e2d4210 Don't complete packages for Java static classes in package directive. 2013-03-12 20:39:31 +04:00
Evgeny Gerashchenko
2eb15039a4 Added namespace classes to Java static member scope. 2013-03-12 19:31:47 +04:00
Evgeny Gerashchenko
11dfcab3ca Minor. Simplified code. 2013-03-12 19:31:47 +04:00
Evgeny Gerashchenko
6508f88552 Removed redundant code. 2013-03-12 19:31:47 +04:00
Evgeny Gerashchenko
e943b9c9ab Moved compiledJava cases to generated test. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
b109a104f1 Minor. Added assert message. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
0318fd76c0 Reused method. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
cb0b76dc74 Replace pair parameter with pair of parameters. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
c7df5c2862 Reduced visibility of methods. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
7a91e098f8 Subclassed from AbstractLoadJavaTest and moved all common code there. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
eb913affba Subclassed LoadJavaCustom from same class as AbstractLoadJavaTest (for moving test method). 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
9e1c0ea16e Updated generated tests according to moving general load Java tests to subdirectory. 2013-03-12 19:31:46 +04:00
Evgeny Gerashchenko
189b043c8d Moved loadJava "general" tests to subdirectory. 2013-03-12 19:31:45 +04:00
Evgeny Gerashchenko
7336ec8781 Converted anonymous to inners. 2013-03-12 19:31:45 +04:00
Evgeny Gerashchenko
c87ed690d7 Removed redundant assert. 2013-03-12 19:31:45 +04:00
Evgeny Gerashchenko
030a0aeca3 Make TaskPrioritizer not abstract, added private constructor. 2013-03-12 19:31:45 +04:00
Nikolay Krasko
8d860827cf KT-2874 Exception in front-end when extending Java class
#KT-2874 Fixed
2013-03-12 16:17:36 +04:00
Alexander Udalov
e8088ec6a7 Write correct InnerClasses attribute to class files
InnerClasses should contain entries for every inner and every outer class,
according to the JVMS

 #KT-3390 Fixed
2013-03-12 14:57:14 +04:00
Alexander Udalov
656f4e2f26 Minor refactoring of writeOuterClass() 2013-03-12 14:57:13 +04:00
Svetlana Isakova
7b6dfc3470 small fix while choosing maximally specific
return success if there is one candidate after filterOverrides step
 #KT-1461 fixed
2013-03-11 14:54:16 +04:00
Andrey Breslav
9d05a4548c Merge pull request #223 from leftylink/init_without_ctor
Change ANONYMOUS_INITIALIZER from _WITHOUT_CONSTRUCTOR to _IN_TRAIT
2013-03-11 03:19:28 -07:00
Zalim Bashorov
e53270ad3f Fixed ECMAScript3 implementation of Kotlin.$new.
Added bind polyfill.
2013-03-11 13:13:54 +04:00
Andrey Breslav
7259ec2f94 Merge pull request #225 from sigito/patch-1
#KT-3381 fixed.
2013-03-11 02:03:24 -07:00
Yurii Samsoniuk
b39d3bec5a #KT-3381 fixed.
Corrected documentation misspelling.
2013-03-09 15:32:50 +02:00
Peter Tseng
cd56678467 Change ANONYMOUS_INITIALIZER from _WITHOUT_CONSTRUCTOR to _IN_TRAIT
"since we made all classes have constructors some time ago", this error
doesn't even trigger on a class such as:
class testClass { {} }
It does trigger on a trait:
trait testTrait { {} }

Therefore, the error message should be changed to reflect the new
behavior.
However, an actual quickfix for this will be more involved. It is not a
good idea to simply delete the initializer, since it could contain
valuable code that the user wants to keep.
2013-03-08 02:11:58 -05:00
Natalia.Ukhorskaya
6f31fd7bd4 EA-43630 - assert: JavaAnnotationResolver.resolveAnnotation 2013-03-07 15:34:40 +04:00
Natalia.Ukhorskaya
6bea9999d5 Introduce variable does something really strange for expression in square brackets
#KT-2490 Fixed
2013-03-07 15:34:39 +04:00
Svetlana Isakova
d5b5fe8503 added @NotNull annotations 2013-03-07 13:11:22 +04:00
Svetlana Isakova
4d4fd5885d store constraint system without expected type constraint
for easier 'type inference expected type mismatch' reporting
2013-03-07 13:11:22 +04:00
Svetlana Isakova
54cd8c82a3 refactoring
unite two similar methods (replaceTypeVariables, copy)
2013-03-07 13:11:22 +04:00
Svetlana Isakova
12d8a90b3e invoke equalsOrContainsAsArgument
instead of dependsOnTypeConstructors
2013-03-07 13:11:22 +04:00
Svetlana Isakova
87592e5141 rename 2013-03-07 13:11:22 +04:00
Svetlana Isakova
d7412ecd9f fixed test data
type mismatch with nothing (after change in ConstraintSystemImpl)
render 'CANT_INFER' type as '???'
2013-03-07 13:11:21 +04:00
Svetlana Isakova
1d55e359a5 complete type inference(*) for variable as function call as well
* dependent on expected type
+ get rid of instanceof ResolvedCallImpl check
2013-03-07 13:11:21 +04:00
Svetlana Isakova
fe82ea5464 reverted: adopt to broken inference 2013-03-07 13:11:21 +04:00
Svetlana Isakova
0530df6f7b use TypeCheckingProcedure for generating constraints
(in ConstraintSystemImpl)
2013-03-07 13:11:21 +04:00
Natalia.Ukhorskaya
871caaaa2d Fix android tests 2013-03-07 12:27:02 +04:00
Natalia.Ukhorskaya
3cb3f00562 IDE: folding imports 2013-03-07 12:25:47 +04:00
Zalim Bashorov
220682afe2 fixed mapping sort and max functions from java.util.Collections 2013-03-06 19:16:14 +04:00
Zalim Bashorov
dd7d584478 Added some tests for JS implementation of HashMap#values() (#KT-3035) 2013-03-06 19:16:14 +04:00
Natalia.Ukhorskaya
02c8989b2f Top level functions inside module should be invoked using package$src class 2013-03-06 16:22:52 +04:00
Natalia.Ukhorskaya
4d51572482 Extract method 2013-03-06 16:22:48 +04:00
Natalia.Ukhorskaya
d501e8821c Move top level properties from package class to package$src 2013-03-06 16:22:44 +04:00
Natalia.Ukhorskaya
4bfdeffd0b Make getContainingFile return null if it isn't JetFile 2013-03-06 16:22:41 +04:00
Natalia.Ukhorskaya
d9739fb5bb Remove usages of isMultiFileNamespace 2013-03-06 16:22:37 +04:00
Natalia.Ukhorskaya
faf994d872 Generate package$src files for each package 2013-03-06 16:22:33 +04:00
Natalia.Ukhorskaya
a9415204f6 Replace "." with "_" in package$src class name 2013-03-06 16:22:18 +04:00
Wojciech Lopata
75528e0a4a KT-3378 "Type mismatch on override" not present when the initializer is syntactically incorrect
#KT-3378 Fixed
2013-03-06 15:18:37 +04:00
Wojciech Lopata
09c3edcbc7 'hasSyntaxErrors' check moved from Diagnostic to PositioningStrategy
This makes possible to mark diagnostic errors when syntax error are present (by overriding isValid in PositioningStrategy subclasses).
2013-03-06 15:18:36 +04:00
Andrey Breslav
7e5794cc7f A common method extracted 2013-03-06 12:53:14 +04:00
Andrey Breslav
7107288f88 Injectors regenerated 2013-03-06 12:53:14 +04:00
Andrey Breslav
deda45135e Generating imports after all usages were generated 2013-03-06 12:53:13 +04:00
Andrey Breslav
47d1ea2770 Migrated to Printer 2013-03-06 12:53:13 +04:00
Andrey Breslav
ac981915a1 Imports are tracked when types are used 2013-03-06 12:53:10 +04:00
Andrey Breslav
f7de41ea1b The rudimentary support for lazy injection removed 2013-03-06 12:52:49 +04:00
Andrey Breslav
7df84101d4 Parts of DependencyInjectorGenerator moved out 2013-03-06 12:52:48 +04:00
Andrey Breslav
3920028fe5 Initial support for factory methods 2013-03-06 12:52:44 +04:00
Andrey Breslav
84ff885f72 Constructor body generation extracted as a method (+ migrated to Printer for convenience) 2013-03-06 12:51:02 +04:00
Andrey Breslav
e26efb4e4d Printer now supports any appendable + separated lists 2013-03-06 12:51:02 +04:00
Andrey Breslav
70f44244f9 Refactoring: dependency computations isolated in a separate class 2013-03-06 12:50:50 +04:00
Evgeny Gerashchenko
89407fdcb2 Cleanup in quickfix code. 2013-03-06 00:04:22 +04:00
Jack Zhou
738a874334 Added quickfix for PLATFORM_CLASS_MAPPED_TO_KOTLIN. 2013-03-06 00:04:22 +04:00
Wojciech Lopata
cee45f6a0a QuickFix for OVERRIDING_FINAL_MEMBER 2013-03-05 23:32:52 +04:00
Wojciech Lopata
08ce27e97e Fix typo in JetBundle.properties 2013-03-05 23:32:38 +04:00
Evgeny Gerashchenko
0f83c8297e Added corner case test for int range iteration. 2013-03-05 14:58:43 +04:00
Wojciech Lopata
237be539b3 QuickFix for RETURN_TYPE_MISMATCH_ON_OVERRIDE and PROPERTY_TYPE_MISMATCH_ON_OVERRIDE. 2013-03-05 14:52:43 +04:00
Wojciech Lopata
a880b2a699 Add removeTypeAnnotation(JetFunction function) utility. 2013-03-05 14:52:42 +04:00
Evgeny Gerashchenko
3ec9cd817f Regenerated test data. 2013-03-05 13:56:04 +04:00
Andrey Breslav
bb9c6b7b88 Logging fqNames in exception messages 2013-03-05 13:36:35 +04:00
Evgeny Gerashchenko
20fa0a3cd1 Added test with class referencing self in upper bound. 2013-03-05 13:33:11 +04:00
Evgeny Gerashchenko
578503c4cd EA-41980 - assert: SignaturesPropagationData.getSuperFunctionsForMethod 2013-03-05 13:33:11 +04:00
Zalim Bashorov
61217a36e7 Merge pull request #145 from tomhal/maps.js-changes
Prevent infinite loop when HashMap is empty and values() method is called
#KT-3035 Fixed
2013-03-05 00:59:51 -08:00
Evgeny Gerashchenko
c93df9fd9d Got rid of deprecated method. 2013-03-04 18:54:06 +04:00
Evgeny Gerashchenko
e2a13da325 Disabled part of IoTest.listFiles on Windows. 2013-03-04 18:54:05 +04:00
Evgeny Gerashchenko
2ac218e084 Made addToClasspath not public and removed redundant field. 2013-03-04 17:33:59 +04:00
Evgeny Gerashchenko
1d6836f6aa Added CLI tests with non-existing paths. 2013-03-04 17:33:59 +04:00
Evgeny Gerashchenko
4213eec2a5 Warning in compiler if annotations path does not exist. 2013-03-04 17:33:59 +04:00
Evgeny Gerashchenko
0e85fdd2cf KT-3290 File.recurse NPE
#KT-3290 fixed
2013-03-04 17:33:58 +04:00
Evgeny Gerashchenko
bfd80e7855 Reformatted. 2013-03-04 17:33:58 +04:00
Evgeny Gerashchenko
8df2f83de0 Fixed typo. 2013-03-04 17:33:58 +04:00
Evgeny Gerashchenko
e67e992bb0 Loading from Java: inner subclass of super's inner. 2013-03-04 17:33:58 +04:00
Evgeny Gerashchenko
3c7d413456 Disabled super functions checking on error types. 2013-03-04 17:33:58 +04:00
Mikhael Bogdanov
b3ec87f956 ClassObject instance field refactoring 2013-03-04 16:42:55 +04:00
Kevin F. Chen
5db0f2132c remove useless nullable qfix and test done 2013-03-02 21:39:27 +04:00
Evgeny Gerashchenko
5d33f779be Replaced "argument list" with "arguments" in quick fix text. 2013-03-02 21:16:17 +04:00
Michał Sapalski
64321dce56 Quickfix for CANNOT_CHECK_FOR_ERASED. 2013-03-02 21:09:25 +04:00
Wojciech Lopata
1f3739415a QuickFix for UNCHECKED_CAST 2013-03-02 21:08:08 +04:00
Andrey Breslav
db99492b9c Merge pull request #215 from lopekpl/KT-1019
KT-1019 recover from missing parentheses in function declaration
2013-03-01 01:24:26 -08:00
Andrey Breslav
89017fbc89 hello.namespace -> hello.HelloPackage 2013-03-01 13:14:06 +04:00
Wojciech Lopata
a887175f1a Common fix for FINAL_SUPERTYPE and FINAL_UPPER_BOUND errors 2013-02-28 16:46:19 +04:00
Mikhael Bogdanov
6e1e495397 KT-3374 Wrong this@method receiver 2013-02-28 15:22:35 +04:00
Wojciech Lopata
bc59ed75ca KT-1019 parser should recover from missing parentheses in function declaration
#KT-1019 Fixed
2013-02-28 12:00:33 +01:00
Wojciech Lopata
6020fc216b Minor fix in JetNamedFunction
This caused NullPointerException while running JetParsingTest when I changed some test.
2013-02-27 17:45:18 +01:00
Natalia.Ukhorskaya
bd4d939089 Android tests: refactor RunUtils 2013-02-27 17:23:05 +04:00
Natalia.Ukhorskaya
efe74a3b88 Android tests: start adb server before emulator start, print emulator log to console 2013-02-27 17:23:04 +04:00
Natalia.Ukhorskaya
ab792a587c Android tests: do not call adb emu kill (throws exception if there are more than 1 emulator) 2013-02-27 17:23:02 +04:00
Natalia.Ukhorskaya
4ba4ac7e4e Android tests: print all exceptions 2013-02-27 17:23:01 +04:00
Natalia.Ukhorskaya
39e5115102 Update android sdk in Android Tests to API 16 2013-02-27 17:22:59 +04:00
Mikhael Bogdanov
1e4536a914 For expression recovery 2013-02-26 18:34:43 +04:00
Mikhael Bogdanov
49bbbe1a0b Test update after 'Specify explicitly type' action refactoring 2013-02-26 18:34:43 +04:00
Mikhael Bogdanov
5460f984e9 'Specify explicit type' action refactoring 2013-02-26 18:34:43 +04:00
Mikhael Bogdanov
d8ea6a3a59 New util method for anonymous type 2013-02-26 18:34:43 +04:00
Evgeny Gerashchenko
a3eae3d5c1 Added quick fix which removes val/var from parameters all over the project. 2013-02-26 17:32:40 +04:00
Svetlana Isakova
998b74aa0a Merge pull request #211 from ponomandr/KT3368
KT-3368 J2K: converted enums contain name() method
2013-02-26 03:03:12 -08:00
Andrey Ponomarev
e4a172946b KT-3368 J2K: converted enums contain name() method
#KT-3368 Fixed
2013-02-25 16:15:53 +01:00
Svetlana Isakova
8ef067be77 KT-3344 InternalError in compiler when type arguments are not specified
#KT-3344 fixed
2013-02-25 18:19:52 +04:00
Svetlana Isakova
6739f7ca24 refactoring: invocation 'getArgumentTypeInfo' changed to 'getFunctionLiteralTypeInfo'
for function literals
2013-02-25 18:19:52 +04:00
Svetlana Isakova
6e51b83afc replaced namespaceAllowed flag with ExpressionPosition enum 2013-02-25 18:19:52 +04:00
Svetlana Isakova
8206af0834 inlined method recordContextForExpressionCall 2013-02-25 18:19:52 +04:00
Svetlana Isakova
3512ad9c30 use stub delegating trace while copy resolved call 2013-02-25 18:19:52 +04:00
Svetlana Isakova
a2c74c14a1 UnsupportedOperationException replaced with IllegalStateException 2013-02-25 18:19:52 +04:00
Andrey Breslav
c5d1e04d41 EA-36903 - ISE: JavaTypeTransformer$.visitClassType
Using error types as type arguments when there's an error in a type instantiation in Java code
2013-02-25 16:14:07 +04:00
Andrey Breslav
9b9fa26713 Additional diagnostic messages for EA-44149 - ISE: KotlinLightClassForExplicitDeclaration.getDelegate 2013-02-25 12:26:52 +04:00
Leonid Shalupov
34d218fad0 k2js: fix debug logging 2013-02-24 18:11:46 +04:00
Leonid Shalupov
04bf51d20e js-tests: cleanup 2013-02-24 17:22:43 +04:00
Leonid Shalupov
293aca2648 js-library: cleanup before build 2013-02-24 17:22:13 +04:00
Leonid Shalupov
7b97e2535a k2js: fix debug logging 2013-02-24 17:21:31 +04:00
Leonid Shalupov
1b7739178e iml: exclude maven target directories 2013-02-24 14:32:28 +04:00
Kevin F. Chen
23e8fe338f Quickfix NON_VARARG_SPREAD completed. 2013-02-23 16:10:44 +04:00
Leonid Shalupov
c6456d04f2 no more publish-maven-artifacts script 2013-02-22 19:33:08 +04:00
Leonid Shalupov
0e6e9af34d maven: local repository for maven plugin integration test moved out of target/ 2013-02-22 19:13:12 +04:00
Leonid Shalupov
7c3307cd60 maven: explicitly set maven-javadoc-plugin version 2013-02-22 19:04:47 +04:00
Leonid Shalupov
1c62818220 fix maven build if generate.javadoc is false 2013-02-22 18:07:06 +04:00
Leonid Shalupov
6daf41e66a git rid of jarjar 2013-02-22 17:57:59 +04:00
Leonid Shalupov
632d12021f maven-plugin: compiler messages to maven log 2013-02-22 17:57:58 +04:00
Nikolay Krasko
5e96ec22e8 Remove deprecated method 2013-02-22 12:40:36 +04:00
Andrey Ponomarev
c91cd9b962 New formatter option: Align in columns 'case' branches 2013-02-22 12:40:35 +04:00
Andrey Ponomarev
6a7e72bfc5 Refactoring: build subblocks of JetBlock in one pass 2013-02-22 12:40:34 +04:00
Natalia Ukhorskaya
7245b05426 Merge pull request #205 from lopekpl/SUPERTYPE_NOT_INITIALIZED
SUPERTYPE_NOT_INITIALIZED_DEFAULT error removed
2013-02-21 23:06:06 -08:00
Wojciech Lopata
23ce144f9d SUPERTYPE_NOT_INITIALIZED_DEFAULT error removed
It was merged with SUPERTYPE_NOT_INITIALIZED.
2013-02-21 17:50:52 +01:00
Natalia Ukhorskaya
c53b88cc00 Merge pull request #206 from ponomandr/j2k
Small improvements in Java to Kotlin converter
2013-02-21 07:27:56 -08:00
Natalia Ukhorskaya
707957e8c1 Merge pull request #201 from lopekpl/DANGLING_FUNCTION_LITERAL_ARGUMENT_SUSPECTED
QuickFix for DANGLING_FUNCTION_LITERAL_ARGUMENT_SUSPECTED
2013-02-21 07:25:14 -08:00
Wojciech Lopata
58a8c0ed08 QuickFix for DANGLING_FUNCTION_LITERAL_ARGUMENT_SUSPECTED 2013-02-21 16:00:24 +01:00
Andrey Ponomarev
34c227b8ed J2K: enum constants are non-nullable 2013-02-21 14:24:26 +01:00
Andrey Ponomarev
e4df4059d1 J2K: Detect @NotNull references in call chains 2013-02-21 14:24:25 +01:00
Andrey Ponomarev
514c7b553f J2K: Detect @NotNull fields 2013-02-21 14:24:25 +01:00
Natalia.Ukhorskaya
3d4a5256e6 Surround with: move declaration out from block 2013-02-21 15:30:26 +04:00
Natalia.Ukhorskaya
62266a64ee Move method: showErrorHint 2013-02-21 15:29:37 +04:00
Natalia.Ukhorskaya
6b6c349a47 Move method: defaultInitializer 2013-02-21 15:29:36 +04:00
develar
bcbb87783c findRtJar - support Oracle JDK 1.7 Mac OS X 2013-02-21 14:15:07 +04:00
Michał Sapalski
bb9c65de4a Quickfix for UNUSED_VARIABLE 2013-02-21 13:09:26 +04:00
Evgeny Gerashchenko
881de132f7 Restored quick fix (it had been removed accidentally when merging). 2013-02-20 16:48:18 +04:00
Evgeny Gerashchenko
c345ee27d8 Got rid of getText() when reporting unresolved reference. 2013-02-20 16:44:04 +04:00
Evgeny Gerashchenko
f8b45f4480 Replaced list with immutable set. 2013-02-20 16:34:00 +04:00
Evgeny Gerashchenko
9de03c68dd Replaced constructors with factory methods. 2013-02-20 16:34:00 +04:00
Evgeny Gerashchenko
6c1e1b6f7f Renamed SimpleDiagnosticFactory -> DiagnosticFactory0. 2013-02-20 16:34:00 +04:00
Evgeny Gerashchenko
3190cf1526 Removed UnresolvedReferenceDiagnosticFactory. 2013-02-20 16:33:59 +04:00
Evgeny Gerashchenko
27a8e16f97 Removed RedeclarationDiagnosticFactory. 2013-02-20 16:33:59 +04:00
Evgeny Gerashchenko
a0f2e2d878 Removed UnusedElementDiagnosticFactory. 2013-02-20 16:33:58 +04:00
Evgeny Gerashchenko
f1572580ac Replaced instanceof checks for particular diagnostic factory classes with using factory sets. 2013-02-20 16:33:58 +04:00
Evgeny Gerashchenko
436619a0d8 Removed AmbiguousDescriptorDiagnosticFactory. 2013-02-20 16:04:21 +04:00
Michał Sapalski
4209430fe6 Quickfix for INACCESSIBLE_BACKING_FIELD 2013-02-20 15:59:21 +04:00
Mikhael Bogdanov
8b4fac7665 Test fix 2013-02-20 11:25:52 +04:00
Michał Sapalski
c2f5743cf0 Quickfix for UNSAFE_INFIX_CALL 2013-02-19 21:10:26 +04:00
Evgeny Gerashchenko
69de91aa88 Changed case of quick fix families to Title Case. 2013-02-19 21:10:26 +04:00
Michał Sapalski
102f49b251 Quickfix for NO_BACKING_FIELD_CUSTOM_ACCESSORS 2013-02-19 20:56:27 +04:00
Mikhael Bogdanov
d1a443d952 Update to Idea 12.0.4 2013-02-19 19:46:00 +04:00
Mikhael Bogdanov
026b833ba0 Test fix 2013-02-19 19:45:54 +04:00
Andrey Breslav
cc569fe0ba Compilation fixed 2013-02-19 19:06:49 +04:00
Andrey Breslav
ec33f90f89 Rename getQualifiedName() -> getFqName() 2013-02-19 18:52:12 +04:00
Mikhael Bogdanov
029b2d9770 Test fixes for 'New diagnostic error for ambiguous object expression type' 2013-02-19 17:56:56 +04:00
Mikhael Bogdanov
1662c5cb75 New diagnostic error for ambiguous object expression type 2013-02-19 17:56:55 +04:00
Mikhael Bogdanov
1b2da6b558 Write proper enclosingMethod/enclosingClass information to bytecode 2013-02-19 17:56:55 +04:00
Evgeny Gerashchenko
1a54e42eb7 Minor. Fixed method name. 2013-02-19 17:45:16 +04:00
Evgeny Gerashchenko
2c13b6b63d Operation mode. 2013-02-19 17:45:16 +04:00
Evgeny Gerashchenko
bb64e43ee1 Better error logging. 2013-02-19 17:45:16 +04:00
Evgeny Gerashchenko
626d9f988c Logging error instead of throwing exception. 2013-02-19 17:45:16 +04:00
Evgeny Gerashchenko
543a2821e4 Disabled assertion when return types are incompatible (incomplete/invalid Java code).
EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
2013-02-19 17:45:15 +04:00
Evgeny Gerashchenko
50bc94bafc Not compiling @ExpectLoadError annotation all the time. 2013-02-19 17:25:36 +04:00
Evgeny Gerashchenko
70030b208d Extracted PropagationHeuristics utility class. 2013-02-19 17:25:36 +04:00
Evgeny Gerashchenko
b1c13a25be Added test with overriding Object[] with T[]
EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
2013-02-19 17:25:36 +04:00
Evgeny Gerashchenko
eb20fb8b39 Removed redundant parameter. 2013-02-19 17:25:36 +04:00
Evgeny Gerashchenko
8d101ad5fa Substituted super functions from mapped classes. 2013-02-19 17:25:35 +04:00
Evgeny Gerashchenko
30afc99ccf Extracted method. 2013-02-19 17:25:35 +04:00
Evgeny Gerashchenko
48113f036f Fixing signature when overriding with erased signature.
EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
2013-02-19 17:25:35 +04:00
Evgeny Gerashchenko
cd06bdedfe Added propagation error message when array of subtype is used in return type of sub method.
EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
2013-02-19 17:25:34 +04:00
Evgeny Gerashchenko
1de5da1e8a Fixed misused "variance" word. 2013-02-19 17:24:14 +04:00
Evgeny Gerashchenko
19bc28b29d Environment with Kotlin descriptors in marker provider.
EA-41980 - assert: SignaturesPropagationData.getSuperFunctionsForMethod
2013-02-19 17:24:14 +04:00
Andrey Breslav
326aeddbd5 NamespaceDescriptorParent moved to impl 2013-02-19 14:40:32 +04:00
Andrey Breslav
afd764c27f Implementations of descriptors moved to a separate package 2013-02-19 14:32:06 +04:00
Natalia.Ukhorskaya
c11be77aa1 Do not apply ExpressionSurrounders for expressions with Unit type and for call expressions inside qualified expression 2013-02-18 17:30:52 +04:00
Natalia.Ukhorskaya
98306c1c54 Add InTextDirectivesUtils.findStringWithPrefix() 2013-02-18 17:21:30 +04:00
Natalia.Ukhorskaya
9bbfc788ea Generate all surround with tests to one file 2013-02-18 17:21:26 +04:00
Natalia.Ukhorskaya
7c360a0ede Add surround with function literal 2013-02-18 17:21:16 +04:00
Natalia.Ukhorskaya
7789062c7c Add try-catch, try-finally, try-catch-finally surrounders 2013-02-18 17:12:47 +04:00
Natalia.Ukhorskaya
ae6a2d3820 Base class for surrounders for statements 2013-02-18 17:00:40 +04:00
Natalia.Ukhorskaya
654fa09fff Add when surrounder 2013-02-18 17:00:39 +04:00
Natalia.Ukhorskaya
af0b6df2b4 Move getExpressionType method to utils 2013-02-18 17:00:35 +04:00
Natalia.Ukhorskaya
814ca0385a Add string template surrounder 2013-02-18 17:00:34 +04:00
Natalia.Ukhorskaya
856bffb324 Add parentheses surrounder 2013-02-18 17:00:03 +04:00
Natalia.Ukhorskaya
eeb158a5c8 Check that found expression has correct start and end offset 2013-02-18 17:00:02 +04:00
Natalia.Ukhorskaya
eef0e554d9 Add base class for expression surrounders 2013-02-18 17:00:01 +04:00
Natalia.Ukhorskaya
68c3b3981b Create packages for surrounders for expression and for statements 2013-02-18 17:00:00 +04:00
Andrey Breslav
bf62bc0261 PsiJetStubWithFqName interface extracted 2013-02-18 16:05:41 +04:00
Andrey Breslav
179456cd0b Tests for Java name resolution in the IDE
#KT-3337 In Progress
LightClasses: class object's property getter unresolved in Java, but compiles OK
2013-02-18 16:05:41 +04:00
Andrey Breslav
15938e3d28 Class object FqNames indexed properly
#KT-3337 In Progress
LightClasses: class object's property getter unresolved in Java, but compiles OK
2013-02-18 16:05:41 +04:00
Andrey Breslav
53b2bbad68 Discover class objects for light class generation in the compiler
#KT-3337 In Progress
LightClasses: class object's property getter unresolved in Java, but compiles OK
2013-02-18 16:05:41 +04:00
Wojciech Lopata
c3d5350315 QuickFix for NOT_AN_ANNOTATION_CLASS error. 2013-02-15 19:14:51 +04:00
Wojciech Lopata
8fad23691f QuickFix for USELESS_HIDDEN_IMPORT. 2013-02-15 19:14:51 +04:00
Michał Sapalski
6cd8779126 Quickfix for NO_BACKING_FIELD_ABSTRACT_PROPERTY. 2013-02-15 19:07:51 +04:00
Nikolay Krasko
1aee735775 Search rt.jar even if compiler was run with jre
#KT-2599 Fixed
2013-02-15 17:19:53 +04:00
Andrey Breslav
33fa065162 Splitting PrintingMessageCollector into Grouping and Printing collectors 2013-02-13 19:06:22 +04:00
Alexey Sedunov
1f8d42ab49 Fix nullability check (in case of explicitly nullable types constructed from ype variables) 2013-02-13 18:23:37 +04:00
Evgeny Gerashchenko
fc62a7dfa0 Project settings. 2013-02-13 18:08:37 +04:00
Evgeny Gerashchenko
f55c3befb3 Disposal on error when processing module script. 2013-02-13 18:08:37 +04:00
Evgeny Gerashchenko
b9e5704057 Updated test data and stdlib sources. 2013-02-13 18:08:37 +04:00
Evgeny Gerashchenko
105d2d72de Extracted method. 2013-02-13 18:08:37 +04:00
Evgeny Gerashchenko
18d6e86e60 KT-3341 Prohibit val/var keywords for catch parameters
#KT-3341
2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
b1cb8edd18 KT-3181 Prohibit val/var keywords for function parameters
#KT-3181
2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
808dbd160c KT-3182 Prohibit val/var keywords at for-loop counter.
#KT-3182 fixed
2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
882c2cb28d Added tests with NaN ends to codegen tests. 2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
ccab19b2a1 Added range/progression tests with NaN ends. 2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
021496c07d Prohibited NaN steps. 2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
4043491ad2 Got rid of code duplication. 2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko
b66025811f Merged after body and after leave variable tasks. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
64c89836fd KT-933 Optimized iteration over progressions.
#KT-933 fixed
2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
14f3144533 Generating map instead of initializing manually. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
522530ec4a Extracted util method. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
db6fb43d22 Removed unused enum. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
80b21524f4 Optimized iteration over primitive range expression. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
44e14c0a1c Extracted super class. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
b5f820cf69 Prepared for extracting superclass. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko
ab99856c16 Got rid of calculating element type twice. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
ca344d93cd Got rid of super calls. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
cc2930b0b6 Got rid of stupid reassigning when iterating ranges. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
e1bc78da72 Simplified scheduling leaving temp variables: added create method. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
fd97bbcbd5 Simplified afterLoop(): no overriding. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
d6bc5a8782 Added util methods. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
da48a11374 Creating loop parameter var once. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
83fa1e95e6 Extracted field (instead of passing parameter. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko
c753ac06b1 KT-2707 Optimize for loops for range literals
#KT-2707
2013-02-13 18:08:33 +04:00
Evgeny Gerashchenko
5a4ae00970 Added range iteration test with non-literal ranges. 2013-02-13 18:08:33 +04:00
Evgeny Gerashchenko
814cb6e255 Got rid of harmful asserts.
EA-43300 - assert: KotlinSignatureInJavaMarkerProvider.getScopeForMember
EA-43353 - assert: KotlinSignatureInJavaMarkerProvider.getDescriptorForMember
2013-02-13 18:08:33 +04:00
Maxim Shafirov
6b23384ab9 compilation fix 2013-02-13 17:42:38 +04:00
Natalia.Ukhorskaya
524152f4a2 Move methods ofr find expressions and statements to CodeInsightUtils 2013-02-13 17:21:06 +04:00
Natalia.Ukhorskaya
09ca020780 Add surround with not 2013-02-13 17:21:05 +04:00
Natalia.Ukhorskaya
2499bb79ca Add surround with if /else 2013-02-13 17:21:04 +04:00
Natalia.Ukhorskaya
1786c2c256 Add surround with if 2013-02-13 17:21:03 +04:00
Natalia.Ukhorskaya
d772ad80f8 Add KotlinStatementSurrounderDescriptor 2013-02-13 17:21:02 +04:00
Natalia.Ukhorskaya
dca2b128aa Add KotlinExpressionSurrounderDescriptor 2013-02-13 17:21:01 +04:00
Natalia.Ukhorskaya
256733b598 find expression at offset without whitespaces 2013-02-13 17:21:00 +04:00
Natalia.Ukhorskaya
d245d5bbbb Remove unused parameter 2013-02-13 17:20:59 +04:00
Maxim Shafirov
b851c5597a compilation fix 2013-02-13 16:14:33 +04:00
Maxim Shafirov
63f88cdf65 compilation fix 2013-02-13 15:44:25 +04:00
Maxim Shafirov
a3ca0b0d0c filterNotNull cannot be called on nulls anymore 2013-02-13 15:06:33 +04:00
Andrey Breslav
4d0786a64c Build j2k against compiler jar 2013-02-13 14:22:54 +04:00
Leonid Shalupov
0a1303d118 build: no classes rename in jarjar
build: fixed proguard shrinking
2013-02-13 14:22:54 +04:00
Jack Zhou
a5cecd6048 Added quickfix for VAR_OVERRIDDEN_BY_VAL. 2013-02-13 14:22:54 +04:00
Maxim Shafirov
7231606eb2 Make sure files don't get overwritten if someone mixes generated and normal stdlib sources in one folder during build. 2013-02-13 13:59:29 +04:00
Maxim Shafirov
15446e98b8 Fix tests failing after stdlib generation refactoring 2013-02-13 12:41:12 +04:00
Maxim Shafirov
24d99eb33f adopt to broken inference 2013-02-13 12:41:12 +04:00
Maxim Shafirov
620aae28d0 Collections standard library is now generated from templates. 2013-02-13 12:41:12 +04:00
Peter Tseng
324a39d10b Add quickfix for PACKAGE_MEMBER_CANNOT_BE_PROTECTED 2013-02-13 11:54:16 +04:00
Agnieszka Paszek
b52036c549 Added quickfix for ILLEGAL_ENUM_ANNOTATIONS 2013-02-13 11:47:24 +04:00
Agnieszka Paszek
9e08087a11 Added quickfix for OPEN_MODIFIER_IN_ENUM 2013-02-13 11:47:02 +04:00
Kevin F. Chen
42b7b7e221 Added quickfix for NULLABLE_SUPERTYPE 2013-02-13 11:32:37 +04:00
Andrey Breslav
3293e08d97 Compiler API refactored:
* exec(messageCollector, arguments) introduced
* exception-catching logic moved closer to the entry point
* PrintingMessageCollector localized
2013-02-13 11:03:27 +04:00
Jack Zhou
cf87f55085 Added quickfix for VARIANCE_ON_TYPE_PARAMETER_OF_FUNCTION_OR_PROPERTY. 2013-02-13 11:03:27 +04:00
Evgeny Gerashchenko
e96d8ef475 Fixed test. 2013-02-12 19:06:44 +04:00
Jack Zhou
9692921128 Added quickfix for INCOMPATIBLE_MODIFIERS. 2013-02-12 19:03:57 +04:00
Andrey Breslav
c86f0de79f Typos fixed 2013-02-12 18:02:44 +04:00
Andrey Breslav
5cf17f089f Not using flags in NullableLazyValue, no extra objects in MemoizedFunctionToNullable 2013-02-12 18:01:30 +04:00
Andrey Breslav
4ffca364ba Formatting 2013-02-12 15:24:41 +04:00
Andrey Breslav
b04110e3a9 Explicit interfaces for memoized functions 2013-02-12 15:22:11 +04:00
Andrey Breslav
6e61ada816 NullableLazyValue and NotNullLazyValue introduced 2013-02-12 15:10:25 +04:00
Andrey Breslav
d276837833 Make LazyValue extend Computable 2013-02-12 14:48:49 +04:00
Andrey Breslav
4a17a7ef26 'storage' package created 2013-02-12 14:48:49 +04:00
Andrey Breslav
7e8a753be2 'descriptors' package created 2013-02-12 14:48:48 +04:00
Andrey Breslav
8d92b8a42a 'declarations' package created 2013-02-12 14:48:48 +04:00
Andrey Breslav
fb87a560fb KotlinCodeAnalyzer interface extracted 2013-02-12 14:48:48 +04:00
Andrey Breslav
a3667d1b28 Rename 2013-02-11 22:19:44 +04:00
Andrey Breslav
3e0ead494e Infinite recursion prevented on cyclic class hierarchies 2013-02-11 22:19:43 +04:00
Andrey Breslav
71bad95783 No lazy values stored for memoized functions with non-null values 2013-02-11 22:19:43 +04:00
Andrey Breslav
98dba29ab0 Redeclaration handling in lazy scopes 2013-02-11 22:19:43 +04:00
Andrey Breslav
fd8da79b88 Getting rid of createConcurrentCollection in favor of lazy values 2013-02-11 22:19:42 +04:00
Andrey Breslav
6f851845c6 createConcurrentMap() is no longer needed 2013-02-11 22:19:42 +04:00
Andrey Breslav
ccbd4018b1 Migrating to memoized functions and nullable lazy values 2013-02-11 22:19:34 +04:00
Andrey Breslav
7ddadd9a6c Thread-safe ScopeProvider 2013-02-11 22:15:55 +04:00
Andrey Breslav
ea46cf819f Nullable lazy values and memoized functions supported 2013-02-11 22:15:55 +04:00
Andrey Breslav
961429831c StorageManager can create thread-safe memoized functions 2013-02-11 22:15:55 +04:00
Andrey Breslav
c4ab5a852f Thread-safe lazy values introduced into FilteringClassLikeInfo 2013-02-11 22:15:54 +04:00
Andrey Breslav
8a240e82bd Thread-safe lazy values introduced into LazyClassDescriptor 2013-02-11 22:15:54 +04:00
Andrey Breslav
59b78e3628 Lazy member scopes are now thread-safe.
NOTE: in this implementation there will be exceptions from rewrites on the trace.
2013-02-11 22:15:54 +04:00
Andrey Breslav
1cac7c1a41 LazyTypeParameterDescriptor made thread-safe 2013-02-11 22:15:53 +04:00
Andrey Breslav
439624e616 Unused class deleted 2013-02-11 22:15:53 +04:00
Andrey Breslav
0cf272eda7 Double-checked locking implementation fixed 2013-02-11 22:15:53 +04:00
Andrey Breslav
c595d95ee0 Common code extracted to a method 2013-02-11 17:25:37 +04:00
Andrey Breslav
51f7110961 Common functionality moved up 2013-02-11 17:25:37 +04:00
Andrey Breslav
109c47645b Make sure that the class object class is not accessible from Kotlin 2013-02-11 16:20:32 +04:00
Andrey Breslav
766a33aaa1 Assertion fixed 2013-02-11 16:18:22 +04:00
Nikolay Krasko
b61bdcd67d Remove extension toArray() 2013-02-11 16:09:26 +04:00
Nikolay Krasko
9f1e808255 Remove dangling commas from generated tests 2013-02-11 16:09:25 +04:00
Nikolay Krasko
9dedc6d2a9 KT-1998 Strange "Overload resolution ambiguity"
#KT-1998 Fixed
2013-02-11 16:09:24 +04:00
Nikolay Krasko
54ae3afcde KT-880 Overload resolution ambiguity
#KT-880 Fixed
2013-02-11 16:09:23 +04:00
Mikhael Bogdanov
c61c8d7fa0 Compilation Exception - remove duplicated this on stack
#KT-3114 Fixed
2013-02-11 15:19:49 +04:00
Alexander Udalov
c7e512a38a Correct Android SpecialFiles
Replace all multi-file tests and tests with java with an exclusion of
these directories. Delete obsolete exclusions, add a new one
2013-02-11 03:32:56 +04:00
Alexander Udalov
620143ae5b Add test on bytecode text
Test data should be a Kotlin source file with zero or more comments e.g. of
the form: '// 1 INVOKEVIRTUAL'. The test then checks that the generated
bytecode for this file contains exactly one occurrence of the string
'INVOKEVIRTUAL'
2013-02-11 02:01:43 +04:00
Alexander Udalov
fe96a0172d Move blackBox() methods to AbstractBlackBoxCodegenTest 2013-02-11 02:01:43 +04:00
Alexander Udalov
b485c7ae26 Switch class loading logic in blackBoxWithJava tests
BoxWithJava tests now by default are loaded with the classloader which has
test's classpath in itself, as in the former ClassPathInTheSameClassLoaderTest
2013-02-11 02:01:42 +04:00
Alexander Udalov
22bf8b25b8 Autogenerate codegen multi-file tests
Based on boxMultiFile/ directory
2013-02-11 02:01:42 +04:00
Alexander Udalov
a61b3ec461 Move multi-file codegen testData to boxMultiFile/
There'll be an auto-generated test over this directory
2013-02-11 02:01:42 +04:00
Alexander Udalov
544aad390d Delete StdlibTest and StdlibTestForever
Move remaining tests to AnnotationGenTest (where they did belong to in the
first place)
2013-02-11 02:01:42 +04:00
Alexander Udalov
90d255e7da Simplify tests on not-null assertions
No need to call blackBoxFile() on a useless test data file. Also creating
environment logic is simplified
2013-02-11 02:01:41 +04:00
Alexander Udalov
30203383a4 Delete unneeded abstract test class, regenerate tests 2013-02-11 02:01:41 +04:00
Alexander Udalov
9df3c22097 Kill blackBoxFile()
If your test is supposed to use blackBoxFile(), maybe it should be placed into
box/boxWithStdlib directory
2013-02-11 02:01:41 +04:00
Alexander Udalov
31231fe18b Move JdkAnnotationsTest to boxWithStdlib 2013-02-11 02:01:41 +04:00
Alexander Udalov
f994c9924f Move FullJdk tests to boxWithStdlib 2013-02-11 02:01:41 +04:00
Alexander Udalov
d23f82177f Generate codegen blackbox tests with stdlib 2013-02-11 02:01:40 +04:00
Alexander Udalov
714708eac7 Delete generated test cases, move testData to boxWithStdlib 2013-02-11 02:01:40 +04:00
Alexander Udalov
b311255d96 Extract junit testcase, delete unneeded code 2013-02-11 02:01:40 +04:00
Alexander Udalov
8a605b3884 Codegen tests: move stdlib tests to boxWithStdlib 2013-02-11 02:01:40 +04:00
Alexander Udalov
83b93071d3 Fix over-optimized comparison with null 2013-02-11 02:01:39 +04:00
Andrey Breslav
1670831269 Test fixed after ABI version change 2013-02-10 16:06:30 +04:00
Andrey Breslav
ab79f655a1 ABI version increased due to a change in 1021ec5 "Add Intrinsics.areEqual()" 2013-02-10 15:34:55 +04:00
Svetlana Isakova
40df6eafd1 record RESOLVED_CALL to the right trace to be accessible to backend 2013-02-08 18:05:43 +04:00
Svetlana Isakova
04a6a1d4a4 make TRACE_STUB throw exceptions instead of silently being used 2013-02-08 16:10:30 +04:00
Svetlana Isakova
27d7a159b1 regenerated tests 2013-02-08 15:44:28 +04:00
Svetlana Isakova
c42c2e653b rename hasUnknownTypeParameters -> hasIncompleteTypeParameters 2013-02-08 15:10:43 +04:00
Svetlana Isakova
3014275982 return commit after merge
'Fixed UnsupportedOperationException when a namespace is used in place of an expression.'
2013-02-08 15:10:43 +04:00
Svetlana Isakova
d149218e1d refactoring after code review
do not consider error type in parameters of function type as unknown
2013-02-08 15:10:43 +04:00
Svetlana Isakova
cc94c45195 returned method equalsOrContainsAsArgument 2013-02-08 15:10:43 +04:00
Svetlana Isakova
ff4a9fdab3 rename
ResolveMode enum to {TOP_LEVEL_CALL, NESTED_CALL}
 completeValueArgumentsInference to completeNestedCallsInference
2013-02-08 15:10:43 +04:00
Svetlana Isakova
c069eedc9b small fixes after review 2013-02-08 15:10:43 +04:00
Svetlana Isakova
4f028e41be explicitly invoke callExpressionResolver with NO_EXPECTED_TYPE
for inner calls
2013-02-08 15:10:43 +04:00
Svetlana Isakova
27e6dad307 test improved 2013-02-08 15:10:43 +04:00
Svetlana Isakova
db91928984 test fixes after refactorings
expected return type for function literal cannot depend on expected type of outer function
2013-02-08 15:10:43 +04:00
Svetlana Isakova
ee0628e862 added DEFERRED_COMPUTATION_FOR_CALL
- instead of storing deferredComputationsForArguments in ResolvedCall
store it in BindingContext (in DEFERRED_COMPUTATION_FOR_CALL)
-do not repeat computation for the same argument (cache added)
2013-02-08 15:10:43 +04:00
Svetlana Isakova
f5df9d7dbf refactoring: removed unnecessary local variable 2013-02-08 15:10:43 +04:00
Svetlana Isakova
fe66161352 rename get*ExtendedTypeInfo -> get*TypeInfoForCall 2013-02-08 15:10:43 +04:00
Svetlana Isakova
33de1c31c5 check resulting type for inner call
while completeValueArgumentsInference
2013-02-08 15:10:42 +04:00
Svetlana Isakova
73816a7ba2 use 'BasicCallResolutionContext.create' instead of 'toCallResolutionContext'
from ResolutionContext
2013-02-08 15:10:42 +04:00
Svetlana Isakova
f17139ba1e refactoring: removed unnecessary flag 2013-02-08 15:10:42 +04:00
Svetlana Isakova
fe61d51c10 rename replace->create method 2013-02-08 15:10:42 +04:00
Svetlana Isakova
d418a16dd8 render not inferred return/parameter type of function literals as ???
instead of DONT_CARE / CANT_INFER
2013-02-08 15:10:42 +04:00
Svetlana Isakova
1a072e816a fixed DiagnosticMessageTest
value arguments order got lost during substitutions
2013-02-08 15:10:42 +04:00
Svetlana Isakova
d447c90b13 added tests for function literals faster resolve 2013-02-08 15:10:42 +04:00
Svetlana Isakova
3eee19578a complete inference for inner calls after resolve&inference of outer call finishes
deferredComputationsForArguments stored in ResolvedCallImpl,
'completeValueArgumentsInference' completes inference for inner calls recursively
2013-02-08 15:10:42 +04:00
Svetlana Isakova
0d0441ebd8 do not use bounds containing error types to derive result 2013-02-08 15:10:41 +04:00
Svetlana Isakova
d09c5c5e5e save explicitly 'INCOMPLETE_TYPE_INFERENCE' status 2013-02-08 15:10:41 +04:00
Svetlana Isakova
3f466e8aac added 'replaceResolveMode' to CallCandidateResolutionContext 2013-02-08 15:10:41 +04:00
Svetlana Isakova
35696f9ca0 added tracing parameter to ResolvedCallImpl 2013-02-08 15:10:41 +04:00
Svetlana Isakova
ab9781b85d extracted class TracingStrategyImpl 2013-02-08 15:10:41 +04:00
Svetlana Isakova
4f5af9ab96 added ResolveMode (NORMAL, INTERNAL) to CallResolutionContext 2013-02-08 15:10:41 +04:00
Svetlana Isakova
bb003d2b2f rename ResolveMode to ResolveArgumentsMode 2013-02-08 15:10:41 +04:00
Svetlana Isakova
09e4625931 added TypeInfoForCall containing CallCandidateResolutionContext
(to save context and complete type inference for call later)
2013-02-08 15:10:41 +04:00
Svetlana Isakova
779a79d4d2 removed unused type parameter from CallCandidateResolutionContext 2013-02-08 15:10:41 +04:00
Svetlana Isakova
3ef640039b separated addition of constraints for function literals(*) and for expected type
* = which argument types are known
  call with these function literal constraints is cached
2013-02-08 15:10:41 +04:00
Svetlana Isakova
9b2c666c1f analyze function literals only if argument types are known
(through the first phase of overload resolution)
use intercepting type mismatch trace to backtrace expected type errors
2013-02-08 15:10:41 +04:00
Svetlana Isakova
e932b4fa62 moved 'makeTraceInterceptingTypeMismatch' to ExpressionTypingUtils 2013-02-08 15:10:41 +04:00
Svetlana Isakova
ecd64e80d8 use CallExpressionResolver directly from ArgumentTypeResolver 2013-02-08 15:10:41 +04:00
Svetlana Isakova
9f28764811 do not repeat initialization of candidate call if the context is copied 2013-02-08 15:10:40 +04:00
Svetlana Isakova
e8e07ecec1 contexts moved to subpackage 2013-02-08 15:10:40 +04:00
Svetlana Isakova
0c07cb70ca BasicResolutionContext renamed to BasicCallResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova
dcd358bf3a introduced common supertype for contexts (ResolutionContext) 2013-02-08 15:10:40 +04:00
Svetlana Isakova
2d9f147dbc rename ResolutionContext to CallResolutionContext
introduced ResolutionContext (without call)
2013-02-08 15:10:40 +04:00
Svetlana Isakova
87a6be6749 rename CallResolutionContext to CallCandidateResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova
97e1f0ba3c added 'namespacesAllowed' flag to ResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova
5cc6af0f54 moved getStaticNestedClassesScope to DescriptorUtils 2013-02-08 15:10:40 +04:00
Svetlana Isakova
170a3ad718 getQualifiedExpressionTypeInfo moved to CallExpressionResolver
CallExpressionResolver made a component
2013-02-08 15:10:40 +04:00
Svetlana Isakova
664e25d113 added CallExpressionResolver
call expression resolution logic moved there (from BasicExpressionTypingVisitor)
2013-02-08 15:10:40 +04:00
Svetlana Isakova
e739fd936e added dataFlowInfo to resolvedCall
(to use it information later without repeating 'getTypeInfo' from cache)
=> getResolvedCallForFunction and getVariableType made static
2013-02-08 15:10:40 +04:00
Svetlana Isakova
fa97770831 extracted method commitResolutionCacheData
commit resolve data after argument analysis with temporary trace
2013-02-08 15:10:40 +04:00
Svetlana Isakova
ff01fad3cd substitute upper bounds after creating all substitutions for type parameters
(otherwise it doesn't work for forward references)
2013-02-08 15:10:40 +04:00
Svetlana Isakova
8f59172f27 use declared upper bounds in type inference (not just check them)
- simple cases supported
#KT-2856 fixed
2013-02-08 15:10:39 +04:00
Svetlana Isakova
677bc55056 refactoring: changed the order of the parameters 2013-02-08 15:10:39 +04:00
Svetlana Isakova
da4f1aec1d KT-422 Tune literal typing rules so that varargs overloaded by primitive types work
#KT-422 fixed
2013-02-08 15:10:39 +04:00
Svetlana Isakova
b2823c5966 render type correctly in html for TYPE_INFERENCE_UPPER_BOUND_VIOLATED error 2013-02-08 15:10:39 +04:00
Alexander Udalov
dfc45cc21e Fix Android codegen tests 2013-02-07 22:42:17 +04:00
Tommy Hallgren
31480385c1 Prevent infinite loop when HasMap is empty and values() method is valled 2012-11-18 15:34:27 +01:00
develar
623fb94649 KT-927 2012-10-26 13:39:20 +04:00
develar
633e2a142a simplify AST 2012-10-25 20:18:04 +04:00
develar
f43e6d272a simplify AST 2012-10-25 17:41:41 +04:00
develar
b5a3fbeca4 simplify AST (idea like) 2012-10-25 10:17:03 +04:00
develar
c1cc409b29 simplify AST (idea like) 2012-10-25 10:11:32 +04:00
develar
6307201006 simplify AST (idea like) 2012-10-25 09:52:19 +04:00
develar
2710fc5284 simplify AST (idea like) 2012-10-25 09:44:26 +04:00
develar
ca016fcb32 simplify AST (idea like) 2012-10-25 09:43:19 +04:00
develar
d23bca091e simplify AST (idea like) 2012-10-25 09:34:01 +04:00
develar
4b2c170c00 simplify AST (idea like) 2012-10-25 09:27:11 +04:00
develar
c41bf918bf simplify AST (idea like) 2012-10-25 08:42:06 +04:00
develar
a5b212e975 JsFor constructors 2012-10-24 11:36:21 +04:00
develar
536803e314 KT-2986 2012-10-23 18:57:54 +04:00
develar
af75857523 KT-2864 2012-10-18 18:35:04 +04:00
develar
5ba7a0a8fa KT-927 2012-10-18 18:05:12 +04:00
develar
b2b953abde extract interface and move impl to kotlin sources 2012-10-18 10:48:18 +04:00
develar
0f9ae4f70c KT-927 prepare 2012-10-14 17:49:33 +04:00
develar
be5dc25578 KT-927 prepare 2012-10-14 14:02:14 +04:00
develar
de32d045ec don't print extra space before finally 2012-10-14 12:38:13 +04:00
develar
45dcb542dd if open class is not referenced from own final classes, so, define it inplace 2012-10-05 11:48:31 +04:00
develar
39b6acc695 if open class is not referenced from own final classes, so, define it inplace 2012-10-05 11:46:47 +04:00
develar
720a8f250b KT-2864 2012-09-30 17:18:51 +04:00
develar
9b6d08a6a9 cleanup 2012-09-30 15:50:23 +04:00
develar
96a52fe2d0 cleanup 2012-09-30 15:21:44 +04:00
develar
3d15b5d832 remove unused method 2012-09-30 15:06:00 +04:00
develar
9b34de7c2f move License to root 2012-09-30 15:05:45 +04:00
develar
845189ca28 move from my kotlin fork 2012-09-30 12:36:34 +04:00
24813 changed files with 640482 additions and 213283 deletions

38
.gitignore vendored
View File

@@ -1,23 +1,17 @@
compiler/frontend/idea.properties
examples/.idea/dictionaries
examples/.idea/workspace.xml
examples/example-vfs/.idea/workspace.xml
libraries/.idea/workspace.xml
confluence/target
confluence/target
pluginPublisher/plugin-verifier.jar
pluginPublisher/idea*
patches-master
out
dist
ideaSDK
dependencies
.idea/dictionaries/yozh.xml
.idea/workspace.xml
tmp
*TestMy.java
.*.swp
gh-pages
*.class
.DS_Store
android.tests.dependencies
.idea/shelf
/android.tests.dependencies
/confluence/target
/dependencies
/dist
/gh-pages
/ideaSDK
/android-studio/sdk
out
/pluginPublisher/idea*
/pluginPublisher/plugin-verifier.jar
tmp
workspace.xml
*.versionsBackup
/idea/testData/debugger/tinyApp/classes*
/jps-plugin/testData/kannotator

44
.idea/ant.xml generated
View File

@@ -1,47 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AntConfiguration">
<defaultAnt bundledAnt="true" />
<buildFile url="file://$PROJECT_DIR$/grammar/buildGrammarLexer.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="128" />
<maximumStackSize value="2" />
<properties />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/compiler/frontend/buildLexer.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="128" />
<maximumStackSize value="2" />
<properties />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/grammar/buildGrammarLexer.xml" />
<buildFile url="file://$PROJECT_DIR$/compiler/frontend/buildLexer.xml" />
<buildFile url="file://$PROJECT_DIR$/build.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="512" />
<maximumStackSize value="2" />
<properties />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/update_dependencies.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="128" />
<maximumStackSize value="2" />
<properties />
<maximumHeapSize value="1024" />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/update_dependencies.xml" />
<buildFile url="file://$PROJECT_DIR$/TeamCityBuild.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="128" />
<maximumStackSize value="2" />
<properties />
<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,43 +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="library" level="project" name="asm-addons" />
<element id="archive" name="kotlin-plugin.jar">
<element id="module-output" name="backend" />
<element id="module-output" name="frontend" />
<element id="module-output" name="frontend.java" />
<element id="module-output" name="idea" />
<element id="module-output" name="jet.as.java.psi" />
<element id="module-output" name="runtime" />
<element id="module-output" name="util" />
<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>
<element id="library" level="project" name="js-libs" />
<element id="archive" name="kotlin-js-libraries.zip">
<element id="dir-copy" path="$PROJECT_DIR$/js/js.libraries/src" />
</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>
<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="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

@@ -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" />
@@ -110,11 +115,8 @@
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Groovy">
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
<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" />
@@ -123,7 +125,6 @@
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
@@ -134,12 +135,9 @@
<option name="METHOD_CALL_CHAIN_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="FIELD_ANNOTATION_WRAP" value="0" />
@@ -221,15 +219,68 @@
<option name="FOR_BRACE_FORCE" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="Scala">
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0" />
<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_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" 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="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<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="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>
</codeStyleSettings>
<codeStyleSettings language="jet">
<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="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">

21
.idea/dictionaries/Nikolay_Krasko.xml generated Normal file
View File

@@ -0,0 +1,21 @@
<component name="ProjectDictionaryState">
<dictionary name="Nikolay.Krasko">
<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>
</words>
</dictionary>
</component>

View File

@@ -2,6 +2,7 @@
<dictionary name="abreslav">
<words>
<w>accessor</w>
<w>deserialized</w>
<w>dominator</w>
<w>inferrer</w>
<w>iterable</w>

12
.idea/dictionaries/geevee.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<component name="ProjectDictionaryState">
<dictionary name="geevee">
<words>
<w>builtins</w>
<w>klass</w>
<w>proto</w>
<w>protoc</w>
<w>protos</w>
<w>ubuntu</w>
</words>
</dictionary>
</component>

9
.idea/dictionaries/valentin.xml generated Normal file
View File

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

7
.idea/fileColors.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SharedFileColors">
<fileColor scope="IDE" color="Yellow" />
</component>
</project>

View File

@@ -59,6 +59,9 @@
<inspection_tool class="DuplicateCondition" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreMethodCalls" value="false" />
</inspection_tool>
<inspection_tool class="EmptyStatementBody" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_reportEmptyBlocks" value="false" />
</inspection_tool>
<inspection_tool class="EmptySynchronizedStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EnumSwitchStatementWhichMissesCases" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreSwitchStatementsWithDefault" value="true" />
@@ -270,9 +273,6 @@
<inspection_tool class="ObsoleteCollection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreRequiredObsoleteCollectionTypes" value="false" />
</inspection_tool>
<inspection_tool class="PointlessArithmeticExpression" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreExpressionsContainingConstants" value="true" />
</inspection_tool>
<inspection_tool class="ProtectedMemberInFinalClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicFieldAccessedInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyCompatibilityInspection" enabled="true" level="ERROR" enabled_by_default="true">
@@ -360,7 +360,7 @@
<inspection_tool class="SwitchStatementWithConfusingDeclaration" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizeOnThis" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemOutErr" 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="TeardownCallsSuperTeardown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TeardownIsPublicVoidNoArg" enabled="true" level="WARNING" enabled_by_default="true" />
@@ -377,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" />
@@ -395,6 +395,7 @@
<option name="m_ignoreStaticAccessFromStaticContext" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryBoxing" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnnecessaryFinalOnLocalVariableOrParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryFullyQualifiedName" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="IDEA Test Sources" level="WARNING" enabled="false">
<option name="m_ignoreJavadoc" value="true" />
@@ -408,12 +409,6 @@
<inspection_tool class="UnnecessaryUnboxing" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithPublicConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithoutPrivateConstructor" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreClassesWithOnlyMain" value="false" />
<option name="ignorableAnnotations">
<value />
</option>
</inspection_tool>
<inspection_tool class="VolatileLongOrDoubleField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />

7
.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinCommonCompilerArguments">
<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>

21
.idea/libraries/ant_1_7.xml generated Normal file
View File

@@ -0,0 +1,21 @@
<component name="libraryTable">
<library name="ant-1.7">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/ant-1.7/lib/ant.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/core/loaderref/src" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/core/containersrc" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/types/assertions" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/apt" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/rmic/src" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/fixcrlf/input" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/fixcrlf/expected" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/main" />
</SOURCES>
</library>
</component>

14
.idea/libraries/asm.xml generated Normal file
View File

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

View File

@@ -1,12 +0,0 @@
<component name="libraryTable">
<library name="asm-addons">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-util-4.0.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-analysis-4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
</SOURCES>
</library>
</component>

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

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="builtins">
<CLASSES>
<root url="file://$PROJECT_DIR$/dist/builtins" />
</CLASSES>
<JAVADOC />
<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

@@ -0,0 +1,33 @@
<component name="libraryTable">
<library name="gradle-and-groovy-plugin">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" />
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/Groovy/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<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/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" />
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" recursive="false" type="SOURCES" />
</library>
</component>

14
.idea/libraries/guava.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="guava">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/guava-17.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,196 +1,323 @@
<component name="libraryTable">
<library name="idea-full">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/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/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<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/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/xml-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/xpath/xpath-lang/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/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/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<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/test" />
<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/maven3-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/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4ideaOld/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4ideaOld/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/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/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/android/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/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/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/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/cvs-plugin/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/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/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-api/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/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/jira-connector/src/atlassian/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/jira-connector/src/main/java" />
<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/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/ui-designer-new/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/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/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gettext/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gettext/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/rearranger/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/rearranger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/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/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/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-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/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-psi-api/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/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/compiler/forms-compiler/testSrc" />
<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/impl/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/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/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-indexing-api/src" />
<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/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<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/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-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/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-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/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/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/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model/src" />
<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/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/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-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/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/toolWindow/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!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/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!/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/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-12.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
<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

@@ -1,196 +1,324 @@
<component name="libraryTable">
<library name="intellij-core">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/core" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jetbrains-asm-all-4.0-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/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/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/javaee-support" />
<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/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/xml-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/xpath/xpath-lang/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/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/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<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/test" />
<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/maven3-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/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4ideaOld/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4ideaOld/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/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/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/android/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/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/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/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/cvs-plugin/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/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/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-api/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/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/jira-connector/src/atlassian/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/jira-connector/src/main/java" />
<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/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/ui-designer-new/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IdeaTestAssistant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/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/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gettext/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gettext/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/android-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/rearranger/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/rearranger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/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/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/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-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/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-psi-api/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/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/compiler/forms-compiler/testSrc" />
<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/impl/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/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/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-indexing-api/src" />
<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/impl/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<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/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-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/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-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/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/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/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model/src" />
<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/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/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-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/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/toolWindow/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!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/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!/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/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-12.0-sources.jar!/" />
<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>

15
.idea/libraries/java_i18n.xml generated Normal file
View File

@@ -0,0 +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>
<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>
@@ -14,6 +17,8 @@
<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!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-java-2.5.0-sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/jps" recursive="false" />
</library>

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

@@ -0,0 +1,16 @@
<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>
<JAVADOC />
<SOURCES>
<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-serialization/src" />
</SOURCES>
</library>
</component>

View File

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

View File

@@ -1,11 +0,0 @@
<component name="libraryTable">
<library name="js-libs">
<CLASSES>
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/dart-ast.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/src/dart-ast-src.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,7 +1,9 @@
<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/closure-compiler.jar!/" />
<root url="jar://$PROJECT_DIR$/js/js.tests/testLib/rhino-1.7R4.jar!/" />
</CLASSES>
<JAVADOC />

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>

11
.idea/libraries/kotlin_runtime.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="kotlin-runtime">
<CLASSES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-runtime.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-runtime-sources.jar!/" />
</SOURCES>
</library>
</component>

25
.idea/libraries/maven.xml generated Normal file
View File

@@ -0,0 +1,25 @@
<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>
<JAVADOC />
<SOURCES>
<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/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/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/maven/lib" recursive="false" />
</library>
</component>

18
.idea/libraries/properties.xml generated Normal file
View File

@@ -0,0 +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>
<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>

14
.idea/libraries/protobuf_java.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<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>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-java-2.5.0-sources.jar!/" />
</SOURCES>
</library>
</component>

15
.idea/libraries/testng_plugin.xml generated Normal file
View File

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

17
.idea/libraries/trove4j.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<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>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/generated/src" />
</SOURCES>
</library>
</component>

27
.idea/misc.xml generated
View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ClientPropertiesManager">
<properties class="javax.swing.JPanel">
<property name="BorderFactoryClass" class="java.lang.String" />
</properties>
</component>
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
@@ -43,28 +48,6 @@
</set>
</option>
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="org.jetbrains.annotations.Nullable" />
<option name="myDefaultNotNull" value="org.jetbrains.annotations.NotNull" />
<option name="myNullables">
<value>
<list size="3">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="3">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectResources">
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
</component>

65
.idea/modules.xml generated
View File

@@ -3,30 +3,51 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Kotlin.iml" filepath="$PROJECT_DIR$/Kotlin.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/android-tests/android-tests.iml" filepath="$PROJECT_DIR$/compiler/android-tests/android-tests.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend/backend.iml" filepath="$PROJECT_DIR$/compiler/backend/backend.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$/compiler/cli/cli.iml" filepath="$PROJECT_DIR$/compiler/cli/cli.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/integration-tests/compiler-integration-tests.iml" filepath="$PROJECT_DIR$/compiler/integration-tests/compiler-integration-tests.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests/compiler-tests.iml" filepath="$PROJECT_DIR$/compiler/tests/compiler-tests.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend/frontend.iml" filepath="$PROJECT_DIR$/compiler/frontend/frontend.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" filepath="$PROJECT_DIR$/compiler/frontend.java/frontend.java.iml" />
<module fileurl="file://$PROJECT_DIR$/generators/generators.iml" filepath="$PROJECT_DIR$/generators/generators.iml" />
<module fileurl="file://$PROJECT_DIR$/grammar/grammar.iml" filepath="$PROJECT_DIR$/grammar/grammar.iml" />
<module fileurl="file://$PROJECT_DIR$/ide-compiler-runner/ide-compiler-runner.iml" filepath="$PROJECT_DIR$/ide-compiler-runner/ide-compiler-runner.iml" />
<module fileurl="file://$PROJECT_DIR$/idea/idea.iml" filepath="$PROJECT_DIR$/idea/idea.iml" />
<module fileurl="file://$PROJECT_DIR$/idea_runner/idea_runner.iml" filepath="$PROJECT_DIR$/idea_runner/idea_runner.iml" />
<module fileurl="file://$PROJECT_DIR$/injector-generator/injector-generator.iml" filepath="$PROJECT_DIR$/injector-generator/injector-generator.iml" />
<module fileurl="file://$PROJECT_DIR$/j2k/j2k.iml" filepath="$PROJECT_DIR$/j2k/j2k.iml" />
<module fileurl="file://$PROJECT_DIR$/j2k/tests/j2k-tests.iml" filepath="$PROJECT_DIR$/j2k/tests/j2k-tests.iml" />
<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" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/jps-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/jps-plugin.iml" />
<module fileurl="file://$PROJECT_DIR$/js/js.tests/js.tests.iml" filepath="$PROJECT_DIR$/js/js.tests/js.tests.iml" />
<module fileurl="file://$PROJECT_DIR$/js/js.translator/js.translator.iml" filepath="$PROJECT_DIR$/js/js.translator/js.translator.iml" />
<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" />
<module fileurl="file://$PROJECT_DIR$/runtime/runtime.iml" filepath="$PROJECT_DIR$/runtime/runtime.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" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli.iml" filepath="$PROJECT_DIR$/compiler/cli/cli.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/integration-tests/compiler-integration-tests.iml" filepath="$PROJECT_DIR$/compiler/integration-tests/compiler-integration-tests.iml" group="compiler/cli" />
<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$/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$/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" />
</modules>
</component>
</project>

View File

@@ -28,9 +28,7 @@
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#10;additional-options2=onexit\=snapshot&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />

View File

@@ -28,9 +28,7 @@
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#10;additional-options2=onexit\=snapshot&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />

View File

@@ -19,7 +19,7 @@
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="wholeProject" />
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
@@ -28,6 +28,7 @@
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />

View File

@@ -6,14 +6,14 @@
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="idea" />
<module name="generators" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="" />
<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" />
<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,16 +21,17 @@
<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" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#10;additional-options2=onexit\=snapshot&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />

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

@@ -0,0 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Generate Injectors" type="JetRunConfigurationType" factoryName="Kotlin">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.jet.generators.injectors.InjectorsPackage" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="generators" />
<envs />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>

View File

@@ -0,0 +1,31 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Generate Tests" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="org.jetbrains.jet.generators.tests.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="org.jetbrains.jet.generators.tests.TestsPackage" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<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="generators" />
<envs />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<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 -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" />
@@ -34,9 +34,7 @@
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Profile " />
@@ -45,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 -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

@@ -23,9 +23,7 @@
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />

View File

@@ -6,10 +6,10 @@
<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="org.jetbrains.jet" />
<option name="PACKAGE_NAME" value="" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
@@ -19,13 +19,11 @@
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Profile ">
<option name="myExternalizedOptions" value="&#10;additional-options2=onexit\=snapshot&#10;" />
</RunnerSettings>
<RunnerSettings RunnerId="Profile " />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />

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>

3
.idea/scopes/IDE.xml generated Normal file
View File

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

11
.idea/uiDesigner.xml generated
View File

@@ -120,6 +120,17 @@
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
<group name="Intellij">
<item class="com.intellij.ui.RawCommandLineEditor" icon="/com/intellij/uiDesigner/icons/panel.png" removable="true" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="7" anchor="0" fill="1" />
</item>
<item class="com.intellij.openapi.ui.TextFieldWithBrowseButton" icon="/com/intellij/uiDesigner/icons/panel.png" removable="true" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.ui.ComboboxWithBrowseButton" icon="/com/intellij/uiDesigner/icons/panel.png" removable="true" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="0" />
</item>
</group>
</component>
</project>

View File

@@ -3,13 +3,35 @@
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
<excludeFolder url="$MODULE_DIR$/libraries/out" />
<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" />
<excludeFolder url="file://$MODULE_DIR$/libraries/docs/apidoc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/docs/website/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/browser-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/js-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/examples/kotlin-java-example/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin-jdbc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kotlin-swing/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/kunit/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/.idea" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kdoc-maven-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kdoc/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-library/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-tests-junit/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-js-tests/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin/local-repo" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-maven-plugin/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/kotlin-stdlib-gen/target" />
<excludeFolder url="file://$MODULE_DIR$/libraries/tools/runtime/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />

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,21 +32,31 @@ 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.
**Note** though that you need a recent IDEA build (e.g. [12 EAP](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP)) which should **not** contain the Kotlin plugin!
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 want to have an IDEA installation without the Kotlin plugin which is separate to your default IDEA installation which has the Kotlin plugin [see this document](http://devnet.jetbrains.net/docs/DOC-181) which describes how to have mutliple IDEA installs using different configurations and plugin directories.
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).
If you want to have an IDEA installation without the Kotlin plugin which is separate to your default IDEA installation which has the Kotlin
plugin [see this document](http://devnet.jetbrains.net/docs/DOC-181) which describes how to have mutliple IDEA installs using different configurations and plugin directories.
From this root project there are Run/Debug Configurations for running IDEA or the Compiler Tests for example; so if you want to try out the latest greatest IDEA plugin
@@ -55,41 +65,55 @@ From this root project there are Run/Debug Configurations for running IDEA or th
* a child IDEA with the Kotlin plugin will then startup
* you can now open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries) to then work with the various kotlin libraries etc.
### Using a pre-built Kotlin IDEA plugin
### <a name="pre-built-plugin"></a>Using a pre-built Kotlin IDEA plugin
You can download the latest Kotlin IDEA Plugin from the [IDEA Plugin and Tests CI build](http://teamcity.jetbrains.com/project.html?projectId=project67&tab=projectOverview)
There are several options for getting Kotlin plugin. A stable version can be obtained as any other plugin for Intellij IDEA:
Or in a recent [IDEA 12 EAP build](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP) install the Kotlin plugin:
Preferences -> Plugins -> Browse Repositories -> Search with "Kotlin" string
Preferences -> Plugins -> Browse Repositories -> Manage Repositories... -> + to add a new repository URL
The most recent version of the plugin can be downloaded from the
[IDEA Plugin and Tests CI build](http://teamcity.jetbrains.com/project.html?projectId=project67&tab=projectOverview). When downloading is
finished you can install it with "Install plugin from disk...":
* [http://www.jetbrains.com/kotlin/eap-plugin-repository/updatePlugins.xml](http://www.jetbrains.com/kotlin/eap-plugin-repository/updatePlugins.xml)
Preferences -> Plugins -> Install plugin from disk...
You can now open any Kotlin based projects. Its advisable you don't open the [root kotlin project](https://github.com/JetBrains/kotlin) as that's intended to be used to
build the kotlin compiler and plugin itself; instead open the [kotlin libraries project](https://github.com/JetBrains/tree/master/kotlin/libraries)
You can now open any Kotlin based projects.
<a name="plugin-for-contributors"></a>
**Note for contributors**: If you are planning to contribute to Kotlin project you probably want to have locally the same version of plugin that build server is using for building.
As this version is constantly moving, the best way to always be updated is to let IDEA notify you when it is time to renew you plugin.
Open
Preferences -> Plugins -> Browse Repositories -> Manage Repositories...
and add the following URL to your repositories:
http://teamcity.jetbrains.com/guestAuth/repository/download/bt345/bootstrap.tcbuildtag/updatePlugins.xml
Then update the list of plugins in "Browse Repositories", you'll see two versions of Kotlin there, install the one with the higher version number.
# Contributing
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.
A nice gentle way to contribute would be to review the [API docs](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/index.html) and find classes or functions which are not documented very well and submit a patch.
In particular it'd be great if all functions included a nice example of how to use it such as for the <a href="http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/java/util/Collection-extensions.html#filter(jet.Function1)">filter()</a> function on Collection. This is implemented using the <a href="https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/IterablesLazy.kt#L17">@includeFunctionBody</a> macro to include code from a test function. This serves as a double win; the API gets better documented with nice examples to help new users and the code gets more test coverage.
In particular it'd be great if all functions included a nice example of how to use it such as for the <a href="http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/java/util/Collection-extensions.html#filter(kotlin.Function1)">filter()</a> function on Collection. This is implemented using the <a href="https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/IterablesLazy.kt#L17">@includeFunctionBody</a> macro to include code from a test function. This serves as a double win; the API gets better documented with nice examples to help new users and the code gets more test coverage.
Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) could really use your help. See the [JavaScript contribution section](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) for more details.
## 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 12 EAP build](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP)
* don't install the Kotlin plugin
* 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)
You can now run the various Run/Debug Configurations such as
@@ -101,9 +125,8 @@ You can now run the various Run/Debug Configurations such as
## If you want to work on the Kotlin libraries
* download a clean [IDEA 12 EAP build](http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP)
* Preferences -> Plugins -> Browse Repositories -> Manage Repositories... -> + to add a new repository URL
* [http://www.jetbrains.com/kotlin/eap-plugin-repository/updatePlugins.xml](http://www.jetbrains.com/kotlin/eap-plugin-repository/updatePlugins.xml)
* 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)
Then build via
@@ -111,6 +134,7 @@ Then build via
cd libraries
mvn install
Some of the code in the standard library is created by generating code from templates. See the [README](https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/ReadMe.md) in the stdlib section for how run the code generator. The existing templates can be used as examples for creating new ones.
## Submitting patches

View File

@@ -5,17 +5,19 @@
<property name="jdk16.home" value="${java.home}"/>
<property name="fail.on.plugin.verifier.error" value="true"/>
<property name="version_substitute_dir" value="${basedir}/versions_temp/" />
<property name="artifact.output.path" value="${basedir}/out/artifacts"/>
<property name="plugin.xml" value="idea/src/META-INF/plugin.xml"/>
<property name="plugin.xml.bk" value="${plugin.xml}.bk"/>
<property name="plugin.xml.bk" value="${version_substitute_dir}/plugin.xml.bk"/>
<property name="plugin.xml.versioned" value="${plugin.xml}.versioned" />
<property name="compiler.version.java" value="compiler/cli/src/org/jetbrains/jet/cli/common/CompilerVersion.java"/>
<property name="compiler.version.java.bk" value="${compiler.version.java}.bk"/>
<property name="compiler.version.java" value="compiler/cli/cli-common/src/org/jetbrains/jet/cli/common/KotlinVersion.java"/>
<property name="compiler.version.java.bk" value="${version_substitute_dir}/KotlinVersion.java.bk"/>
<property name="compiler.version.java.versioned" value="${compiler.version.java}.versioned" />
<property name="plugin.verifier" value="${basedir}/dependencies/plugin-verifier.jar"/>
<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"/>
@@ -48,7 +50,7 @@
<sequential>
<!-- Create backup. Backup will be restored after build end. This will allow to rebuild project without renew
plugin.xml from repository. -->
<copy file="@{target.file}" tofile="@{target.file}.bk"/>
<copy file="@{target.file}" tofile="@{target.file.bk}"/>
<!-- Check that version has correct pattern for substitution -->
<copy todir="">
@@ -71,6 +73,8 @@
</macrodef>
<target name="writeVersionToTemplateFiles">
<mkdir dir="${version_substitute_dir}"/>
<substituteVersionInFile
target.file="${plugin.xml}"
target.file.bk="${plugin.xml.bk}"
@@ -86,38 +90,33 @@
<target name="revertTemplateFiles">
<copy file="${plugin.xml.bk}" tofile="${plugin.xml}" overwrite="true"/>
<delete file="${plugin.xml.bk}" quiet="true"/>
<copy file="${compiler.version.java.bk}" tofile="${compiler.version.java}" overwrite="true"/>
<delete file="${compiler.version.java.bk}" quiet="true"/>
<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="verifyPlugin">
<!--
disabled plugin-verifier for now, waiting
for better plugin dependencies handling in it
-->
<!--
<java fork="true" failonerror="${fail.on.plugin.verifier.error}" jar="${plugin.verifier}">
<arg value="-r" />
<arg value="${jdk16.home}" />
<arg value="${plugin.zip}" />
<arg value="${basedir}/ideaSDK" />
</java>
-->
</target>
<target name="post_build" depends="zipArtifact, revertTemplateFiles, verifyPlugin"/>
<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

@@ -0,0 +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

@@ -0,0 +1,71 @@
<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'/>
</item>
<item
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'/>
</item>
<item
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

@@ -0,0 +1,171 @@
<root>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor T 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 T 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 T 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 T 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 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'/>
</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) 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;, T) 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;, T) 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;, 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'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor TRef[] findReferencesToRestore(com.intellij.psi.PsiFile, com.intellij.openapi.editor.RangeMarker, com.intellij.codeInsight.editorActions.ReferenceData[]) 0'>
<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[]) 1'>
<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[]) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor com.intellij.codeInsight.editorActions.ReferenceTransferableData collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[])'>
<annotation name='org.jetbrains.annotations.Nullable'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor com.intellij.codeInsight.editorActions.ReferenceTransferableData 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.CopyPasteReferenceProcessor com.intellij.codeInsight.editorActions.ReferenceTransferableData 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.CopyPasteReferenceProcessor com.intellij.codeInsight.editorActions.ReferenceTransferableData 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.CopyPasteReferenceProcessor com.intellij.codeInsight.editorActions.ReferenceTransferableData 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.CopyPasteReferenceProcessor void addReferenceData(com.intellij.psi.PsiFile, int, com.intellij.psi.PsiElement, java.util.ArrayList&lt;com.intellij.codeInsight.editorActions.ReferenceData&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor void addReferenceData(com.intellij.psi.PsiFile, int, com.intellij.psi.PsiElement, java.util.ArrayList&lt;com.intellij.codeInsight.editorActions.ReferenceData&gt;) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor void addReferenceData(com.intellij.psi.PsiFile, int, com.intellij.psi.PsiElement, java.util.ArrayList&lt;com.intellij.codeInsight.editorActions.ReferenceData&gt;) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor 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;, com.intellij.codeInsight.editorActions.ReferenceTransferableData) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor 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;, com.intellij.codeInsight.editorActions.ReferenceTransferableData) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor 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;, com.intellij.codeInsight.editorActions.ReferenceTransferableData) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor 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;, com.intellij.codeInsight.editorActions.ReferenceTransferableData) 4'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor 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;, com.intellij.codeInsight.editorActions.ReferenceTransferableData) 5'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor void restoreReferences(com.intellij.codeInsight.editorActions.ReferenceData[], TRef[]) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor void restoreReferences(com.intellij.codeInsight.editorActions.ReferenceData[], TRef[]) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

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

@@ -0,0 +1,22 @@
<root>
<item
name='com.intellij.codeInsight.intention.IntentionAction boolean isAvailable(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiFile)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.intention.IntentionAction void invoke(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiFile)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun invoke(project: Project, editor: Editor, file: PsiFile): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.intention.PsiElementBaseIntentionAction boolean isAvailable(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiElement) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.intention.PsiElementBaseIntentionAction void invoke(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiElement) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,114 @@
<root>
<item
name='com.intellij.codeInsight.lookup.CharFilter com.intellij.codeInsight.lookup.CharFilter.Result acceptChar(char, int, com.intellij.codeInsight.lookup.Lookup) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.Lookup com.intellij.openapi.editor.Editor getEditor()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.Lookup java.util.List&lt;com.intellij.codeInsight.lookup.LookupElement&gt; getItems()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.LookupElement void handleInsert(com.intellij.codeInsight.completion.InsertionContext) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElement void renderElement(com.intellij.codeInsight.lookup.LookupElementPresentation) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElement withAutoCompletionPolicy(com.intellij.codeInsight.lookup.AutoCompletionPolicy)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder bold()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder create(com.intellij.psi.PsiNamedElement)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder create(java.lang.Object, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder create(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder createWithIcon(com.intellij.psi.PsiNamedElement)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder setTypeText(java.lang.String, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withIcon(javax.swing.Icon)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withInsertHandler(com.intellij.codeInsight.completion.InsertHandler&lt;com.intellij.codeInsight.lookup.LookupElement&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withLookupString(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withPresentableText(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withRenderer(com.intellij.codeInsight.lookup.LookupElementRenderer&lt;com.intellij.codeInsight.lookup.LookupElement&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withStrikeoutness(boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withTailText(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withTailText(java.lang.String, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementBuilder com.intellij.codeInsight.lookup.LookupElementBuilder withTypeText(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
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'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementRenderer void renderElement(T, com.intellij.codeInsight.lookup.LookupElementPresentation)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun renderElement(element: T?, presentation: LookupElementPresentation): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementRenderer void renderElement(T, com.intellij.codeInsight.lookup.LookupElementPresentation) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.MutableLookupElement com.intellij.codeInsight.lookup.MutableLookupElement&lt;T&gt; setInsertHandler(com.intellij.codeInsight.completion.InsertHandler&lt;? extends com.intellij.codeInsight.lookup.LookupElement&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.MutableLookupElement com.intellij.codeInsight.lookup.MutableLookupElement&lt;T&gt; setInsertHandler(com.intellij.codeInsight.completion.InsertHandler&lt;? extends com.intellij.codeInsight.lookup.LookupElement&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

View File

@@ -0,0 +1,5 @@
<root>
<item name='com.intellij.codeInsight.navigation.GotoTargetHandler.GotoData targets'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>

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,10 @@
<root>
<item name='com.intellij.codeInspection.InspectionToolProvider java.lang.Class[] getInspectionClasses()'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun getInspectionClasses(): Array&lt;Class&lt;out Any?&gt;&gt;&quot;"/>
</annotation>
</item>
<item name='com.intellij.codeInspection.SuppressIntentionAction EMPTY_ARRAY'>
<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>

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