Andrey Breslav
15dbfa7184
++ android-ide-plugin module extracted
2014-10-08 18:23:51 +04:00
Andrey Breslav
b0196ac1ad
++ Logic related to command-line options moved to android-compiler-plugin
2014-10-08 18:18:29 +04:00
Andrey Breslav
0e07cb9872
++ Expression codegen extension: receiver passed through
2014-10-07 23:58:38 +04:00
Andrey Breslav
0c6622489b
~ read actions added here and there
2014-10-01 16:43:01 +04:00
Andrey Breslav
a4bbf9b3ec
Artifact for Android extensions plugin
2014-10-01 16:43:00 +04:00
Andrey Breslav
bb0141b85f
Missing public added
2014-10-01 16:43:00 +04:00
Andrey Breslav
abc17943d7
Find Usages extension extracted
2014-10-01 16:42:59 +04:00
Andrey Breslav
5f209d4351
ExpressionCodegenExtension extracted
2014-10-01 16:42:59 +04:00
Andrey Breslav
a1989dc5e0
ExternalDeclarationsProvider introduced
2014-10-01 16:42:58 +04:00
Andrey Breslav
da32f47d2a
android-ide-plugin module extracted
2014-10-01 16:42:58 +04:00
Andrey Breslav
78b3613cf5
Logic related to command-line options moved to android-compiler-plugin
2014-10-01 16:42:56 +04:00
Andrey Breslav
eae40ab965
Compiler plugins can provide extra command line parameters in JPS
2014-10-01 16:42:56 +04:00
Andrey Breslav
18ff58e4e7
CommandLineProcessor infrastructure added
2014-10-01 16:42:55 +04:00
Andrey Breslav
2d6ec5bd5d
frontend.android renamed to android-compiler-plugin
2014-10-01 16:42:55 +04:00
Andrey Breslav
50ec0d7f8d
Plugin component registrar introduced
...
CompilerConfiguration moved to plugin-api
2014-09-30 21:52:52 +04:00
Andrey Breslav
01b22a1dd1
plugin-api module introduced
2014-09-30 21:52:52 +04:00
Mikhail Mutcianko
73c2db8f44
fix android jps build test case
...
- add proper way of setting up android sdk for jps
- add missing android plugin runtime library
2014-09-30 21:52:51 +04:00
Mikhail Mutcianko
84690dd9ee
add android bytecode persistence test
2014-09-30 21:52:51 +04:00
Mikhail Mutcianko
7402cf8356
add android find usages test
2014-09-30 21:52:50 +04:00
Mikhail Mutcianko
5a3186a7f8
fix find usage handler not returning android property as secondary element
2014-09-30 21:52:50 +04:00
Mikhail Mutcianko
9e75390895
add reverse renaming to android rename tests
2014-09-30 21:52:49 +04:00
Mikhail Mutcianko
0c180275f1
add android rename tests
2014-09-30 21:52:49 +04:00
Mikhail Mutcianko
06d173ca44
eliminate idToXml cache leftovers from android resource manger
2014-09-30 21:52:48 +04:00
Mikhail Mutcianko
f8dcbd8477
fix kotlin property renamer npe
...
- fix npe when element usage has no reference(e.g. xml cross usage)
2014-09-30 21:52:48 +04:00
Mikhail Mutcianko
cc6a9d5183
factor base android test case
...
- move common initialization code to base class
2014-09-30 21:52:47 +04:00
Mikhail Mutcianko
67a3932615
add all goto tests
...
- fix base test case failing when no res directory present
- get rid of JetProperty -> XmlAttr caching
2014-09-30 21:52:47 +04:00
Mikhail Mutcianko
b934402b55
fix android kotlin test framework
...
- fix android jars not indexed by java indexer
- fix goto test
2014-09-30 21:52:46 +04:00
Mikhail Mutcianko
1e25af94c0
add android jps builder test stub
...
wtf
2014-09-30 21:52:46 +04:00
Mikhail Mutcianko
ab7177e251
add android goto declaration test stub
2014-09-30 21:52:45 +04:00
Mikhail Mutcianko
52e0bf88f7
regenerate android tests after rebase
2014-09-30 21:52:45 +04:00
Mikhail Mutcianko
bbd4cb93ed
fix android resource path arguments after rebase
2014-09-30 21:52:44 +04:00
Mikhail Mutcianko
4866168a21
fix android cross parser tests
...
- reorganize tests folder structure
- fix class attribute ignored in ide xml parser
2014-09-30 21:52:44 +04:00
Mikhail Mutcianko
fd125e07b6
refactor android kotlin fixture test
...
- move more setup code to base class
2014-09-30 21:52:43 +04:00
Mikhail Mutcianko
74b1017fcf
delete obsolete android test
2014-09-30 21:52:42 +04:00
Mikhail Mutcianko
c3a668c8ca
fix R class field resolving
...
- resolve by class name and package defined in AndroidManifest.xml
2014-09-30 21:52:42 +04:00
Mikhail Mutcianko
f20731548d
add android completion tests
...
- add android plugin test classes as test library
- add base android test cases for kotlin, setting up android facet and sdk
2014-09-30 21:52:41 +04:00
Mikhail Mutcianko
b9b3575eb4
add android properties box tests
2014-09-30 21:52:41 +04:00
dedoz
28b8c8b5d6
add generated tests
2014-09-30 21:52:40 +04:00
Mikhail Mutcianko
8eba35cd76
optimize imports
...
tmp
stmp
2014-09-30 21:52:40 +04:00
Mikhail Mutcianko
530d6caa47
minor refactorings
2014-09-30 21:52:39 +04:00
Mikhail Mutcianko
6211485143
update android synthetic properties completion test
...
- add missing android classes as text into fixture
2014-09-30 21:52:39 +04:00
Mikhail Mutcianko
82cfb218e0
fix android plugin libs dependencies
2014-09-30 21:52:38 +04:00
Mikhail Mutcianko
9deea1caad
fix cli argument tests
2014-09-30 21:52:38 +04:00
Mikhail Mutcianko
ca701f40e9
fix android plugin dependencies not unpacked
2014-09-30 21:52:37 +04:00
dedoz
e92f26123f
add kotlin gradle plugin integration
2014-09-30 21:52:37 +04:00
dedoz
785a2d4200
add android xml to properties completion test
2014-09-30 21:52:36 +04:00
Mikhail Mutcianko
6554258166
add configuration key to pass android manifest file
2014-09-30 21:52:36 +04:00
Mikhail Mutcianko
7a06c8176e
add android layout file searching to kotlin jps plugin
2014-09-30 21:52:35 +04:00
Mikhail Mutcianko
f582159d72
delegate android resource and manifest reading in ide to android support plugin
2014-09-30 21:52:35 +04:00
Mikhail Mutcianko
a84b3e82e6
correct interpretation of android id usage mixed with id declarations
2014-09-30 21:52:34 +04:00
Mikhail Mutcianko
7834423136
implement find usages action for android synthetic properties
2014-09-30 21:52:34 +04:00
Mikhail Mutcianko
aef7523b79
add android xml reference and rename handling to JetSimpleNameReference
2014-09-30 21:52:33 +04:00
Mikhail Mutcianko
b516cdffa8
android goto declaration handler reference fix
...
- goto handler now utilizes full featured reference resolving instead of simple name based resolving
2014-09-30 21:52:33 +04:00
Mikhail Mutcianko
7857302c47
fix excess xml parsing when renaming resources
...
- rebuild resource name -> xml attribute mappings same time as rebuilding synthetic properties
- update mappings during rename
2014-09-30 21:52:32 +04:00
Mikhail Mutcianko
b6bc9a92d6
add synthetic property renaming by renaming R light class field
2014-09-30 21:52:32 +04:00
Mikhail Mutcianko
ffd3d1ffa3
add bound property renaming by renaming xml attribute value
2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
a18c97e6c5
refactor AndroidResourceManager
...
- move more common methods from xml processor implementations to resource manager
- optimize imports, reformat code
2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
89908524ab
fix double renaming issue
...
- rebuild resource mapping cache on external layout file changes
- move duplicated code to AndroidResourceManager
2014-09-30 21:52:31 +04:00
Mikhail Mutcianko
f3875cfde6
add missing android plugin dependency
2014-09-30 21:52:30 +04:00
Mikhail Mutcianko
c5d412e496
move android rename handler out of kotlin property renamer, extract resource manager class
2014-09-30 21:52:30 +04:00
Mikhail Mutcianko
c5689f5c26
reformat code, optimize imports
2014-09-30 21:31:12 +04:00
Mikhail Mutcianko
70253a61b6
revert cli converter to stream parsing
2014-09-30 21:31:12 +04:00
Mikhail Mutcianko
6e7c27d9fd
add goto declaration support for synthetic android properties
2014-09-30 21:31:11 +04:00
Mikhail Mutcianko
5a994db798
rename android synthetic id property also renames respective xml resource
2014-09-30 21:31:08 +04:00
Mikhail Mutcianko
d959d4dbd0
add android synthetic element detecting helpers
2014-09-30 21:30:17 +04:00
dedoz
7a8bbccda3
replace sax with psi based android ui xml parsing in plugin
2014-09-30 21:30:17 +04:00
Mikhail Mutcianko
795177ca80
fix xml resolving
...
- replace VirtualFileListener based approach with direct PsiFile reading
2014-09-30 21:30:16 +04:00
Mikhail Mutcianko
8a191bb1a2
check if android metadata is present before inlining property
2014-09-30 21:30:16 +04:00
Mikhail Mutcianko
b7308b9b7c
fix compiler argument tests
2014-09-30 21:30:15 +04:00
Mikhail Mutcianko
cc31520089
insert missing copyrights, move ByteArrayClassLoader up
2014-09-30 21:30:14 +04:00
dedoz
80547cf292
add android xml bridge invocation test
2014-09-30 21:30:14 +04:00
Mikhail Mutcianko
2a0a03e011
add byte code generation
2014-09-30 21:30:13 +04:00
Mikhail Mutcianko
ffbe0a3e4e
add android manifest support
2014-09-30 21:30:12 +04:00
Mikhail Mutcianko
8a7bc4fa71
fix R class not resolved in dummy file
2014-09-30 21:30:12 +04:00
Mikhail Mutcianko
a682a1d208
refactor XmlHandler, optimize imports, remove unused files
2014-09-30 21:30:11 +04:00
Mikhail Mutcianko
d955cc87dc
add missing module and build dependencies
2014-09-30 21:30:04 +04:00
Mikhail Mutcianko
cb1da3b07b
add writePackage to KotlinWriter
2014-09-30 21:29:08 +04:00
Mikhail Mutcianko
e2ef7efcb4
refactor converter initialization
...
- push lazyInit() down to IDE and Cli implementations
- no file listeners created in cli implementation anymore
- fix tests
2014-09-30 21:29:07 +04:00
Mikhail Mutcianko
ee46064f02
event based file processing
...
- use VirtualFileListener to wait for ui xml file updates
- optimize imports
2014-09-30 21:29:07 +04:00
Mikhail Mutcianko
770a732449
suppress xml errors in converter
...
- simply ignore malformed layouts, xml editor in ide will highlight them anyway
2014-09-30 21:29:06 +04:00
Mikhail Mutcianko
03732ac606
add converter output caching
...
- add two level caching: per xml conversion result and complete resulting JetFile,
so that only modified xmls are actually converted, and if no change has been
made to any of those, last successfully built psi file is returned
- merge AndroidUIXmlPathProvider and AndroidUIXmlParser
- update tests
2014-09-30 21:29:05 +04:00
Mikhail Mutcianko
9683bc385a
fix ant build
...
- add frontend.android content to sources path
2014-09-30 21:29:05 +04:00
Mikhail Mutcianko
e35cb603f9
add compiler key for providing android resources path
2014-09-30 21:29:04 +04:00
Mikhail Mutcianko
71edc602c8
fix npe when layout xml search path does not exist
2014-09-30 21:29:04 +04:00
Mikhail Mutcianko
958ea49978
obey android project structure when searching for ui xmls
...
- search for android layout xmls in ProjectRoot/res/layout/ when using IDEPathProvider
2014-09-30 21:29:03 +04:00
Mikhail Mutcianko
86b2a3e5a5
missing files handling in converter
...
- silently continue if no files were found to convert
2014-09-30 21:29:02 +04:00
Mikhail Mutcianko
de56576d15
ide analyzer integration stub
...
- add android ui xml path providers/stubs
- add generated file injection during analysis
2014-09-30 21:29:02 +04:00
Mikhail Mutcianko
a5d1936393
auto cast widget to its original type
...
- change property return type signatures from View to actual widget type
- simplify and update tests
2014-09-30 21:29:01 +04:00
Mikhail Mutcianko
c63281f91a
add converted result compilation test
2014-09-30 21:29:01 +04:00
Mikhail Mutcianko
f4c83d88eb
android UI xml bridge initial
...
- add frontend.android module
- add xml ids to kotlin extension properties converter
- add converter basic functional test
2014-09-30 21:29:00 +04:00
Alexey Sedunov
4ca39e8f9a
Create From Usage: Quick-fix for local variables
2014-09-30 19:55:46 +04:00
Alexey Sedunov
e85d34b445
Create From Usage: Add ability to select val/var when creating property
2014-09-30 19:55:45 +04:00
Alexey Sedunov
e9b16f3e1b
Create Function From Usage: Use Any if error type is inferred
2014-09-30 19:55:44 +04:00
Alexey Sedunov
854962a139
Create Function From Usage: Fix availability condition
2014-09-30 19:55:43 +04:00
Alexey Sedunov
a6ba3a569d
Create From Usage: Move "Create function"-related tests to separate directory
2014-09-30 19:55:43 +04:00
Alexey Sedunov
0f43d4d07c
Create From Usage: Move callable builder to separate package
2014-09-30 19:55:41 +04:00
Alexey Sedunov
be211d7cda
Create From Usage: Generalize function builder for both functions and properties
2014-09-30 19:55:40 +04:00
Natalia Ukhorskaya
9032a6166e
Fix Android tests
2014-09-30 17:48:40 +04:00
Valentin Kipyatkov
35ebbab733
Fixed smart completion not working when parameter has default value
2014-09-30 15:29:10 +04:00
Valentin Kipyatkov
267aabae12
Smart completion: multiple arguments at once
2014-09-30 15:29:10 +04:00
Natalia Ukhorskaya
a04efad059
Fix error message for missing propertyDelegated method in IDE
2014-09-30 15:00:30 +04:00
Natalia Ukhorskaya
6179b4889b
Debugger: fix className for properties in class objects
2014-09-30 15:00:29 +04:00
Natalia Ukhorskaya
4994e771d0
Evaluate expression: support EE for shared vars
2014-09-30 15:00:28 +04:00
Natalia Ukhorskaya
8ad18df3fa
Evaluate expression: switch off breakpoints during eval4j run
2014-09-30 15:00:27 +04:00
Nikolay Krasko
e1c7ad50d6
More changes after replacing config directory
...
- Plugin auto-enable script updated
- Don't drop configured folder in update-dependencies
- Drop test config and system folders in update-dependencies
2014-09-30 13:02:02 +04:00
Alexey Tsvetkov
0af291091e
KT-5673: always write val property to backing field
2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
b70466f9f3
KT-5673: added tests
2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
ed14f86957
KT-4773: use receiver for delegated extension property
2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
3424142b65
KT-4773: added tests
2014-09-29 21:35:30 +04:00
Alexey Tsvetkov
f8968c2f77
JS backend minor: added @NotNull annotation to getArguments()
2014-09-29 21:35:30 +04:00
Zalim Bashorov
916cfb7051
Regenerate testData for reservedWords after take was fixed.
2014-09-29 19:47:49 +04:00
Zalim Bashorov
2352085391
Improve testData generator for reserved words.
...
Cashing iterator in CyclicStream.
Detect generating unexpected testdata file(e.g. may caused because of bug in stdlib).
2014-09-29 19:47:49 +04:00
Michael Nedzelsky
098b4c170f
JS backend: fix KT-4297 PrimitiveHashMap returns wrong keys (string instead of original type)
2014-09-29 17:46:33 +04:00
Denis Zharkov
f1d9d11590
Store stack values before inlines. #KT-5634 Fixed
...
Inlining code violates JIT assumptions for OSR in Java 8 in case of
starting with non-empty and containing cycles.
Fix is to mark each inlined block with markers and then store/restore
stack state before and after inlined body.
2014-09-29 17:16:58 +04:00
Michael Bogdanov
469db95662
Inline markers added
2014-09-29 17:16:57 +04:00
Nikolay Krasko
e035fc3219
Minor: fix some dictionary suggestions
2014-09-29 14:03:09 +04:00
Nikolay Krasko
b79b7554ff
Refactoring: move application utility methods from refactoring utility to common place
2014-09-29 14:03:02 +04:00
Nikolay Krasko
89f0c8dc87
Rewrite ApplicationUtils.java to Kotlin
2014-09-29 13:55:47 +04:00
Nikolay Krasko
0a97469ff4
Make special config folder for IDEA to keep separate settings for tests
2014-09-29 13:55:46 +04:00
Alexey Sedunov
ff29e581db
Create Function From Usage: Add empty lines when inserting new function
2014-09-29 01:27:28 +04:00
Alexey Sedunov
afd8809ff5
Create Function From Usage: Wrap build() function in try-finally
2014-09-29 01:27:26 +04:00
Alexey Sedunov
6043c6d0a7
Create Function From Usage: Quick-fix for functions invoked via call expressions
2014-09-29 01:27:25 +04:00
Alexey Sedunov
22e3557895
Extract utility functions from ExtractKotlinFunctionHandler
2014-09-29 01:27:24 +04:00
Alexey Sedunov
67df2b448f
Create Function From Usage: Quick-fix for invoke convention
2014-09-29 01:27:23 +04:00
Alexey Sedunov
cf59af6c7a
Create Function From Usage: Quick-fix for unary operations
2014-09-29 01:27:22 +04:00
Alexey Sedunov
0582cf5db1
Create Function From Usage: Quick-fix for binary operations
2014-09-29 01:27:20 +04:00
Alexey Sedunov
ae69bea543
Create Function From Usage: Refactor the function builder
2014-09-29 01:27:19 +04:00
Alexey Sedunov
d9318fdc57
Create Function From Usage: Make ClassCandidateListCellRenderer nested class
2014-09-29 01:27:18 +04:00
Alexey Sedunov
06ab4e1c9a
Name Validator: Add filtering to collecting validator
2014-09-29 01:27:17 +04:00
Alexey Sedunov
2c3f0f8c29
Name Validator: Translate JetNameValidator to Kotlin
2014-09-29 01:27:16 +04:00
Alexey Sedunov
8ec2b5a973
Name Validator: Remove unused fields and parameters
2014-09-29 01:27:15 +04:00
Alexey Sedunov
5d7a07456d
Create Function From Usage: Move type utilities to separate file
2014-09-29 01:27:14 +04:00
Alexey Sedunov
34632f46f6
Create Function From Usage: Translate ClassCandidateListCellRenderer to Kotlin
2014-09-29 01:27:13 +04:00
Alexey Sedunov
d1e43d6482
Create Function From Usage: Move "Create function from usage"-related classes to separate package
2014-09-29 01:27:12 +04:00
Alexey Sedunov
08e3a6a9de
Create Function From Usage: Move action factories to top level
2014-09-29 01:27:11 +04:00
Alexey Sedunov
9573c739ea
Create From Usage: Move classes to separate package
2014-09-29 01:27:10 +04:00
Alexey Sedunov
23ea43fde5
Create From Usage: Translate base class to Kotlin
2014-09-29 01:27:09 +04:00
Michael Nedzelsky
9d49089041
JS backend: tests for char type
2014-09-28 19:51:58 +04:00
Michael Nedzelsky
6aff9803c4
JS backend: support for char type
2014-09-28 19:51:54 +04:00
Michael Nedzelsky
2e4e5c5d1d
JS backend: tests for Long type support
2014-09-28 19:51:51 +04:00
Michael Nedzelsky
dca6e31519
JS backend: add support for Long type
2014-09-28 19:51:48 +04:00
Michael Nedzelsky
d1d722546e
JS backend: prepare long.js for use in translator
2014-09-28 19:51:43 +04:00
Michael Nedzelsky
f42d7319a5
JS backend: original long.js from closure-library
2014-09-28 19:51:40 +04:00
Nikolay Krasko
1239d37cb9
Update to EAP 138.2458.8
2014-09-27 18:18:49 +04:00
Pavel V. Talanov
54799b1a34
Internal visibility works the same as public
...
Fix test data
This change is needed to preserve old behaviour for M9
isFriend() utilities become unused after this change
2014-09-26 22:06:32 +04:00
Alexander Udalov
cd0551078c
Support static method references
...
#KT-5123 Fixed
2014-09-26 18:48:43 +04:00
Alexander Udalov
19497262b3
Don't lookup built-in classes by invalid names
...
#KT-5869 Fixed
2014-09-26 18:48:43 +04:00
Pavel V. Talanov
2227b87ca3
Do not store psi in CopiedCode
...
It is transferable and can exist even if project is closed
2014-09-26 18:21:12 +04:00
Pavel V. Talanov
ec7d294fcc
Minor: remove some redundant not null assertions from Kotlin code
2014-09-26 18:21:12 +04:00
Pavel V. Talanov
477378fab7
Minor: convert CopiedCode to Kotlin
2014-09-26 18:21:11 +04:00
Pavel V. Talanov
f292c554cb
Cache result of getAllPossiblePackageClasses()
...
Move this utility from IDELightClassGenerationSupport to PackageIndexUtil
2014-09-26 18:21:11 +04:00
Pavel V. Talanov
9219616bb8
Minor: rename and refactor PackageIndexUtil#containsAny()
2014-09-26 18:21:10 +04:00
Pavel V. Talanov
4370577457
Minor: Convert PackageIndexUtil to Kotlin
2014-09-26 18:21:10 +04:00
Pavel V. Talanov
649a6f12bb
Compute builtins directory url only once
2014-09-26 18:21:09 +04:00
Pavel V. Talanov
6127af97a5
Manually implement scopes for ModuleSourceInfo
...
This allows for a faster contains(VirtualFile) check
2014-09-26 18:21:09 +04:00
Michael Bogdanov
b3e075173b
KT-5863: Inlined try/catch/finally block with non-local return doesn't work properly
...
#KT-5863 Fixed
2014-09-26 17:08:58 +04:00
Ilya Ryzhenkov
bf368b2bc2
Restore accidentally removed String.getBytes() and mark as deprecated (discouraged).
2014-09-26 16:28:08 +04:00
Valentin Kipyatkov
028520956f
Fixed tests
2014-09-26 15:20:46 +04:00
Denis Zharkov
da159c1e53
Simple version of redundant GOTO's removing
2014-09-26 12:37:33 +04:00
Denis Zharkov
e1c2fbaec0
Minor refactoring: use array of MethodTransformers
...
instead of delegation
2014-09-26 12:37:32 +04:00
Denis Zharkov
35cda83c8f
Refined merging logic #KT-5844 Fixed
...
If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
2014-09-26 12:37:04 +04:00
Alexander Udalov
96308aa14e
Increase ABI version
...
After changes to package part names and top level closure names
2014-09-26 10:23:21 +04:00
Alexander Udalov
80a7c64369
Prepend zeros to package part hash code
2014-09-26 10:23:14 +04:00
Alexander Udalov
e2273a3d85
Update JetExceptionFilter behavior for top level closures
...
Now JetExceptionFilter can determine the source file looking at the class FQ
name for sure
2014-09-26 10:22:28 +04:00
Alexander Udalov
43c26d0947
Update JetExceptionFilter to the latest API, fix warnings
2014-09-26 10:22:28 +04:00
Alexander Udalov
8f92141137
Minor, exclude tinyApp test classes output from IDEA indices
2014-09-26 10:22:28 +04:00
Alexander Udalov
49e5b950ce
Workaround package part hash codes in tests on JetPositionManager
2014-09-26 10:22:27 +04:00
Alexander Udalov
b5832d2656
Refactor and generate tests on JetPositionManager
2014-09-26 10:22:27 +04:00
Alexander Udalov
9f7979d0ce
Workaround package part hash codes in OuterClassGenTest
2014-09-26 10:22:26 +04:00
Alexander Udalov
4d055d5ab4
Check header on package part classes in MethodInliner
2014-09-26 10:22:26 +04:00
Alexander Udalov
c30aa7db84
Include package part name to top level closure names
...
#KT-4234 Fixed
#KT-4496 Fixed
2014-09-26 10:22:25 +04:00
Alexander Udalov
7b374b9509
Refactor CodegenBinding
...
- store source element in synthetic descriptor for easier debugging and lesser
amount of needed method parameters everywhere
- simplify methods which calculate necessary information for MutableClosure
2014-09-26 10:22:24 +04:00
Alexander Udalov
7d6da551d1
Minor, inline one of CodegenBinding#registerClassNameForScript
2014-09-26 10:22:24 +04:00
Alexander Udalov
4194f1c418
Minor, simplify old code in ImplementationBodyCodegen
2014-09-26 10:22:24 +04:00
Alexander Udalov
2ba9856a85
Calculate inner class access flags accurately
2014-09-26 10:22:23 +04:00
Alexander Udalov
806d79caba
Minor, strip package name from class for script
...
This is done to be able to construct a FqName of this class. Currently it's not
possible because the name contains '/' and FqName validation fails.
This name is only used for debugging and even the ClassDescriptor is used only
as a key in binding context to store the internal name of the script class
2014-09-26 10:22:23 +04:00
Alexander Udalov
4cb9fbc026
Move CodegenBinding#computeAsmType() to JetTypeMapper, make private
2014-09-26 10:22:23 +04:00
Alexander Udalov
232ab0b065
Refactor when by enum switch codegen
...
Invoke getAsmType() later, not in the process of annotating the file
2014-09-26 10:22:22 +04:00
Alexander Udalov
d4a845da01
Refactor CodegenBinding#getAsmType()
...
- make it return the ASM_TYPE slice value and assert it is there
- move all the computation to the separate method "computeAsmType"
- only call getAsmType() in those places where the type must be recorded at
slice ASM_TYPE, otherwise call JetTypeMapper#mapType(), which will check the
slice and call computeAsmType
2014-09-26 10:22:22 +04:00
Alexander Udalov
c1125402bd
Store FqName in LightClassDataForKotlinClass rather than a String
...
It was also mistakenly named "jvmInternalName" while in fact it was holding the
result of Type#getClassName() which is not an internal name
2014-09-26 10:22:21 +04:00
Alexander Udalov
c57441b51b
Use '$' instead of '-' in package part class names
...
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.
Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov
e3876624d8
Minor improvements to inline tests
2014-09-26 10:22:19 +04:00
Ilya Ryzhenkov
fabdc1fd32
Add Typography constants.
2014-09-26 01:55:08 +04:00
Ilya Ryzhenkov
350d446031
Make UTF-8 default for delegated java.lang.util functions. Convert getBytes() to toByteArray() to make it clear of copy operation.
2014-09-26 01:55:07 +04:00
Ilya Ryzhenkov
7616d3e18a
Unify charset-related APIs to use Charsets.UTF_8 as default. (Manual merge of PR#491)
...
Minor cleanup.
2014-09-26 01:55:07 +04:00
Ilya Ryzhenkov
7c61c36746
Rename encoding to charset for consistency
2014-09-26 01:55:06 +04:00
Ilya Ryzhenkov
4cdcadef9f
Add 6 standard charsets.
2014-09-26 01:55:06 +04:00
Ilya Ryzhenkov
ea8977c5b5
Minor: code formatting
2014-09-26 01:55:05 +04:00
Ilya Ryzhenkov
3e4cc87c87
Add more tests on streams and move relevant code from old iterators tests.
2014-09-26 01:33:51 +04:00
Ilya Ryzhenkov
c5c1ecf6c0
Improve Streams implementation for performance and validity (based on JMH research)
2014-09-26 01:33:51 +04:00
Zalim Bashorov
5a5c4145f2
JS backend: added tests for reserved words.
2014-09-26 00:57:09 +04:00
Zalim Bashorov
e91e724469
JS backend: mangling JS reserved words.
2014-09-26 00:57:09 +04:00
Zalim Bashorov
ef60a7f776
JS backend: fixed crash when use lambda or local function inside enum method.
2014-09-26 00:57:09 +04:00
Ilya Ryzhenkov
878ebb9575
Add ProGuard exceptions for dokka using Grammar-Kit.
2014-09-25 21:38:32 +04:00
Evgeny Gerashchenko
d44926ffde
Made some navigation tests independent on stdlib.
2014-09-25 17:38:15 +04:00
Alexander Udalov
e53aca5496
Minor, fix warnings and formatting
2014-09-25 17:14:59 +04:00
Denis Zharkov
de6a5dd6dc
fix KT-5866. Moved classes into inlines package
...
Also copy-pasted static-initializer of asm.Frame.OPCODES
because it package-protected
2014-09-25 17:14:59 +04:00
valentin
6e7e13d320
Fixed KT-5826 Keyword completion shouldn't kick in in comments
...
#KT-5826 Fixed
2014-09-25 17:10:28 +04:00
valentin
b4909cc849
Smart completion: item preference by name works for more cases
2014-09-25 17:10:27 +04:00
Valentin Kipyatkov
0462d152eb
Smart completion: prefer items matching by name
2014-09-25 17:10:27 +04:00
Valentin Kipyatkov
56978c4e16
Dropped unused file
2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
7d6542854b
Minor code refactoring
2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
f4924299dd
Extract method
2014-09-25 17:10:26 +04:00
Valentin Kipyatkov
19fb090f28
Do not autopopup completion in name of generic function or property too
2014-09-25 17:10:25 +04:00
Valentin Kipyatkov
e6ea0537c8
More correct completion testing + fixed small bug in keyword completion
2014-09-25 17:10:25 +04:00
Valentin Kipyatkov
afbd1aeffc
KT-4027 No type name completion in an incomplete generic extension function declaration
...
KT-2940 No completion in the receiver type argument position
#KT-4027 Fixed
#KT-2940 Fixed
2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
93d8791df1
No completion auto-popup after dot in float literal (but one test start to fail!)
2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
3fcf0f7340
Fixed KT-5808 Code completion auto-popup does not appear after typing "?."
...
#KT-5808 Fixed
2014-09-25 17:10:24 +04:00
Valentin Kipyatkov
94c9338e3c
Fixed KT-3807 Wrong completion for class/trait with extesion function
...
#KT-3807 Fixed
2014-09-25 17:10:23 +04:00
Valentin Kipyatkov
e30998d3c1
Moved an utility method
2014-09-25 17:10:23 +04:00
Valentin Kipyatkov
7df65d595c
Infix calls supported in smart completion too
2014-09-25 17:10:22 +04:00
Valentin Kipyatkov
2bb553612c
Dealing with infix calls in completion
...
#KT-4846 Fixed
2014-09-25 17:10:22 +04:00
Valentin Kipyatkov
9961a5ff16
Minor
2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
16809bc1c6
Minor
2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
427b3c80bc
Filtered out incorrect suggestion of extension methods in smart completion
2014-09-25 17:10:21 +04:00
Valentin Kipyatkov
f43a9968ba
Minor code refactorings in TipsManager
2014-09-25 17:10:20 +04:00
Valentin Kipyatkov
726f49b3f8
Converted TipsManager to Kotlin
2014-09-25 17:10:20 +04:00
Valentin Kipyatkov
34aada75eb
Fixed KT-5795 Do not suggest member extension functions with wrong implicit reciever
...
#KT-5795 Fixed
2014-09-25 17:10:19 +04:00
Michael Nedzelsky
6ed57f5e7a
JS backend: fix KT-5221 Invalid JS code generated for dec() and inc()
...
#KT-5221 Fixed
2014-09-25 15:12:44 +04:00
max-kammerer
86d598677d
Merge pull request #506 from bintree/max-stack-calc-refining
...
Refining calculation of max stack size. #KT-5548 Fixed
2014-09-25 10:00:37 +04:00
Natalia Ukhorskaya
0dfc793a45
Merge pull request #515 from dmekhanikov/master
...
Introduce propertyDelegated method in delegates
2014-09-24 18:50:56 +04:00
Denis Zharkov
7de406991a
Refining conditions if method can be optimized
2014-09-24 18:04:33 +04:00
Denis Zharkov
e32f307960
Refining calculation of max stack size. #KT-5548 Fixed
...
It used for inline and optimization
Added new MethodVisitor's decorator within objectweb.asm package because
there are a lot of usages of package-protected members
Large portion of MaxStackFrameSizeCalculator is carefully copy-pasted from
MethodWriter parts that are relevant to max stack size calculation
2014-09-24 18:04:33 +04:00
Ilya Ryzhenkov
c074b4317e
Cleanup concurrent
2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
3ab1901f06
Rename Serializable test file
2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
7b77229638
Cleanup Serializable test
2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
a6d2624807
Cleanup test helpers.
2014-09-24 17:39:47 +04:00
Ilya Ryzhenkov
f2b9b370e1
Clean Dom and Dom tests.
2014-09-24 17:39:46 +04:00
Michael Bogdanov
cde74504d4
Test for obsolete kt5307
2014-09-24 17:12:27 +04:00
Evgeny Gerashchenko
cb58d19e29
Minor. Clarified "compiled file" as "file to compile".
2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
060796997e
Fixed clearing incremental cache for removed source files.
...
For writing system-dependent paths were used, for deleting were system-independent. That's why cache was not cleared on Windows.
2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
f9b33c4137
Fixed opening file and not closing it.
...
This led to impossibility to delete file during incremental compilation.
2014-09-24 16:31:47 +04:00
Evgeny Gerashchenko
b435904d7f
Fix: not loading ancestor packages from incremental cache.
2014-09-24 16:31:47 +04:00
Evgeny Gerashchenko
9af1c3e4dc
Added automatic backup for debugging incremental compilation.
2014-09-24 16:31:47 +04:00
Denis Zharkov
36b50a25f9
Changed generating logic for named functions
...
Generate it as a sequence of statements when it's possible
2014-09-24 15:59:49 +04:00
Denis Zharkov
78cde5c740
Generate blocks-statements through CodegenStatementVisitor
2014-09-24 15:59:49 +04:00
Denis Zharkov
4ed744428b
Generate substatements as statements too
...
Preventing pushing on stack redundant Unit instances
#KT-5667 fixed
2014-09-24 15:51:43 +04:00
Denis Zharkov
081d2cf95c
Minor, extracted generateLoopBody
2014-09-24 15:51:43 +04:00
Denis Mekhanikov
c4bfa0edca
Introduce propertyDelegated method in delegates
2014-09-24 15:34:12 +04:00
Pavel V. Talanov
9e38d207f2
Add hack for failing js completion tests
2014-09-23 15:56:38 +04:00
Pavel V. Talanov
187a3f0b9f
Implement separate service which tracks modification in libraries
...
ProjectRootModificationTracker tracks root changes but not content modification
2014-09-23 15:56:38 +04:00
Pavel V. Talanov
8a5239f794
Correctly place decompiled kotlin files under LibrarySourceInfo
...
This check doesn't work for java (and other) decompiled sources, but we assume that we never deal with them in this code
2014-09-23 15:56:37 +04:00
Pavel V. Talanov
8a44325327
Log when libraries cache is dropped because of ProcessCanceledException
...
Hope it can give insight on how often this happens
2014-09-23 15:56:37 +04:00
Pavel V. Talanov
8d89ac897a
Create composite exception tracker when delegating ModuleResolverProvider
...
Avoid dropping delegate caches when exception (i.e. ProcessCancelled) is thrown in delegating provider
2014-09-23 15:56:36 +04:00
Pavel V. Talanov
68201c3e86
Delegate to global cache when building ModuleResolverProvider for synthetic files
2014-09-23 15:56:36 +04:00
Pavel V. Talanov
5847c3559b
Implement ModuleSourceInfo.getDependentModules()
2014-09-23 15:56:35 +04:00
Pavel V. Talanov
bf546c83fb
Introduce ModuleSourceInfo
2014-09-23 15:56:35 +04:00
Pavel V. Talanov
fe136b500a
Libraries cache drops only on roots change
2014-09-23 15:56:34 +04:00
Pavel V. Talanov
67c9a2323c
Synthetic files cache delegates to libraries cache
2014-09-23 15:56:34 +04:00
Pavel V. Talanov
8368689af8
Split global cache in KotlinCacheService into separate caches for libraries and for modules
2014-09-23 15:56:33 +04:00
Pavel V. Talanov
faa9f4bb14
Reuse both storage manager and exception tracker when delegating to ModuleResolverProvider
2014-09-23 15:56:33 +04:00
Pavel V. Talanov
c0657320f5
Allow to provide delegate ModuleResolverProvider when computing resolve sessions for bodies
2014-09-23 15:56:32 +04:00
Pavel V. Talanov
ec02734a30
Minor: extract property in KotlinResolveCache
2014-09-23 15:56:32 +04:00
Pavel V. Talanov
563119ffc7
Minor: fix typo in file name
2014-09-23 15:56:31 +04:00
Pavel V. Talanov
bb87377457
Allow to provide precomputed analyzers when creating ResolverForProject
2014-09-23 15:56:31 +04:00
Michael Nedzelsky
e6a17cbd78
JS backend: tests for KT-5772
2014-09-23 14:50:20 +04:00
Michael Nedzelsky
bdca7e0e37
JS backend: fix KT-5772 wrong code generated when <,<=,>,>= are used with explicit Comparable type
...
#KT-5772 Fixed
2014-09-23 14:50:17 +04:00
Michael Nedzelsky
1d71016097
JS backend: refactoring support for binary intrinsic operations
2014-09-23 14:50:15 +04:00
Michael Nedzelsky
07a4d0e77e
JS backend: convert NumberConversionFIF to Kotlin
2014-09-23 14:50:13 +04:00
Michael Nedzelsky
32f391aa51
JS backend: minor improve in NamePredicate: replace list with set
2014-09-23 14:50:09 +04:00
Alexey Sedunov
a48fbacbd9
Minor: Fix warnings
2014-09-23 12:50:48 +04:00
Alexey Sedunov
da004cf104
Minor: Add @NotNull annotation
2014-09-23 12:50:47 +04:00
Alexey Sedunov
735fd6c626
Move: Fix detection of imported declarations and processing of extension usages
...
#KT-5787 Fixed
#KT-4959 Fixed
2014-09-23 12:50:46 +04:00
Natalia Ukhorskaya
b14e979d70
Android tests: skip txt files in box folder
2014-09-23 10:46:40 +04:00
Natalia Ukhorskaya
2b388ed308
Evaluate Expression: fix function call from base class on object with subtype
2014-09-23 10:33:06 +04:00
Nikolay Krasko
b5f738db07
Fix test runner for the case when rerun of failed test filters out some classes completely
2014-09-22 14:02:32 +04:00
Nikolay Krasko
f178356bf0
More memory for dist task
2014-09-22 14:02:04 +04:00
Nikolay Krasko
f5ee68064f
Don't generate ValueParameter annotations in light class mode
2014-09-22 14:02:02 +04:00
Michael Bogdanov
432ec31daf
Support returns in nested finallies
2014-09-19 17:14:17 +04:00
max.kammerer
9564eaa6fd
Support finnaly blocks from inline fun in non-local returns
2014-09-19 17:14:17 +04:00
Evgeny Gerashchenko
309329afd0
Shared incremental compilation tests. For running locally and on teamcity.
2014-09-19 16:43:00 +04:00
Alexander Udalov
90c09762e3
Find usages: only collect those descriptors which resolve to callables
...
Fix failing test on the buildserver
2014-09-19 16:29:00 +04:00
Alexey Sedunov
5a0b786cb9
Extract Function: Fix syntax error in test
2014-09-19 13:50:38 +04:00
Alexey Sedunov
40761dfc4c
Extract Function: Generate named argument for extracted lambda (when necessary)
2014-09-19 13:50:38 +04:00
Alexey Sedunov
6a76ca1066
PSI Pattern Patching: Use precomputed context for matching of substitution parameters
2014-09-19 13:50:37 +04:00
Alexey Sedunov
98eed5cb0e
Minor: Remove unused function added in earlier commit
2014-09-19 13:50:36 +04:00
Alexander Udalov
04bb43e907
Fix navigation to data class copy function
2014-09-19 11:45:22 +04:00
Nikolay Krasko
bf7a295ace
Regenerate for testCompilationErrorThenFixed test
2014-09-18 20:30:35 +04:00
Nikolay Krasko
2ae1286515
Remove lazy base test - there won't be lazy and eager mode soon
2014-09-18 17:58:25 +04:00
Nikolay Krasko
fbd09911f3
Refactoring: Extract filter for skipping built-ins packages
2014-09-18 17:58:24 +04:00
Nikolay Krasko
e796f88b38
Regenerate test data with constructed descriptors for diagnostics tests
2014-09-18 17:58:23 +04:00
Nikolay Krasko
de61456725
Compare constructed descriptors in diagnostics tests
2014-09-18 17:58:20 +04:00
Evgeny Gerashchenko
2a9005b466
Fixed IAE because of compiler bug.
2014-09-18 16:50:20 +04:00
Evgeny Gerashchenko
853def0a10
Not clearing incremental cache on compilation error.
2014-09-18 16:50:20 +04:00
Zalim Bashorov
040d1693e8
Minor: revert semicolons after package declaration for java parts inside kt file.
2014-09-18 16:00:45 +04:00
Michael Nedzelsky
1b60f39959
JS backend: test for KT-4381: JS: fails to iterate over Double range
...
#KT-4381 obsolete
2014-09-18 15:01:11 +04:00
Alexey Sedunov
741e5f61e9
Extract Function: Implement duplicate search
2014-09-18 13:28:30 +04:00
Alexey Sedunov
03e2b4d516
PSI Pattern Matching: Add support of weak matching
2014-09-18 13:28:29 +04:00
Alexey Sedunov
07a257b1fe
Drop JetPsiMatcher class and use JetPsiUnifier instead. Drop AbstractJetPsiMatcherTest
2014-09-18 13:28:28 +04:00
Alexey Sedunov
855ed81c11
Introduce Variable: Use expression unifier to find duplicates
2014-09-18 13:28:27 +04:00
Alexey Sedunov
f1c18d0e3f
PSI Pattern Matching: Add equivalence tests for JetPsiUnifier
2014-09-18 13:28:26 +04:00
Alexey Sedunov
a3758f9fa3
PSI Pattern Matching: Implement expression unifier
2014-09-18 13:28:24 +04:00
Alexander Udalov
c0a8e8a4fc
Fix safe call on a static method in JVM back-end
...
#KT-5796 Fixed
2014-09-18 11:13:30 +04:00
Alexander Udalov
9434114c45
Make DescriptorRenderer escape names with dollars and other characters
...
#KT-5791 Fixed
2014-09-18 10:42:48 +04:00
Alexander Udalov
483232a3e5
Minor, add test for obsolete issue
...
#KT-5159 Obsolete
2014-09-17 21:20:57 +04:00
Alexander Udalov
af01c0ff94
Update to IDEA EAP 138.2210
2014-09-17 21:19:09 +04:00
Zalim Bashorov
08c3bb35b2
Merge pull request #514 from chashnikov/rr/nik
...
JS run configuration: use default implementation of ExecutionResult instead of implementing...
2014-09-17 18:56:26 +04:00
nik
92e962eced
JS run configuration: use default implementation instead of implementing interface from IDEA API to simplify code and avoid compatibility problems
2014-09-17 18:06:32 +04:00
Natalia Ukhorskaya
88a2612348
Regenerate tests
2014-09-17 14:21:34 +04:00
Natalia Ukhorskaya
3dcfae4a81
Debugger: delegated property should be visible in debugger
...
#KT-4699 In Progress
#KT-3582 Fixed
2014-09-17 13:59:53 +04:00
Natalia Ukhorskaya
655682ac97
Move regression tests from stdlib to compiler
...
#KT-5770 FIxed
2014-09-17 13:59:52 +04:00
Valentin Kipyatkov
d5f509580f
Minor fix in completion
2014-09-17 13:24:56 +04:00
Valentin Kipyatkov
a4613ec4a0
Changed completion logic: include non-imported declarations on second press even when prefix is empty
2014-09-17 13:24:56 +04:00
Valentin Kipyatkov
75f7f296aa
Non-imported extension functions and properties in smart completion + adding import on completing of non-imported property
2014-09-17 13:24:56 +04:00
Zalim Bashorov
507bfe49aa
Minor: "js.noImpl" -> "noImpl"
2014-09-16 19:34:57 +04:00
Zalim Bashorov
38401d04d5
Minor: made noImpl generic to avoid using in wrong context.
2014-09-16 19:32:38 +04:00
Zalim Bashorov
30208d5532
Minor: drop semicolon in package declaration everywhere.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
0f136d5adc
Minor in JS lib: dropped semicolon in package declarations.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
b0aa3e9988
JS stdlib: fixed visibility in some declarations.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
0b0e9ee244
JS stdlib: test that js library doesn't contain internal declarations.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
838c384672
"js" -> "kotlin.js"
2014-09-16 19:32:37 +04:00
Zalim Bashorov
b28b0046d1
Minor: drop obsolete code.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
efd4409dbf
Minor: increase memory in JS backend tests.
2014-09-16 19:32:37 +04:00
Zalim Bashorov
59b83679b3
Minor in JS stdlib: made stdlib warning less -- suppressed some BASE_WITH_NULLABLE_UPPER_BOUND warnings and fix one extra out projection.
2014-09-16 18:07:37 +04:00
Zalim Bashorov
0c0d049de7
Minor in JS backend: drop unnecessary inline annotations.
2014-09-16 18:07:37 +04:00
Zalim Bashorov
0fd1b5152a
Minor in JS backend: added comment for InvokeIntrinsic::bothReceivers.
2014-09-16 18:07:36 +04:00
Michael Bogdanov
a735d67e86
Check noinline annotation on non-local return processing
2014-09-16 15:33:14 +04:00
Michael Bogdanov
b763aa9995
Added platform static checker with provider implementation
2014-09-16 14:38:15 +04:00
Zalim Bashorov
9b065a89b9
JS backend: fix annotation class compilation.
2014-09-16 14:21:50 +04:00
Alexander Udalov
1905401273
Move ClassId to module descriptors, closer to other names
2014-09-16 11:36:39 +04:00
Alexander Udalov
ed92eb1d17
Minor, use another constructor of ClassId
2014-09-16 11:32:45 +04:00
Alexander Udalov
b0539ac7a4
Minor, fix old terminology mistake
2014-09-15 19:30:53 +04:00
Alexander Udalov
cfefa0c970
Convert VirtualFileKotlinClass to Kotlin
2014-09-15 19:30:53 +04:00
Alexander Udalov
940d07c81b
Rename VirtualFileKotlinClass.java to .kt
2014-09-15 19:30:53 +04:00
Alexander Udalov
556e313141
Minor, improve multi-module java analysis test
...
- don't check supertypes for every callable in a class
- don't check methods from Any
- check that all descriptors were correctly resolved (otherwise the test
failure error message was very cryptic)
2014-09-15 19:30:53 +04:00
Alexander Udalov
73a92c6aa9
Remove JavaClass.getAllMethods()/getAllFields()
...
Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually
Also make JavaClassImpl.getSupertypes() invoke PsiClass.getSuperTypes(),
because it also contains java.lang.Object for interfaces, which makes
equals/hashCode/toString appear in interfaces' getAllMethods() as well
2014-09-15 19:30:53 +04:00
Alexander Udalov
f39c3041d2
Make MISSING_VAL_ON_ANNOTATION_PARAMETER error instead of warning
...
Annotation with a parameter that is not stored doesn't make any sense
2014-09-15 19:30:52 +04:00
Alexander Udalov
f64e633a7e
Minor, add NotNull annotations to test sources
2014-09-15 19:30:52 +04:00
Alexander Udalov
3485d65d8a
Remove superfluous isVararg() from JavaMethod
2014-09-15 19:30:52 +04:00
Alexander Udalov
924283d2d9
Extract JavaConstructor out of JavaMethod
...
Will be useful in reflection-backed implementation of Java structure, where
Constructor is not a Method and doesn't even inherit from it
2014-09-15 19:30:52 +04:00
Alexander Udalov
04ff45dee3
Drop "toClassId" in DeserializerForDecompiler
2014-09-15 19:30:51 +04:00
Alexander Udalov
7595e32bb6
Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
...
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov
1f8b2cef52
Read InnerClasses attribute value in FileBasedKotlinClass
...
Resolve names mentioned in class declarations based on this information
2014-09-15 19:30:51 +04:00
Alexander Udalov
e3b01f073f
Replace FqName by ClassId where possible in Java resolver
2014-09-15 19:30:51 +04:00
Alexander Udalov
9648c50ac9
Minor, refactor FileBasedKotlinClass factory method
2014-09-15 19:30:51 +04:00
Alexander Udalov
fa39bf03a0
Extract abstract FileBasedKotlinClass out of VirtualFileKotlinClass
...
Add another implementation of FileBasedKotlinClass which was indirectly used in
jps-plugin (LocalFileKotlinClass)
2014-09-15 19:30:51 +04:00
Alexander Udalov
f34f2e71a8
Minor, add NotNull annotations to VirtualFileKotlinClass
2014-09-15 19:30:50 +04:00
Alexander Udalov
a8c5f1bb3a
Drop KotlinClassFinder#findKotlinClass(FqName)
...
findKotlinClass(ClassId) should be used instead
2014-09-15 19:30:50 +04:00
Alexander Udalov
422e922c36
Make JavaClassFinder accept ClassId rather than FqName
...
ClassId has more information about the name which will be very useful when
implementing JavaClassFinder in reflection
2014-09-15 19:30:50 +04:00
Alexander Udalov
e9ae06a53e
Straighten out MemberIndex calculation in LazyJavaStaticScope
...
Also delete confusing "inn" function
2014-09-15 19:30:50 +04:00
Alexander Udalov
0cb7c08a7a
Minor, delete unneeded underscores from parameter names
2014-09-15 19:30:50 +04:00
Alexander Udalov
bc1d59a538
Add KotlinClassFinder#findKotlinClass(ClassId)
...
Will be used to load nested classes correctly at runtime
2014-09-15 19:30:50 +04:00
Alexander Udalov
c854b1d713
Unextend JavaAnnotationArgumentImpl from JavaElementImpl
2014-09-15 19:30:49 +04:00
Alexander Udalov
4c51368244
Rewrite JavaAnnotationArgument interfaces and implementations to Kotlin
2014-09-15 19:30:49 +04:00
Alexander Udalov
ec02382976
Assert that reference annotation argument is always an enum value
...
Rename JavaReferenceAnnotationArgument on that occasion to
JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation
argument
2014-09-15 19:30:49 +04:00
Alexander Udalov
13eeb18219
Delete "idea.properties"
...
Apparently it was committed by mistake and never used since then
2014-09-15 19:30:49 +04:00
Alexander Udalov
3822c48f30
Include additional IDE modules to "IDE" scope
...
- include modules "idea-analysis" and "ide-lazy-resolve"
- exclude all files starting from "idea" such as idea.properties, ideaSDK etc.
2014-09-15 19:30:49 +04:00
Andrey Breslav
f1cf446e10
KT-5773 Smart cast doesn't work with Nothing on the rhs of "?:"
...
#KT-5773 FIxed
2014-09-15 18:24:13 +04:00
Alexander Udalov
3a806713fd
Fix obscure typo in isEqual() in KotlinClassFileIndex
2014-09-12 21:18:24 +04:00
Alexander Udalov
8cc1a1da27
Minor, fix warnings in KotlinClassFileIndex
2014-09-12 21:18:18 +04:00
Natalia Ukhorskaya
ecaf87f51c
Minor, tests: rename test directive in debugger tests
2014-09-12 17:26:33 +04:00
Natalia Ukhorskaya
e16673f50a
Debugger tests: do not print line numbers in stdlib
2014-09-12 17:26:32 +04:00
Pavel V. Talanov
3eeed559b4
Use different scope in completion/autoimport if element is in production source root
2014-09-12 13:09:20 +04:00
Pavel V. Talanov
88b262faf1
Make test source module a friend of production source module
2014-09-12 13:08:31 +04:00
Pavel V. Talanov
f3a9bed14a
Introduce ModuleDescriptor#isFriend(ModuleDescriptor)
...
Use it to allow friend modules to see internal members
2014-09-12 13:08:30 +04:00
Pavel V. Talanov
10666d777d
Split ModuleSourceInfo into ModuleProductionSourceInfo and ModuleTestSourceInfo
2014-09-12 13:08:29 +04:00
Pavel V. Talanov
3e25e16599
Refactor: drop redundant abstractions in IdeaModuleInfoTest
2014-09-12 13:08:27 +04:00
Alexey Sedunov
424c086ba3
Sort list of declarations suggested for auto-import by proximity
...
#KT-2050 Fixed
2014-09-11 21:04:27 +04:00
Alexey Sedunov
650c9c6da5
Quick Fixes: Support "WITH_RUNTIME" directive in multi-file quick fix tests
2014-09-11 21:04:26 +04:00
Alexander Udalov
e0ee890486
Move properties of enum class object to the enum class
...
Similar to how it's done for usual classes
2014-09-11 17:56:43 +04:00
Alexander Udalov
81004889eb
Fix initialization of object's INSTANCE$ field
...
Call object's constructor in <clinit> and ignore the result, but in the first
line of <init> save the current "this" to INSTANCE$
#KT-4516 Fixed
#KT-4543 Fixed
#KT-5291 Fixed
#KT-5523 Fixed
#KT-5582 Fixed
2014-09-11 17:56:43 +04:00
Alexander Udalov
b907f35995
Minor, fix some warnings in codegen
2014-09-11 17:56:43 +04:00
Alexander Udalov
8c781e5d14
Minor, remove duplicate method in ExpressionCodegen
2014-09-11 17:56:42 +04:00
Alexander Udalov
937404239e
Minor, delete unused method in DataFlowInfo
2014-09-11 17:56:27 +04:00
Nikolay Krasko
32c00a4623
Return tree structure in test view result for running single test
2014-09-11 17:45:26 +04:00
Nikolay Krasko
10fbd4a269
Test that tests are executed only once in "All Tests"
2014-09-11 15:44:59 +04:00
Nikolay Krasko
80616a1fcb
Drop all inners classes if sorting is needed
2014-09-11 15:44:58 +04:00
Natalia Ukhorskaya
32f6d7feac
Add test for KT-5554: coerce arrays in return
...
#KT-5554 Fixed
2014-09-11 15:04:46 +04:00
Natalia Ukhorskaya
e0469de5be
Eval4j: fix coerce for arrays in return
...
#KT-5554 Fixed
2014-09-11 15:04:44 +04:00
Natalia Ukhorskaya
4667190b8c
Minor: fix typo
2014-09-11 15:04:43 +04:00
Natalia Ukhorskaya
50dcef254d
Debugger: get correct context for breakpoints inside lambdas
2014-09-11 15:04:41 +04:00
Natalia Ukhorskaya
a1e586cf7c
Tests: extract base class
2014-09-11 15:02:59 +04:00
Nikolay Krasko
b6abd6442a
Don't try to search for component function if asked completely different function
2014-09-11 12:52:57 +04:00
Nikolay Krasko
c3f44d5030
Refactoring: create DataClassUtils and move all "component" function utils there
2014-09-11 12:52:57 +04:00
Nikolay Krasko
65d358a066
Don't generate component function in lazy resolve for parameter if it has no val/var
2014-09-11 12:52:56 +04:00
Nikolay Krasko
caee19cdc7
Generate copy() in data class even if constructor is empty or not present
2014-09-11 12:52:55 +04:00
Nikolay Krasko
fa393cf4f5
Escape surrogate characters
2014-09-11 12:52:54 +04:00
Alexander Udalov
83f47412b6
Eliminate package "light" from org.jetbrains.jet.asJava
...
Move everything to org.jetbrains.jet.asJava because classes for some light
elements were already there
2014-09-11 10:37:48 +04:00
Alexander Udalov
50a301865f
Move KotlinLightMethod and KotlinLightElement to "jet.as.java.psi"
2014-09-11 10:37:47 +04:00
Alexander Udalov
fec64b31dc
Fix resolve of Kotlin enum entries from Java
...
#KT-5719 Fixed
2014-09-11 10:37:47 +04:00
Alexander Udalov
70561cc539
Fix resolution of Kotlin enums' values() and valueOf() from Java
...
Use the code from PsiClassImpl / ClsClassImpl, which for some reason is absent
in AbstractLightClass
#KT-5591 Fixed
2014-09-11 10:37:45 +04:00
Alexander Udalov
d4b1797646
Override getText() in light classes to prevent decompiler errors on Kotlin sources
...
Fixes EA-58277
2014-09-11 10:37:07 +04:00
Zalim Bashorov
48de3b706d
Frontend: added the support file annotations to LazyTopDownAnalyzer.
2014-09-10 22:39:12 +04:00
Zalim Bashorov
6d0bcf8b32
Frontend: added the support file annotations to TopDownAnalyzer.
2014-09-10 22:39:12 +04:00
Zalim Bashorov
486b6be32c
Minor in Parser: "attribute" -> "annotation"
2014-09-10 22:39:11 +04:00
Zalim Bashorov
d71c3d6166
Minor in Parser: moved some annotation tests.
2014-09-10 22:39:11 +04:00
Zalim Bashorov
fb97b1df93
Minor in Parser: drop obsolete code.
2014-09-10 22:39:11 +04:00
Zalim Bashorov
3c60d0de93
Parser: added the support file annotations.
2014-09-10 22:39:11 +04:00
Zalim Bashorov
506610302a
Parser: added the support file annotations to grammar.
2014-09-10 22:39:11 +04:00
Zalim Bashorov
771b887e9f
Minor: add ".idea/shelf" to ".gitignore".
2014-09-10 22:39:10 +04:00
Michael Bogdanov
08e02f4176
Moving platformStatic annotation to kotlin.platform package
2014-09-10 17:35:59 +04:00
Andrey Breslav
b8b0316d97
Reporting ACCIDENTAL_OVERRIDE on jvm signatures that have no descriptors
...
(marking them SYNTHETIC)
2014-09-10 17:35:54 +04:00
Alexey Sedunov
9b7bccce22
Move: Move refactoring should correct constructor call when moving inner class
...
#KT-4676 Fixed
2014-09-10 16:44:51 +04:00
Alexey Sedunov
feb393e4c8
Extract Function: Merge initialized declarations on call site when possible
2014-09-10 16:44:50 +04:00
Alexey Sedunov
dd78ed6d4a
Extract Function: Generate variables when boxing multiline expressions
2014-09-10 16:44:49 +04:00
Alexey Sedunov
1a63f9b815
Refactoring Util: Implement PsiElement.getLineCount()
2014-09-10 16:44:47 +04:00
Alexey Sedunov
b59da7686c
Pseudocode: Fix type predicate inference for values used inside of lambda
2014-09-10 16:44:47 +04:00
Alexey Sedunov
76433571f8
Extract Function: Support multiple output values
2014-09-10 16:44:46 +04:00
Alexey Sedunov
7a15a88288
Minor: Change signature
2014-09-10 16:44:44 +04:00
Pavel V. Talanov
e6df5c4bdc
KotlinSignature markers do not fail in case of enum in sources
...
Refactor to make all KotlinSignature intention share some logic
2014-09-10 15:20:59 +04:00
Nikolay Krasko
d32221ff4a
Add sorted and filter to custom test runner
2014-09-09 23:35:16 +04:00
Alexander Udalov
55e5241158
Regenerate tests
2014-09-09 20:42:39 +04:00
Alexander Udalov
c274fc8d6d
Drop outdated JVM intrinsics EnumValueOf and EnumValues
2014-09-09 20:42:39 +04:00
Alexander Udalov
25bb220223
Fix navigation on values()/valueOf() of enum classes
2014-09-09 20:42:39 +04:00
Alexander Udalov
4d212be31f
Refactor QualifiedExpressionResolver
...
- fix return types everywhere: Collection<DeclarationDescriptor> instead of
Collection<? extends DeclarationDescriptor>
- delete useless LookupResult.EMPTY and merge LookupResult with
SuccessfulLookupResult
- reformat, minor inlines, etc.
2014-09-09 20:42:38 +04:00
Alexander Udalov
5b1993f62a
Resolve "values" and "valueOf" in enum class object
...
Import enum class's static scope into its class object's member scope
2014-09-09 20:42:38 +04:00
Alexander Udalov
2f12875515
Extract "values" and "valueOf" names as static constants
2014-09-09 20:42:38 +04:00
Alexander Udalov
4bd603818a
Drop LazyJavaDescriptor, JavaPackageFragmentDescriptor
2014-09-09 20:42:38 +04:00
Alexander Udalov
148d583212
Drop JavaPackageFragmentProvider
2014-09-09 20:42:38 +04:00
Alexander Udalov
3b05ec0df4
Remove duplicate code from JvmCodegenUtil
2014-09-09 20:42:37 +04:00
Alexander Udalov
d52eff0825
JS: update support of enum's values() and valueOf()
2014-09-09 20:42:37 +04:00
Alexander Udalov
c5345a83c9
Minor, reuse existing method
2014-09-09 20:42:37 +04:00
Alexander Udalov
476dc78c16
Refine getClassObjectDescriptor()'s type
...
This reverts commit db3e5ed678 .
2014-09-09 20:42:37 +04:00
Alexander Udalov
b52f337f7f
Drop enum class object hack
...
Place valueOf() and values() into the static scope of the corresponding enum
class
#KT-5580 Fixed
#KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov
bb54825fac
Fix incorrect test data for wrong KotlinSignature CLI test
...
Classes from the root package cannot be referenced from a non-root package
2014-09-09 20:42:36 +04:00
Alexander Udalov
8ccca1781d
Support static class scope in frontend, JVM codegen and IDE
2014-09-09 20:42:36 +04:00
Alexander Udalov
cb81023469
Minor, fix warnings and formatting in QualifiedExpressionResolver
2014-09-09 20:42:36 +04:00
Alexander Udalov
76986f850f
Drop outdated code in JDR related to static class members
2014-09-09 20:42:36 +04:00
Alexander Udalov
bcfb5f3b09
Rewrite Java resolve to use static class scope instead of synthesized packages
...
#KT-4149 Fixed
#KT-4839 Fixed
2014-09-09 20:42:36 +04:00
Alexander Udalov
75df4a9ad8
Introduce ClassDescriptor#getStaticScope()
...
Will be used to exterminate hacks related to static Java methods in our
codebase: synthetic class object for enum, synthetic package for static members
of Java classes, etc.
2014-09-09 20:42:35 +04:00
Alexander Udalov
7ad88f7799
Minor, add test for obsolete issue
...
#KT-4021 Obsolete
2014-09-09 20:42:35 +04:00
Alexander Udalov
d86903ccd4
Minor, add codegen test on extension to nested class
2014-09-09 20:42:35 +04:00
Alexander Udalov
2fbba060de
Minor, fix "J2K Tests" run configuration
2014-09-09 20:42:35 +04:00
Pavel V. Talanov
123b6ed529
Do not skip top level members from sources under library classes root
...
Fix problems with JavaScript libraries
2014-09-09 19:51:45 +04:00
Michael Bogdanov
7aaae8a2f7
Synthetic accessor refactoring: extract general interface
2014-09-09 16:28:28 +04:00
Michael Bogdanov
e26d635633
Initial implementation of platformStatic
2014-09-09 16:28:28 +04:00
Michael Bogdanov
7bbedd9685
Added platformStatic annotation
2014-09-09 16:26:15 +04:00
Michael Nedzelsky
36ada06bdb
Remove SuppressWarning('NullableProblems') and change @NotNull annotation to @Nullable in DescriptorPredicate.apply method
2014-09-09 16:24:09 +04:00
Michael Nedzelsky
cc4f84ffae
JS backend: fix KT-5738 JS backend: result of toByte() should be in the range of bytes
...
#KT-5738 Fixed
2014-09-09 16:24:06 +04:00
Michael Nedzelsky
a632e9e21d
JS backend: fix KT-4601 JS: compareTo doesn't work on Numbers
...
#KT-4601 Fixed
2014-09-09 16:24:03 +04:00
Michael Nedzelsky
145050b3d1
JS backend: simplify conversion to int
2014-09-09 16:24:01 +04:00
Michael Nedzelsky
69a25ca92a
JS backend: minor: improve call translation for constant receiver
2014-09-09 16:23:58 +04:00
Michael Nedzelsky
377f6fe4da
JS backend: fix labels before for and do while loops
2014-09-09 16:23:55 +04:00
Nikolay Krasko
041d009b9a
Regenerate tests
2014-09-09 14:28:24 +04:00
Nikolay Krasko
c6905b971c
New runner for auto-generated test
...
- Run classes with inners
- Remove suite() methods in generated and prevent double test execution
2014-09-09 14:28:22 +04:00
Andrey Breslav
32c8d3a96d
Tests regenerated
2014-09-08 19:57:41 +04:00
Andrey Breslav
cb07c65b7d
@TestDataPath and @TestDataFile annotation added to facilitate navigation to test data
2014-09-08 19:57:40 +04:00
Alexey Sedunov
e274af7be8
Pseudocode: Filter out nulls before combining type predicates
...
#KT-5732 Fixed
2014-09-08 17:48:47 +04:00
Michael Nedzelsky
81c7a1b1da
JS backend: return empty expression for unreachable code during translation
2014-09-08 11:30:20 +04:00
Michael Nedzelsky
6e728852d0
add BindingUtilsPackage.isUnreachableCode
2014-09-08 11:30:12 +04:00
Svetlana Isakova
f5feb3bf33
Fixed: label copies should be added to all labels
2014-09-07 01:04:01 +04:00
Svetlana Isakova
976d5ab030
Pseudocode: don't write full label name when jump on it
2014-09-07 01:04:00 +04:00
Svetlana Isakova
3a9b7bbade
Improved error message for 'nested class should be qualified'
2014-09-07 01:04:00 +04:00
Svetlana Isakova
4590452b27
Added tests for KT-4870 "Change to constructor invocation" quick fix doesn't work
...
for local classes, objects and object expressions
#KT-4870 Obsolete
2014-09-07 01:03:59 +04:00
Svetlana Isakova
91b0ad2023
Removed 'implicit this' from scope for member lookup
2014-09-07 01:03:59 +04:00
Svetlana Isakova
067ac5c94a
Fixed one part of 'Resolution error of this type shouldn't occur for...'
...
Result for "IF<T>(T, T)" can be "hasUnknownParameters"
if both arguments have types 'uninferred type parameter' (incomplete resolve case),
no constraints are added to the system.
2014-09-07 01:03:58 +04:00
Svetlana Isakova
61dc110cc7
Report 'break or continue outside a loop'
...
for break/continue outside a loop body (e.g. in loop condition)
#KT-5724 Fixed
2014-09-07 01:03:57 +04:00
Svetlana Isakova
0b4f313b6d
Jump on 'continue' to condition entry points for all loops
2014-09-05 18:31:53 +04:00
Michael Nedzelsky
25a0854dbd
fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)
...
#KT-5645 Fixed
2014-09-05 18:31:53 +04:00
Svetlana Isakova
3d7c22f242
Added exact label names for labels
2014-09-05 18:31:53 +04:00
Alexey Sedunov
ebcac73874
Find Usages: Skip overriden descriptors which have no corresponding declaration (EA-58371)
2014-09-05 17:39:56 +04:00
Alexey Sedunov
f11621615b
Pseudocode: Do not generate VALUE_CONSUMER if property delegate has no value (EA-59276)
2014-09-05 17:39:54 +04:00
Alexey Sedunov
e03bae44d9
Extract Function: Support multi-declaration initializers
...
#KT-5613 Fixed
2014-09-05 17:39:53 +04:00
Natalia Ukhorskaya
b33e696ab7
Fix Android tests
2014-09-05 12:23:31 +04:00
Michael Nedzelsky
3578845e87
JS backend: add support for break, return, continue, throw in expressions
2014-09-03 20:48:52 +04:00
Michael Nedzelsky
2296eeef84
JS backend: add leftJetExpression and rightJetExpression fields into BinaryOperationTranslator
2014-09-03 20:48:48 +04:00
Valentin Kipyatkov
24bd6ec7de
Moved too specific function out of ExpressionTypingUtils (and refactored it)
2014-09-03 15:43:25 +04:00
Valentin Kipyatkov
855cc2443f
KT-4976 Completion ignores smart casts
...
#KT-4976 Fixed
#KT-5718 Fixed
2014-09-03 15:43:25 +04:00
Valentin Kipyatkov
c79204a41d
Completion: more tests for keyword escaping
2014-09-03 13:59:31 +04:00
Valentin Kipyatkov
ed5c5426e6
Completion: corrected for class nested into class object
2014-09-03 13:59:31 +04:00
Valentin Kipyatkov
89aaa018fe
Completion: escaping of named arguments
2014-09-03 13:59:31 +04:00
Valentin Kipyatkov
d64f930ff1
Completion: no qualified this for anonymous object + no keyword escaping for qualified this
2014-09-03 13:59:31 +04:00
Valentin Kipyatkov
5799ecbd28
Completion: minor code corrections after review
2014-09-03 13:59:30 +04:00
Michael Bogdanov
ce39b18c2f
Fix artifact output and root due IDEA-129315
2014-09-03 13:51:07 +04:00
Natalia Ukhorskaya
078e7f7bbb
Update to IDEA EAP 138.1980.1
2014-09-03 11:18:55 +04:00
Michael Nedzelsky
f5963ebfe9
JS backend: test for KT-4225: Compiler to JavaScript produces semantically wrong code
...
This issue was fixed in build 0.8.541
2014-09-02 22:53:00 +04:00
Michael Nedzelsky
0e41411c75
JS backend: fix TranslationUtils.isCacheNeeded
2014-09-02 22:52:57 +04:00
Michael Nedzelsky
5967b6637f
JS backend: fix translation for || and && (create new tmp variable if needed)
2014-09-02 22:52:53 +04:00
Michael Nedzelsky
40e5d6c8f5
JS backend: refactor LoopTranslator, add function translateForExpression
2014-09-02 22:52:50 +04:00
Michael Nedzelsky
478d3baf59
JS backend: add LoopTranslator.kt, move ExpressionVisitor.createWhile and ForTranslator into LoopTranslart, remove foreach package
2014-09-02 22:52:45 +04:00
Michael Nedzelsky
2fd13a0fb4
JS backend: add NotNull annotations
2014-09-02 22:52:42 +04:00
Michael Nedzelsky
ab0df532bc
JS backend: for with label, fix KT-5257 JS: for with continue with label fails on runtime, and KT-5262 JS: wrong code for for over range when start greater end
...
#KT-5257 Fixed
#KT-5262 Fixed
2014-09-02 22:52:39 +04:00
Nikolay Krasko
932bd57cf9
Minor: small code rearrangement
2014-09-02 14:41:46 +04:00
Nikolay Krasko
10886a8ce3
Refactoring: introduce isInSourceWithGradleCheck() method
2014-09-02 14:41:43 +04:00
Nikolay Krasko
053201f30f
Don't store test data in field
2014-09-02 14:41:41 +04:00
Nikolay Krasko
ea09129eba
More memory for "All Tests" configuration
2014-09-02 14:41:00 +04:00
Natalia Ukhorskaya
d8d01ead14
Debugger, fix tests: add kotlin-runtime to classpath compiling Java Sources for tinyApp
2014-09-01 15:08:09 +04:00
Svetlana Isakova
b794b827f9
Replaced UninferredParameterType with error type
...
and UninferredParameterTypeConstructor
2014-09-01 12:32:54 +04:00
Svetlana Isakova
17c3eeb7bd
Added error 'NESTED_CLASS_SHOULD_BE_QUALIFIED'
...
when nested class is resolved through implicit this
2014-09-01 12:32:54 +04:00
Svetlana Isakova
132c292d32
Don't check class object visibility when it's in qualifier position
...
(visibility for member is checked anyway).
It might be better to underline invisible qualifier in a chain (class or class object), not the last one (member) - for later improvement.
2014-09-01 12:32:54 +04:00
Svetlana Isakova
3767187027
Refactoring: extracted 'BindingContext.getDataFlowInfo'
2014-09-01 12:32:53 +04:00
Svetlana Isakova
0b9c62ab54
Extracted util function 'recordScopeAndDataFlowInfo'
2014-09-01 12:32:53 +04:00
Svetlana Isakova
7f9ecc50c2
Use EXPRESSION_DATA_FLOW_INFO instead of NON_DEFAULT_EXPRESSION_DATA_FLOW
2014-09-01 12:32:53 +04:00
Svetlana Isakova
4e8f10b8ab
Refactoring: extracted interface Qualifier (that is not a ReceiverValue)
2014-09-01 12:32:53 +04:00
Svetlana Isakova
bc3f6e200a
Refactoring in PositioningStrategies
...
Rename: NAME_IDENTIFIER -> DECLARATION_NAME
NAMED_ELEMENT -> DECLARATION_SIGNATURE
DECLARATION, DECLARATION_OR_DEFAULT (merged) -> DECLARATION_SIGNATURE_OR_DEFAULT
2014-09-01 12:32:53 +04:00
Svetlana Isakova
67aad53db7
Render 'defined in' in resolved call tests
2014-09-01 12:32:52 +04:00
Svetlana Isakova
bbeb44e6ee
Fixed NPE in ArgumentMatchImpl.getStatus
...
Check value arguments if there is wrong number of type arguments
2014-09-01 12:32:52 +04:00
Svetlana Isakova
05637226e1
Render name of class object as 'class object of MyClass'
2014-09-01 12:32:52 +04:00
Svetlana Isakova
9d366cb896
Prohibit local objects and enum classes
...
#KT-5402 Fixed
#KT-4838 Fixed
Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
var foo = object {
val bar = object {
val baz = "ok"
}
}
return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova
eaeed78154
Resolve type of anonymous object in local object as local
2014-09-01 12:32:51 +04:00
Svetlana Isakova
f811b9541c
Position error on 'class A' or 'object A' instead of name identifier only
2014-09-01 12:32:51 +04:00
Svetlana Isakova
ac3528756c
Small improvements in error reporting
2014-09-01 12:32:51 +04:00
Svetlana Isakova
53b0b3450d
Refactoring in PositionStrategies: added markRange(from, to)
2014-09-01 12:32:50 +04:00
Svetlana Isakova
6f4c152f53
Record reference to class object directly
...
not to containing class descriptor
2014-09-01 12:32:50 +04:00
Svetlana Isakova
7f33ad90a6
Report 'nested class accessed via instance reference' error
2014-09-01 12:32:50 +04:00
Svetlana Isakova
d150a26f8a
Rewrote DiagnosticRendererUtil to kotlin
2014-09-01 12:32:50 +04:00
Svetlana Isakova
3a15192bf8
Removed accidentally committed 'setTextRanges' from Diagnostic
2014-09-01 12:32:50 +04:00
Svetlana Isakova
6c63492355
KT-5308 Wrong ExplicitReceiverKind when access to IntRange.EMPTY
...
#KT-5308 Fixed
2014-09-01 12:32:49 +04:00
Svetlana Isakova
8289f13016
Introduced QualifierReceiver instead of PackageType
2014-09-01 12:32:49 +04:00
Svetlana Isakova
cc92589378
Generated FunctionParameterInfoTest
2014-09-01 12:32:49 +04:00
Svetlana Isakova
d1afa215e7
Removed ExpressionTypingContext.containingDeclaration
...
it's always scope.getContainingDeclaration()
2014-09-01 12:32:49 +04:00
Svetlana Isakova
8f6f8331ac
DelegationSpecifier resolve depends on expected type (supertype)
2014-09-01 12:32:48 +04:00
Svetlana Isakova
e7c285e0e0
Launch ResolvedCallsTest with kotlin library
2014-09-01 12:32:48 +04:00
Svetlana Isakova
e4e09d6c70
Resolve invoke on class objects and enum entries
...
Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'
#KT-4321 Fixed
#KT-4863 Fixed
2014-09-01 12:32:48 +04:00
Alexander Udalov
19d35b8ec6
Fix ClassCastException: PsiParameterImpl cannot be cast to JetParameter
...
Fixes EA-59008. No new tests added, difficult to reproduce
2014-09-01 11:22:19 +04:00
Evgeny Gerashchenko
4e41673b75
Added check for duplicate source paths in all compiler workflows.
2014-08-29 17:49:10 +04:00
Evgeny Gerashchenko
35720ff46d
Supported methods with default arguments in partial package compilation.
2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
3226093fa6
Fixed redeclaration from incremental compilation. Added workaround for JPS bug.
2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
76864a3eb0
Minor. Clearer logic.
2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
15cb2ec586
Supported multi-module incremental compilation tests.
2014-08-29 16:31:29 +04:00
Natalia Ukhorskaya
f8468718cb
Minor: fix warnings in KotlinEvaluationBuilder
2014-08-29 15:17:14 +04:00
Natalia Ukhorskaya
e7a72b70a6
Add some more test on filters for debugger
2014-08-29 15:17:13 +04:00
Natalia Ukhorskaya
5c0c22d087
Stepping: do not step into kotlin standard library
...
#KT-2076 Fixed
2014-08-29 15:17:13 +04:00
Natalia Ukhorskaya
88afc7a949
Minor: rename
2014-08-29 15:17:12 +04:00
Natalia Ukhorskaya
741f55d89c
Debugger: Add filter for Kotlin specific classes
...
#KT-2076 Fixed
2014-08-29 15:17:12 +04:00
Natalia Ukhorskaya
f26ea299dc
Debugger: add tests (filter classloaders and constructors)
2014-08-29 15:17:11 +04:00
Alexander Udalov
619ffead17
Fix test data file name
2014-08-29 15:09:14 +04:00
Michael Bogdanov
83eb983e08
KT-5699 VerifyError in inlines
...
#KT-5699 Fixed
2014-08-29 14:02:52 +04:00
Andrey Breslav
d80907543f
KT-5697 Duplicate Unit type
...
#KT-5697 Fixed
2014-08-29 12:51:07 +04:00
Alexander Udalov
ec12d1d71d
Fix deprecation warnings on junit.framework.Assert
...
Use org.junit.Assert instead everywhere. Also fix some other minor warnings
2014-08-29 12:34:07 +04:00
Alexander Udalov
d37727185e
Fix IDEA plugin behavior with classes in library sources
...
In case when some class was contained in sources of some library (in addition
to classes of some library) we incorrectly assumed that its ModuleInfo is
LibrarySourceInfo of that library, because we checked if the file was in
library sources first. Now we check if the file is in library _classes_ first,
and then sources
#KT-5695 Fixed
2014-08-28 17:24:42 +04:00
Michael Bogdanov
2afa51dbde
Added missed artifact entry for lazy resolve module
2014-08-28 16:27:02 +04:00
zarechenskiy
9fe42be7c4
Move part of lazy element resolver structure to new module ide-lazy-resolve
...
This new module will be used from Eclipse, it should not have any idea
specific logic that is applicable only for idea
2014-08-28 13:53:48 +04:00
Nikolay Krasko
97a95d6a6a
Fix "Cannot resolve method" error in Java for methods from trait
2014-08-28 13:47:36 +04:00
Valentin Kipyatkov
9859b10854
Fixed test
2014-08-27 19:07:39 +04:00
Valentin Kipyatkov
5fb9aae68c
Escaping of keyword names in completion (more tests to be added)
2014-08-27 19:07:39 +04:00
Valentin Kipyatkov
f5419cb04e
DeclarationLookupObject.descriptor is never null
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
8a2d4154d6
Completion: non-imported elements are added to the list later
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
ae9eb19f39
Auto-import popup to import global properties
...
#KT-4541 Fixed
#KT-3097 Fixed
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
f8e2841c2b
Checked that auto-import works for extension properties
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
2841fab6d5
Code refactorings
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
ced2abb860
Converted AutoImportFix to Kotlin
2014-08-27 19:07:38 +04:00
Valentin Kipyatkov
7c61539516
Faster code for auto-import fix
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
ba91bc36aa
Moved code that has nothing to do with short names from short names cache
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
04bf0059ec
Code refactoring
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
6b8800f392
More correct code
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
1b99ffb6b1
Minor code refactorings
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
bb343c2853
Fixed KT-5046 No autocompletion for not imported extension properties
...
#KT-5046 Fixed
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
9c138d8637
Fixed KT-1476 Code completion for not imported properties
...
#KT-1476 Fixed
2014-08-27 19:07:37 +04:00
Valentin Kipyatkov
6bcfa08fde
Code completion: more optimal fetching of top level functions
2014-08-27 19:07:36 +04:00
Valentin Kipyatkov
ca59391e56
Converted JetShortNamesCache to Kotlin
2014-08-27 19:07:36 +04:00
Valentin Kipyatkov
9c5778e174
Code completion and auto-import popup not offer classes from inaccessible modules + some code refactoring JetShortNamesCache
2014-08-27 19:07:36 +04:00
Valentin Kipyatkov
3e2ad55c9e
Code completion: changed dummy identifier for basic completion to ignore context ahead + no invisible symbols on first completion even if nothing matches
2014-08-27 19:07:36 +04:00
Valentin Kipyatkov
4f4b84dbd2
Code completion: minor changes after review
2014-08-27 19:07:36 +04:00
Evgeny Gerashchenko
965b64e628
Fixed JPS plugin artifact name.
2014-08-27 18:27:21 +04:00
Evgeny Gerashchenko
eae49e23d4
Fixed compilation.
2014-08-27 16:41:36 +04:00
Evgeny Gerashchenko
95ab99cce3
Minor. Removed redundant assertions.
2014-08-27 16:35:12 +04:00
Evgeny Gerashchenko
97beb92fbc
Removed dependency on intellij-core in jps-plugin to avoid linkage errors.
2014-08-27 16:35:12 +04:00
Evgeny Gerashchenko
a231e66ec4
Packing zip with bare plugin in post_build.
2014-08-27 16:35:11 +04:00
Evgeny Gerashchenko
d6d59d61d9
Extracted jps plugin artifact.
2014-08-27 16:35:11 +04:00
Evgeny Gerashchenko
822f02e23a
Introduced bare kotlin compiler plugin for IntelliJ IDEA developers.
2014-08-27 16:35:10 +04:00
Evgeny Gerashchenko
b728f47947
Minor. Updated compiler configuration.
2014-08-27 16:35:07 +04:00
Evgeny Gerashchenko
75ffc0f5ff
Converted KotlinBuilder from Java to Kotlin
2014-08-27 16:35:06 +04:00
Natalia Ukhorskaya
ccc4e1c767
Fix exception getting source position for library file
2014-08-27 15:58:00 +04:00
Natalia Ukhorskaya
6b28ccbc9b
JetPositionManager: add tests
2014-08-27 15:57:59 +04:00
Natalia Ukhorskaya
e7ebf6fda2
Minor: change debugger tests structure
2014-08-27 15:57:59 +04:00
Natalia Ukhorskaya
453592edf4
Debugger: breakpoints in library source files
2014-08-27 15:57:58 +04:00
Natalia Ukhorskaya
91f7f2479d
Debugger tests: workaround for idea bug in output replacement
2014-08-27 15:57:57 +04:00
Natalia Ukhorskaya
40c4022c98
Debugger tests: add custom library
2014-08-27 15:57:57 +04:00
Natalia Ukhorskaya
aa9382fefa
Debugger: report LOG.ERROR in kotlin.internal.mode for exceptions from extract function
2014-08-27 15:57:56 +04:00
Natalia Ukhorskaya
a0460fe3e9
Evaluate Expression: don't evaluate expression in context of package directive
...
EA-57962 Fixed
2014-08-27 15:57:55 +04:00
Alexander Udalov
b0cb4c330f
Don't try to read binary data from a non-class file
...
Fixes EA-59470, where a virtual file is checked to be a compiled Kotlin class
from the decompiler (which doesn't check its FileType)
2014-08-27 14:07:24 +04:00
Pavel V. Talanov
8c041f56cc
Do not analyze kotlin source files in jars for java projects
2014-08-26 21:12:09 +04:00
Alexander Udalov
7dd0613f96
Fix NoErrorsInStdlibTest
...
stdlib was analyzed with an older version of itself in the classpath. But
without that older version stdlib still depends on a built-in part
(builtins, runtime.jvm, reflection), so we compile those as a separate library
beforehand
2014-08-26 21:12:09 +04:00
Nikolay Krasko
50903050ff
Configure exception with absolute file path to enable easy patching
2014-08-26 14:55:12 +04:00
Nikolay Krasko
186a9a13a8
Report unmet trait requirements in IDE
...
#KT-3006 Fixed
2014-08-26 14:42:29 +04:00
Nikolay Krasko
679d641a94
Allow create Kotlin declarations during building indices process
2014-08-26 14:28:56 +04:00
Andrey Breslav
b8f7d68bd4
Minor tweaks in the grammar
2014-08-26 12:16:35 +04:00
kisenka
8da384b466
Convert markup from Confuence wiki to Markdown
2014-08-26 12:04:34 +04:00
Alexander Udalov
e14ec050b4
Minor, update obsolete message in JetTestUtils
2014-08-25 19:11:53 +04:00
Alexander Udalov
8bdad92eff
Minor, fix warnings and inspections in JetTestUtils
2014-08-25 19:05:30 +04:00
Alexander Udalov
087eec4521
Regenerate tests after recent generator improvements
2014-08-25 19:00:09 +04:00
Alexander Udalov
def37c6830
Test generator: improve import statements in generated tests
...
- delete unused "junit.framework.Assert" import
- delete import of the abstract super class, because it always happens to be in
the same package
- reorder other imports in such way that "Optimize Imports" action in IDEA will
mostly have no effect in generated tests. However this will still happen in
tests without any nested test cases (useless imports of InnerClasses etc.)
2014-08-25 19:00:08 +04:00
Alexander Udalov
fb3ef047fc
Test generator: inline the constant FQ name
2014-08-25 19:00:04 +04:00
Alexander Udalov
8ff8b411a7
Support object declarations in DI generator
2014-08-25 17:53:30 +04:00
Alexander Udalov
d5d4cff701
Minor, remove dependency of everything on "descriptor.loader.java"
...
Everything already depends on "frontend.java" which exports
"descriptor.loader.java"
2014-08-25 17:53:18 +04:00
Alexander Udalov
2ea9a2cfc9
Generate annotations on enum entry constants in bytecode
...
#KT-5665 Fixed
2014-08-25 17:50:08 +04:00
Alexander Udalov
477bac9b2a
Minor, remove obsolete source roots for IDEA libraries
2014-08-25 12:39:20 +04:00
Alexander Udalov
994348b0ca
Remove dependency on Maps from jps-plugin
...
It seems that there's no Guava in the classpath formed for JPS plugins
#KT-5676 Fixed
2014-08-25 12:36:26 +04:00
Pavel V. Talanov
5dc5862134
Add missing public to ModuleClassResolver
2014-08-23 12:52:27 +04:00
Pavel V. Talanov
b749beb5fa
Fix AnalyzerFacadeForJvm reference in GenerateInjectors
2014-08-23 12:46:31 +04:00
Pavel V. Talanov
7a1d5d63dc
Rename: AnalyzerFacadeForJvm(Js) -> TopDownAnalyzerFacadeForJvm(Js)
2014-08-22 23:16:55 +04:00
Pavel V. Talanov
46f1873dc8
JDR: drop various code that is marked as temporary
...
Remove additional logic for comparing files in JavaClassFinderImpl
Drop redundant check for builtins in findClassInJava(FqName)
Drop resolve cache query in LazyJavaClassMemberScope and LazyJavaPackageFragmentScope
2014-08-22 22:59:07 +04:00
Pavel V. Talanov
e56a124c0b
ResolveSessionForBodies is not ModificationTracker
2014-08-22 22:59:05 +04:00
Pavel V. Talanov
d6bd4535fa
Introduce MultiModuleHighlightingTest
...
Checks that analysis produces expected diagnostics when configured by real IDEA module
2014-08-22 22:59:03 +04:00
Pavel V. Talanov
fbe894ea88
Debugger, minor: Insert type arguments after replacing expression
2014-08-22 22:59:01 +04:00
Pavel V. Talanov
4982e22ec7
Drop IDEAConfig
2014-08-22 22:58:59 +04:00
Pavel V. Talanov
e3e83fdee5
Rework JetSourceFilterScope
...
JetSourceFilterScope doesn't have to check file type
Avoid redundant wrapping in JetSourceFilterScope (this may improve performance in case of frequent queries to indices)
We can safely use kotlinSourcesAndLibraries scope in declaration provider given we have correct scope in the first place
This allows for resolving kotlin js libraries (which are kotlin files in classes root) whithout additional hacks (i.e. IDEAConfig)
2014-08-22 22:58:57 +04:00
Pavel V. Talanov
db5303c019
Implement modules in IDE
...
IDE:
Rewrite AnalyzerFacade and implementations for JS and JVM to support creating separate analyzers for each module
Introduce ModuleInfo which is an intermediate entity between configuration (tests or idea modules) and ModuleDescriptor
Implement IdeaModuleInfos which represent IDEA modules, sdks and libraries
Add (somewhat thin) test checking their behaviour
Implement getModuleInfo() - utility to obtain IdeaModuleInfo for PsiElement
Drop Project.getLazyResolveSession() - not possible to obtain resolve session for the whole project any more
Adjust JavaResolveExtension accordingly
KotlinSignature Intention/Marker - make sure that analyzed element is cls element (he's not in resolve scope otherwise)
LightClasses:
Create separate package light classes for each module
Java code can only reference light class from the first module among it's dependencies
Duplicate jvm signature is only reported on package declarations inside one module
Injectors:
Receive GlobalSearchScope as paramer for VirtualFileFinder and JavaClassFinder
which allows to narrow analyzer scope
JDR:
Introduce ModuleClassResolver resolves java classes in correct java descriptor resolver (corresponding ModuleDescriptor)
Add test checking that java classes belong to correct module
Debugger:
Provide context to analyze files created by debugger in
Converter:
Postprocessor now needs a context to analyze resulting code in
JetPsiFactory:
Add verification that files created by psi factory are not analyzed without context (that is almost never a good idea)
Other:
Use new API in various tests, utilities, run configuration producers and builtin serializers
Various "TODO: (module refactoring)" which mark the unfinished parts
2014-08-22 22:58:54 +04:00
Pavel V. Talanov
07935c837a
Drop JetAllPackagesIndex
2014-08-22 14:36:02 +04:00
Pavel V. Talanov
5acd23e880
Implement SubpackagesIndexService#hasSubPackages()
...
Use it in PackageIndexUtil#packageExists()
2014-08-22 14:36:01 +04:00
Pavel V. Talanov
faf303693e
Extract containsAny utility
2014-08-22 14:36:00 +04:00
Pavel V. Talanov
8cfcf4d930
Use JetExactPackagesIndex in getAllPossiblePackageClasses
2014-08-22 14:35:59 +04:00
Pavel V. Talanov
0cf3cdb01d
Introduce SubpackagesIndexService
...
In memory cache which provides faster response to getSubpackages() queries
2014-08-22 14:35:58 +04:00
Pavel V. Talanov
007ea9e10a
Introduce JetExactPackagesIndex
...
Use it to implement PackageIndexUtil#findFilesWithExactPackage()
2014-08-22 14:35:55 +04:00
Pavel V. Talanov
3418d15590
Avoid redundant wrapping in SyntheticFilesFilteringScope
2014-08-22 14:35:53 +04:00
Pavel V. Talanov
3b78e3eb99
Introduce PackageIndexUtil#packageExists()
...
Use it in IDELightClassGenerationSupport and PluginDeclarationProviderFactory
2014-08-22 14:35:52 +04:00
Pavel V. Talanov
77416aba5f
Add dependency on intellij-core explicitly
...
util module doesn't export intellij-core dependency
2014-08-22 13:09:08 +04:00
Michael Nedzelsky
d3bf58d761
JS backend: extract inline calls during translation
2014-08-22 02:17:16 +04:00
Michael Nedzelsky
76757b14e2
JS backend: new tests for use break, continue and return in &&, ||, ?:
2014-08-22 02:17:11 +04:00
Michael Nedzelsky
d969e58b88
JS backend: support for while/do while with complex conditions
2014-08-22 02:17:08 +04:00
Michael Nedzelsky
53f0e6dcd2
JS backend: remove dangerous package, correct translation for call, assignments, binary operations, support try...catch as expression
...
#KT-5576 Fixed
#KT-5594 Fixed
#KT-3166 Fixed
#KT-5545 Fixed
#KT-5594 Fixed
#KT-5258 Fixed
JS backend: fix KT-4879: extra side effect when use when in default arguments
#KT-4879 Fixed
JS backend: improve and fix WhenTranslator, fix order of evaluation for condtitions, fix KT-5263 (JS: extra tmp when initialize val in when by expression with if)
#KT-5263 Fixed
2014-08-22 02:17:00 +04:00
Michael Nedzelsky
629d9a275b
JS backend: fix dangling else issue in generated code for JsToStringGenerationVisitor
...
JS backend: fix KT-5253: when with if inside
#KT-5253 Fixed
2014-08-22 02:16:56 +04:00
Michael Nedzelsky
bfa8fea5b8
JS backend: move patternMatching tests to expression/when
2014-08-22 02:16:53 +04:00
Pavel V. Talanov
a5c02c792b
Add annotation root to all relevant libraries
2014-08-21 20:08:48 +04:00
Pavel V. Talanov
1af64aece5
Add missing public in project code
2014-08-21 20:08:46 +04:00
Nikolay Krasko
dbdc30fd94
Ignore decompiler problem, just show trouble declarations
2014-08-21 17:57:19 +04:00
Nikolay Krasko
4b4257adf9
Change executor Id to default one. It prevents NullPointerException because of missed runner.
2014-08-21 17:57:19 +04:00
Nikolay Krasko
7d36fc7449
Update to 138.1696 EAP
2014-08-21 17:57:18 +04:00
Evgeny Gerashchenko
24b8a3abda
Fixed compilation.
2014-08-21 13:28:50 +04:00
Andrey Breslav
1933e30905
Test data split between compiledJava tests and compiledKotlin tests
...
Basically, this commit splits test data from the from java-txt-kt to two pairs java-txt and kt-txt.
This commit leads to some duplication in test data.
This is temporary: in the platform types branch the test data for LoadJava tests will be changed dramatically, so duplication will go away
2014-08-21 12:22:22 +04:00
Denis Mekhanikov
1533c0e9f3
Support more than 32 default arguments
...
#KT-4675 Fixed
2014-08-20 20:47:34 +04:00
Alexander Udalov
3ada0ce0a9
Fix kotlinc scripts on Cygwin
2014-08-20 15:25:45 +04:00
Evgeny Gerashchenko
56fd9cec7a
Minor. Renamed and cleaned CompilerServices -> Services.
2014-08-20 14:29:03 +04:00
Evgeny Gerashchenko
487f381287
Minor. Renamed and cleaned CompilerServices -> Services.
2014-08-20 13:46:31 +04:00
Evgeny Gerashchenko
69c31c00db
Fixed gradle and maven plugins after changing compiler API.
2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
fe27b2264a
Passing condition to prefer parent class loader as a parameter to preloader.
2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
f3b7ae379f
Passing services via type-safe container instead of map.
2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
184ddbc9e1
Removed passing incremental cache base dir via module script.
2014-08-20 13:46:29 +04:00
Evgeny Gerashchenko
cda1be3fc7
Minor. Added toString() to CompilerConfiguration.
2014-08-20 13:46:29 +04:00
Evgeny Gerashchenko
cbf8af2e88
Made compiler report source to output mapping when invoked from JPS.
2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
6dd56a08bd
Removed storing module ids in incremental caches.
2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
3233317316
Passing class loader instead of factory to compiler.
2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko
e419c1a604
Moved incremental cache API to separate package.
2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko
5fade9a5a6
Made incremental cache per-module.
...
Reused IDEA framework which manages per-module storage.
2014-08-20 13:46:26 +04:00
Evgeny Gerashchenko
ff2e2d0203
Disabled inlining in bytecode tool window by default.
...
It produces exceptions when inlined function is defined in other file.
2014-08-20 13:46:25 +04:00
Alexey Kudravtsev
44084de3be
removed code already contained in JavaCoreApplicationEnvironment
2014-08-20 11:38:05 +04:00
Alexey Kudravtsev
c28b0dba62
moved to idea-analysis
2014-08-20 11:34:43 +04:00
Alexey Kudravtsev
161ed8feac
add resources and runtime libraries to idea-analysis
2014-08-19 17:12:45 +04:00
Alexey Kudravtsev
945209567e
moved some components registration from registerProjectServices() to registerProjectServicesForCLI() since they don't work in Upsource
2014-08-19 17:12:07 +04:00
Alexey Kudravtsev
f5a49cdacd
kotlin-for-upsource sources
2014-08-19 17:12:06 +04:00
Alexey Kudravtsev
1f48bbb7d3
a couple of inspections moved to idea-analysis module
2014-08-19 17:10:49 +04:00
Alexander Udalov
6913869b9c
Make "descriptors" not depend on intellij-core
...
Remove dependency on ProcessCanceledException with a hacky solution not to
break anything at the moment
2014-08-19 12:10:31 +04:00
Alexander Udalov
eab0342d39
Remove TestOnly annotation from JetScope#printScopeStructure
...
Because this method is located in core/ which will be present at runtime, and
this annotation is not needed at runtime
2014-08-19 12:10:30 +04:00
Alexander Udalov
df2c8889d4
Remove dependency of "descriptors" on ContainerUtil
2014-08-19 12:10:30 +04:00
Alexander Udalov
7229044a62
Remove dependency of "descriptors" on ImmutableSet
2014-08-19 12:10:29 +04:00
Alexander Udalov
2055d4d72c
Remove dependency of "descriptors" on Maps/Sets
2014-08-19 12:10:28 +04:00
Alexander Udalov
9bc7d27fe1
Remove dependency of "descriptors" on Lists
...
Also insert a sensible starting capacity almost everywhere
2014-08-19 12:10:27 +04:00
Alexander Udalov
aff7619206
Remove dependency of "descriptors" on StringUtil
2014-08-19 12:10:25 +04:00
Alexander Udalov
df554e7c53
Remove dependency of "descriptors" on Function/Condition/Processor
2014-08-19 12:10:24 +04:00
Alexander Udalov
5afe3c0e35
Code style settings: align multiline operations in Kotlin
...
Similar option is turned on in Java
2014-08-18 15:01:33 +04:00
Alexander Udalov
8bbbfaa7e6
Fix source roots of idea/intellij libraries
2014-08-18 15:01:32 +04:00
Alexander Udalov
3efabc5423
Add external annotations to library "intellij-core-analysis"
2014-08-18 15:01:31 +04:00
Alexander Udalov
9a98025f81
Set indentation to 4 for XML, in particular Ant build files
2014-08-18 15:01:30 +04:00
Alexander Udalov
cc4a67da71
Minor, change JVM runtime's Implementation-Title
...
It's not a compiler runtime, but rather a runtime for Kotlin apps
2014-08-18 15:01:28 +04:00
Pavel V. Talanov
09d3ddfcae
Introduce VirtualFileFinderFactory
...
Allow creation of VirtualFileFinder with restricted scope
2014-08-15 15:22:19 +04:00
Pavel V. Talanov
331f24d01a
Use VirtualFileFinder.SERVICE in InlineCodegenUtil
2014-08-15 15:22:17 +04:00
Pavel V. Talanov
bc6c56080d
Rewrite VirtualFileKotlinClassFinder to Kotlin
2014-08-15 15:22:16 +04:00
Pavel V. Talanov
92b29a8fe7
Rewrite KotlinClassFinder to Kotlin
2014-08-15 15:22:15 +04:00
Pavel V. Talanov
15028b76ef
Always provide not null project in scope for JavaClassFinderImpl
2014-08-15 15:22:14 +04:00
Pavel V. Talanov
cb02f6223b
Stdlib: javaClass() type parameter has Any upperbound
2014-08-14 20:54:14 +04:00
Pavel V. Talanov
5652b7f521
Fix usages of javaClass property
2014-08-14 19:59:23 +04:00
Pavel V. Talanov
bcaddd7143
Stdlib: javaClass type parameter has Any upperbound
2014-08-14 19:59:22 +04:00
Alexander Udalov
2284e3de5a
Decompose Intrinsics#checkParameterIsNotNull to make it JIT-able
...
#KT-5635 Fixed
2014-08-14 12:48:16 +04:00
Alexander Udalov
99d4f97aef
Fix access to top level delegated property from another property
...
#KT-5612 Fixed
2014-08-14 10:43:50 +04:00
Alexander Udalov
9e971ed2b9
Minor, add test on enum assignability to kotlin.Enum
2014-08-13 17:19:56 +04:00
Alexander Udalov
226bfe65f0
Don't make traits and annotations inherit from KObject
...
#KT-5609 Fixed
2014-08-13 17:19:56 +04:00
Alexander Udalov
47d5f83d04
Report unmet trait requirements
...
#KT-3006 Fixed
2014-08-13 17:19:55 +04:00
Alexander Udalov
18ca935558
Set +x permissions on unzipped bootstrap compiler
2014-08-13 17:19:55 +04:00
Alexander Udalov
9c00e1c94d
Scripts: coerce result to the actual expression type
...
#KT-5622 Fixed
2014-08-13 17:19:53 +04:00
Alexander Udalov
6e46bea821
Minor, rename local variable
2014-08-13 17:19:52 +04:00
Alexander Udalov
844845c6e3
REPL: sanitize stack traces
...
Don't include our compiler's and preloader's internal code, reflection, native
methods etc. Also delete "substring" matching logic from tests
2014-08-13 15:42:10 +04:00
Alexander Udalov
5beefac5bc
REPL: display the original cause of InvocationTargetException
2014-08-13 15:13:25 +04:00
Alexander Udalov
6eb5567895
REPL: fix open parenthesis not triggering "incomplete"
...
Check if all of the syntax errors are at EOF, not that there's a single one.
In case of open parenthesis two syntax errors are reported for some reason
2014-08-13 15:13:25 +04:00
Alexander Udalov
4213ce318e
REPL: don't fail on a callable reference
...
There should probably be a special kind of property, but at least it won't
throw an exception for now
2014-08-13 15:13:24 +04:00
Alexander Udalov
8d2ab0fd52
REPL: disable event expansion
...
Fixes problems with exclamation marks inside string literals. No tests added
because it's tedious to test REPL as it is (via ConsoleReader)
#KT-3940 Fixed
2014-08-13 15:13:24 +04:00
Alexander Udalov
d54871746e
REPL: minor refactoring & reformat, fix warnings
2014-08-13 15:13:23 +04:00
Alexander Udalov
4ff6a627d0
Get rid of isConstructorOfStaticNestedClass()
...
This value can always be computed in ConstructorDescriptorImpl#initialize
2014-08-13 15:13:23 +04:00
Alexander Udalov
415fe7a5e6
Initial support for classes in scripts and REPL
2014-08-13 15:13:22 +04:00
Alexander Udalov
c873806b54
Refactor "incomplete line" handling in REPL tests
2014-08-13 15:13:21 +04:00
Alexander Udalov
9f718005b9
Convert AbstractReplInterpreterTest to Kotlin
2014-08-13 15:13:21 +04:00
Alexander Udalov
77417639ef
Rename AbstractReplInterpreterTest file to .kt
2014-08-13 15:13:20 +04:00
Alexander Udalov
c6dfa866cd
Refactor REPL tests: use empty line instead of "null"
2014-08-13 15:13:19 +04:00
Alexander Udalov
44246349a5
Minor, inline ReplSessionTestFile
2014-08-13 15:13:19 +04:00
Alexander Udalov
f4b8874efa
Refactor REPL tests
...
Drop SimpleLinesParser, simplify logic
2014-08-13 15:13:18 +04:00
Alexander Udalov
125985c91d
Minor, add assertion message
2014-08-13 15:13:18 +04:00
Alexander Udalov
d373c09cfb
Generate REPL interpreter tests
2014-08-13 15:13:17 +04:00
Alexander Udalov
9ae95c1e5c
Generate codegen tests on scripts
2014-08-13 15:13:17 +04:00
Nikolay Krasko
6b6133be41
Add output of idea-analysis to plugin artifact
2014-08-13 13:55:28 +04:00
Alexey Kudravtsev
eb5f1a9953
checkers, annotators and dependencies moved to idea-analysis module
2014-08-13 13:27:12 +04:00
Alexander Udalov
a83d9a7dce
CLI: introduce alias "-cp" for "-classpath"
2014-08-13 11:10:42 +04:00
Alexander Udalov
b54d2ac0c5
CLI: don't fail on a wrong "-script" usage
2014-08-13 11:10:42 +04:00
Alexander Udalov
d3f201dd45
CLI: drop "-pp" flag for preloader profiling
...
It was never documented and was never supposed to be used. In the rare case
when someone must profile preloader, he can temporarily change "notime" to
"time" in the kotlinc-jvm bash/batch script
2014-08-13 11:10:41 +04:00
Alexander Udalov
5a792ca11f
CLI: output relative paths in diagnostic messages
2014-08-13 11:10:41 +04:00
Alexander Udalov
807cf1dcc0
Don't pass "-verbose" by default to compiler in IDE
...
Let user pass it in the settings. Currently doesn't affect anything since
apparently no verbose messages appear in the IDE compiler output
2014-08-13 11:10:41 +04:00
Alexander Udalov
75db407208
Minor, reuse existing constant
2014-08-13 11:10:41 +04:00
Alexander Udalov
850fc25ee0
CLI: drop "-tags" argument
...
It was only used for the compiler inside the IDE, and there we already invoke a
special method which outputs HTML only
2014-08-13 11:10:41 +04:00
Alexander Udalov
4a7dc25406
CLI: add an extra MessageRenderer parameter to compiler exec
...
Is supposed to be used instead of the "-tags" CLI argument
2014-08-13 11:10:41 +04:00
Alexander Udalov
6258e08011
KDoc: drop "-docOutput" CLI argument
...
It was never supported in kdoc-cli. It is still supported as an argument in
kdoc-maven-plugin
2014-08-13 11:10:40 +04:00
Alexander Udalov
96b7ad075c
Minor, use a simple MessageCollector in ScriptTest
2014-08-13 11:10:40 +04:00
Alexander Udalov
1d2dbca27a
Minor, move utility method out of an interface
2014-08-13 11:10:40 +04:00
Alexander Udalov
97e57e3e3d
CLI: change "-suppress warnings" option to "-nowarn"
...
Following the rule of the least surprise: this option is named "-nowarn" in
other JVM language compilers. Besides, having an option with an argument which
can take exactly one predefined value is sort of confusing
2014-08-13 11:10:40 +04:00
Alexander Udalov
cf431ffab0
CLI: change argument naming convention
...
As in all other Unix/POSIX tools and JVM language compilers, multiple words
comprising the argument name should be lowercase, separated by dashes
2014-08-13 11:10:40 +04:00
Alexander Udalov
6da95e2cea
Maven plugin: support additional arguments, drop inline/optimize
2014-08-13 11:10:39 +04:00
Alexander Udalov
fbc8361211
Minor, fix style issues in kotlin-maven-plugin
2014-08-13 11:10:39 +04:00
Alexander Udalov
6533c49f6d
Minor, refactor integration tests
2014-08-13 11:10:39 +04:00
Alexander Udalov
3ca6c8615b
Reorganize integration test data
2014-08-13 11:10:39 +04:00
Alexander Udalov
8e17557f5c
Ant task: split tests into JVM and JS
2014-08-13 11:10:38 +04:00
Alexander Udalov
9c906836f3
Ant task: drop "module" support, drop unused compiler plugins code
...
Modules should only be used in IDE and the compiler is launched there directly
2014-08-13 11:10:38 +04:00
Alexander Udalov
9c792bacfa
Ant task: drop "jar" parameter
...
"output" should be used instead, analogous to "-d" in kotlinc-jvm
2014-08-13 11:10:38 +04:00
Alexander Udalov
4d25caa2e8
Ant task: fix unneeded exception wrapping
2014-08-13 11:10:38 +04:00
Alexander Udalov
9442724821
Ant task: support additional arguments, drop inline/optimize
...
Only "-X" options are now supported as additional command line arguments
2014-08-13 11:10:38 +04:00
Alexander Udalov
45a57011d8
Simplify and enable by default inline/optimize/assertions
...
Inline, optimize, call assertions, param assertions are turned on by default
now almost everywhere; invert their meaning
2014-08-13 11:10:37 +04:00
Alexander Udalov
160cde09d6
CLI: Support "-X" advanced options, simplify some boolean options
2014-08-13 11:10:37 +04:00
Alexander Udalov
991c33d236
Gradle plugin: fix wrong external NotNull annotation
2014-08-13 11:10:37 +04:00
Alexander Udalov
423a48c7c3
Gradle tests: output compiler process stdout and stderr
2014-08-13 11:10:37 +04:00
Pavel V. Talanov
6588310736
Add missing public modifiers in project code
2014-08-12 21:13:46 +04:00
Pavel V. Talanov
aa02388aa0
Merge j2k and j2k-tests modules
2014-08-12 21:13:45 +04:00
Nikolay Krasko
508186ed90
Merge pull request #507 from zarechenskiy/injector-generator
...
Injector generator for Eclipse
2014-08-12 20:22:41 +04:00
Nikolay Krasko
51aa70eba8
'Configure as Kotlin (java) modules' doesn't work properly if several modules depends on KotlinJavaRuntime
...
#KT-5595 Fixed
2014-08-12 15:16:24 +04:00
Nikolay Krasko
2dbc328693
Minor: do configuration in one place
2014-08-12 15:16:23 +04:00
Nikolay Krasko
04c4c2af69
Minor: extract several assert methods
2014-08-12 15:16:23 +04:00
zarechenskiy
34bf3d7f0e
Supress warnings in injectors using "all" parameter, not "ALL"
...
This parameter value supports by IDEA and Eclipse
2014-08-12 13:11:21 +04:00
zarechenskiy
c1e0b167c1
Add sources to injector-generator artifact
2014-08-12 13:11:10 +04:00
zarechenskiy
a28bb57bed
Keep javax.inject.Inject annotation in compiler after shrink
...
To generate injectors in Eclipse
2014-08-12 13:10:29 +04:00
Alexey Sedunov
96dae07276
Extract Function: Allow to choose between function and property extraction
2014-08-12 13:09:53 +04:00
Alexey Sedunov
87de6cff23
Extract Function: Check for INVISIBLE_* errors during validation phase
...
#KT-4995 Fixed
2014-08-12 13:09:53 +04:00
Alexey Sedunov
cb3328c052
Extract Function: Choose default visibility at analysis phase
2014-08-12 13:09:52 +04:00
Alexey Sedunov
8af173bd4b
Extract Function: Refactoring: Introduce ExtractionGeneratorOptions and
...
ExtractionResult
2014-08-12 13:09:51 +04:00
Alexey Sedunov
6a42317fd1
Minor: Fixed warnings
2014-08-12 13:09:50 +04:00
Alexey Kudravtsev
55470737bd
update idea to 138.1510, introduce module "analysis"
2014-08-11 16:45:23 +04:00
Alexander Udalov
e20caef8c1
Regenerate tests
2014-08-11 14:33:31 +04:00
Natalia Ukhorskaya
e10c79617a
Alt+Click: set correct context element for code fragments from Alt+Click and Watch Points
...
#KT-5598 Fixed
2014-08-11 12:55:24 +04:00
Michael Nedzelsky
12db8f1551
JS backend: support for explicit delegation
...
#KT-4479 Fixed
2014-08-09 10:24:02 +04:00
Michael Nedzelsky
82af542747
JS backend: convert PropertyTranslator to Kotlin
2014-08-09 10:23:59 +04:00
Michael Nedzelsky
b20e413883
JS backend: add NotNull annotations
2014-08-09 10:23:55 +04:00
Zalim Bashorov
fe4a4e712a
JS backend: native trait exists only at compile time.
2014-08-08 21:26:43 +04:00
Zalim Bashorov
ac4ffd7d2c
JS backend: fixed accessing to nested native "elements".
...
#KT-4298 fixed
2014-08-08 21:26:43 +04:00
Pavel V. Talanov
50a59982aa
Don't getOriginalElement() for default signature in KotlinSignatureAnnotationIntention
2014-08-08 19:51:02 +04:00
Pavel V. Talanov
8696944c86
Fix KotlinSignature line markers in decompiled classes
2014-08-08 19:51:01 +04:00
Pavel V. Talanov
84c9ef5ee6
Don't use BindingContext to get descriptor in KotlinSignatureInJavaMarkerProvider
2014-08-08 19:51:00 +04:00
Pavel V. Talanov
4f4ab9b3b8
Delete obsolete SignatureMarkerProviderTest
2014-08-08 19:50:59 +04:00
Pavel V. Talanov
a5a493d145
Minor: remove obsolete JAVA_ROOT
2014-08-08 19:50:58 +04:00
Andrey Breslav
aacd9b243e
Getting rid of BindingContext access in KotlinSignatureAnnotationIntention
2014-08-08 19:50:57 +04:00
Pavel V. Talanov
b02d4b0669
Utilities to resolve Java methods and fields
2014-08-08 19:50:56 +04:00
Pavel V. Talanov
1488584acf
Rewrite JavaDescriptorResolver to Kotlin
2014-08-08 19:50:55 +04:00
Andrey Breslav
1de3ba9265
Minor. JavaDescriptorResolver renamed to .kt to preserve history
2014-08-08 19:50:53 +04:00
Alexey Sedunov
67606c55e7
Rename: Initial support of naming conventions
2014-08-08 18:59:49 +04:00
Alexey Sedunov
d226a11c8e
Find Usages: Add support of naming conventions
...
#KT-1356 Fixed
2014-08-08 18:59:47 +04:00
Alexey Sedunov
8bd0dda459
Find Usages: Classify 'by-convention' usages
2014-08-08 18:59:46 +04:00
Alexey Sedunov
311166737f
Associate synthetic component function descriptors with corresponding
...
constructor parameters
2014-08-08 18:59:45 +04:00
Valentin Kipyatkov
386e39f4a2
Fixed KT-1797 No completion for nested class name in extension function definition
...
#KT-1797 Fixed
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
83b33bd58b
Only named parameters in completion when nothing else can be
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
3e051d617c
Code completion: named parameter completion made not contributor
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
c9b3c97ff5
Code completion refactoring: keyword completion made with no special contributor
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
b5058fa7fd
Do not shown inaccessible symbols on auto-popup
2014-08-07 21:55:15 +04:00
Valentin Kipyatkov
9168f0a91a
Completion refactoring: got rid of JetPackagesContributor
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
e848fee7a1
Completion refactoring: got rid of JetExtensionReceiverTypeContributor
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
8d8f22636c
Completion refactoring: separated smart and basic completion's code
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
3e5b7cc2a6
Completion: all elements are first collected and then flushed to result set
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
61cb360762
Completion refactoring: no result set exposed in wrapper
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
58482066c4
Dropped code that did nothing
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
7c523df1ca
Refactoring code in completion
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
727b4c56d0
Converted more completion code to Kotlin
2014-08-07 21:55:14 +04:00
Valentin Kipyatkov
620c018b54
Converted more completion code to Kotlin
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
7219a521d7
Converted more completion code to Kotlin
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
3f62a96028
Converting completion code to Kotlin
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
bc7b2307f6
Completion: minor
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
5b06d4c4c8
JetLookupObject renamed to DeclarationLookupObject
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
7f0075abbd
Completion: more correct detection of keyword items on sorting
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
448c3008f5
Completion: moved sorting to another package and renamed
2014-08-07 21:55:13 +04:00
Valentin Kipyatkov
752a6cef0d
Completion: converted all weighers to Kotlin merging them into one file
2014-08-07 21:55:12 +04:00
Valentin Kipyatkov
3d523ba325
Refactored code
2014-08-07 21:55:12 +04:00
Valentin Kipyatkov
6221de9849
KT-5157 Code completion named parameter items should have lowest priority
...
KT-4157 Auto-popup code completion pre-selects wrong item
#KT-5157 Fixed
#KT-4157 Fixed
2014-08-07 21:55:12 +04:00
Natalia Ukhorskaya
f4a0031cf0
Minor: fix warnings
2014-08-07 15:43:48 +04:00
Natalia Ukhorskaya
de7b6cb3a1
Evaluate expression: support EE on method with expression body, on properties
...
#KT-5485 Fixed
2014-08-07 15:43:47 +04:00
Natalia Ukhorskaya
3a7f66b7eb
Evaluate expression: fix exception when default package is used
...
#KT-5555 Fixed
2014-08-07 15:43:46 +04:00
Natalia Ukhorskaya
6fa4d8fc83
Evaluate expression: Don't evaluate something when it is not an expression
...
#KT-5561 Fixed
2014-08-07 15:43:45 +04:00
Alexey Kudravtsev
8f388c49c2
js.frontend new module
2014-08-07 08:51:10 +04:00
Alexey Kudravtsev
894a7162c9
javadoc
2014-08-07 08:51:08 +04:00
Alexey Sedunov
401b53d690
Extract runReadAction/runWriteAction utility functions
2014-08-05 18:18:43 +04:00
Alexey Sedunov
9fee8600cb
Pseudocode: Do not generate implicit return instruction inside of
...
Unit-typed lambdas
#KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Alexey Sedunov
17dd5b9d05
Move: Do not update Kotlin usages of extension members, add imports instead
...
#KT-5378 Fixed
2014-08-05 18:14:39 +04:00
Evgeny Gerashchenko
99ecb82ce0
Simpler byte code generated for comparison with null and zero.
...
Analogous byte code is generated by Javac.
2014-08-05 16:29:03 +04:00
Evgeny Gerashchenko
d0d7cb1ad7
Enabled inlining and optimization in bytecode tool window by default.
2014-08-05 14:22:58 +04:00
Denis Zharkov
e0ced7cbcf
Boxing values merge fix. #KT-5588 Fixed
...
When merging Boxed value and something else just return MIXED_VALUE
2014-08-05 13:54:42 +04:00
Evgeny Gerashchenko
81f7ace128
Reverting internal mode state in tearDown of JetPsiChecker tests.
2014-08-04 18:56:13 +04:00
Evgeny Gerashchenko
89349b19ac
Enabled Kotlin internal mode in IDEA run configurations.
2014-08-04 18:46:28 +04:00
Evgeny Gerashchenko
393afd1bc1
Enabled Kotlin internal mode in JetPsiChecker tests.
2014-08-04 18:35:14 +04:00
Evgeny Gerashchenko
a4bbe2486c
Fixed collecting source files for multiple modules in incremental compilation.
...
Error led to analyzing same file twice.
2014-08-04 13:38:37 +04:00
Evgeny Gerashchenko
f2b1879aae
Added test for KT-1735 Can't access "assert" function from stdlib
...
#KT-1735 fixed
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
2c7ec8a7ae
KT-5531 Introduce separate 'kotlin.internal.mode' property and use it to trigger red/black rectangles and debug information in error tooltips
...
#KT-5531 fixed
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
d4d25f6ed0
"Copy as Diagnostic Test" is visible only in internal mode.
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
f32aecb8ff
Moved "Copy as Diagnostic Test" to Tools -> Kotlin.
...
Renamed class and done some cleanup.
2014-08-04 13:38:36 +04:00
Evgeny Gerashchenko
670f135c75
KT-5522 Rename refactoring on implicit lambda parameter 'it' should be allowed
...
#KT-5522 fixed
2014-08-04 13:38:35 +04:00
Pavel V. Talanov
8496c535aa
Replace ModuleDescriptorImpl implementation
...
Change the way modules are configured:
Add dependencies on other modules instead of adding additional package fragment providers
Refactor related code
Drop DependencyKind
Hide common new module creation in CliLightClassGenerationSupport
2014-07-31 21:25:49 +04:00
Michael Nedzelsky
145aa5a276
JS backend: tests for reflection support
2014-07-30 17:50:16 +04:00
Michael Nedzelsky
cc98664832
JS backend: support for reflection
2014-07-30 17:50:13 +04:00
Michael Nedzelsky
c42a9840de
JS backend: add support for reflection types
2014-07-30 17:50:11 +04:00
Svetlana Isakova
b3ad725e8d
Added 'getParameterForArgument' util function (using resolved call)
...
Removed similar util methods (using psi):
getParameterCorrespondingToValueArgumentPassedInCall
getParameterCorrespondingToFunctionLiteralPassedOutsideArgumentList
2014-07-30 17:14:01 +04:00
Svetlana Isakova
2ae87cae4a
Function literal expression outside the parentheses wrapped into JetFunctionLiteralArgument
...
Extracted JetFunctionLiteralArgument.moveInsideParenthesesAndReplaceWith util function
2014-07-30 17:14:00 +04:00
Svetlana Isakova
4477a96ca7
Resolve operation (unary, array access) on error element instead of ignoring it
...
(to record corresponding call for later simplification in control flow)
Generate code for unmapped arguments in control flow
2014-07-30 17:14:00 +04:00
Svetlana Isakova
3cc02c57fc
Refactoring: moved methods to call util
2014-07-30 17:07:10 +04:00
Svetlana Isakova
fb4c256d08
Added tests for choosing 'most specific' resolution candidate
...
Fixed test (while resolve with library on android): 'run' resolves to library function
2014-07-30 17:07:10 +04:00
Svetlana Isakova
eca2c7beea
Added tests on resolved calls
...
for annotation entry, delegator to super call, array access
2014-07-30 17:07:10 +04:00
Svetlana Isakova
22624186f6
Added tests for 'super' resolved calls
2014-07-30 17:07:09 +04:00
Svetlana Isakova
11ea241efb
Render candidate and resulting descriptors in resolved call tests
2014-07-30 17:07:09 +04:00
Pavel V. Talanov
bff579dd1e
Stdlib minor: Remove unused ChangeEvent#propogationId
2014-07-29 21:01:18 +04:00
Pavel V. Talanov
f678918b86
Stdlib minor: Remove unused AbstractIterator#peek()
2014-07-29 21:01:16 +04:00
Pavel V. Talanov
e4de6f5e31
Stdlib minor: Make kotlin.support.State enum
2014-07-29 21:01:14 +04:00
Pavel V. Talanov
7f173fe764
Fix most of the missing visibilities in stdlib
...
Specify visibilities and reformat surrounding code
Add test checking that there is no internal visibility specified in stdlib sources
Internal visibility does not make sense in stdlib
because it is either missed public or private would be more appropriate
2014-07-29 21:01:12 +04:00
Pavel V. Talanov
af616e731b
Fix DescriptorUtils#getContainingModule
2014-07-29 21:01:11 +04:00
Nikolay Krasko
bc07f6db06
Temp workaround for dependency in FileManagerImpl to Registry properties
...
Should be reverted after new EAP
2014-07-29 16:32:38 +04:00
Nikolay Krasko
61b70d287e
Update to 138.1283.4 EAP
2014-07-29 16:28:36 +04:00
Evgeny Gerashchenko
8a84446458
Merge pull request #502 from bintree/master
...
#KT-5513 Fixed
2014-07-29 15:13:44 +04:00
Evgeny Gerashchenko
90b065e82b
+= tests fix
2014-07-29 12:06:36 +04:00
Denis Zharkov
b86affaa3a
Assignment operations test fix:
...
x is a byte, x += 2 translated to x = x+2, but type of (x+2) currently
is Int, so it's not compiled because Int can't be stored in Byte.
Maybe we need to think about what should be a result of sum of to
Bytes, but currently it's still Int
2014-07-28 22:00:15 +04:00
Denis Zharkov
c4746bc90f
Assignment operations test fix:
...
these methods used in expressions like a = a + b, so they need to return
NotNull when receiver is NotNull
2014-07-28 22:00:15 +04:00
Denis Zharkov
48ca1bd453
Assignment operations test fix:
...
type infered for these vals are MutableIterator, but there is no plus (returning MutableIterator)
nor plusAssign operator for them, so I casted them explicitly to Iterator
2014-07-28 22:00:15 +04:00
Denis Zharkov
76845a76b9
Fixed KT-4814: check type when a += b is a = a+b
...
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
2014-07-28 22:00:14 +04:00
Valentin Kipyatkov
2b67716e95
KT-5153 Smart completion should include objects from type
...
#KT-5153 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
be0e78b11a
Fixed one more case of no-auto-insertion after "as"
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
7546a17539
KT-4914 Smart completion should work after 'as' and 'as?'
...
#KT-4914 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
32dbed602a
KT-4913 Smart completion should work after '!'
...
#KT-4913 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
19999e6879
Smart completion for implicitly typed function body
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
91c983706a
Fixed KT-5020 Smart completion should work at the initializer of a val with no explicit type
...
#KT-5020 Fixed
2014-07-28 18:52:58 +04:00
Valentin Kipyatkov
ca25a3feaa
Simplified code
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
67df7de7b1
Fixed KT-5110 Smart completion: do not generate comma if next argument has default value
...
Fixed KT-5109 Smart completion: do not insert comma if next argument is vararg
#KT-5110 Fixed
#KT-5109 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
bddb01888a
Fixed KT-5158 Smart completion for when selector: do not include subject variable
...
#KT-5158 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
595ef9f1d4
Fixed KT-5168 Smart completion includes null when comparing non-nullable value
...
#KT-5168 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
81393c999b
Fixed KT-5231 Smart completion does not insert comma in super constructor argument list
...
KT-5231 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
c8c8b477ef
Added test for KT-5272 which is not reproduced
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
d6b12187c2
Fixed KT-5341 Code completion of class declared locally inserts its "qualified name"
...
#KT-5341 Fixed
2014-07-28 18:52:57 +04:00
Valentin Kipyatkov
25a212e923
Converted JetClassInsertHandler to Kotlin
2014-07-28 18:52:57 +04:00
Alexey Sedunov
9cbcabffa4
Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis
2014-07-28 13:07:37 +04:00
Alexey Sedunov
2a19016d58
Pseudocode: Add test for parenthesized call in selector
2014-07-28 13:07:34 +04:00
Alexey Sedunov
85bb4f9b8e
Pseudocode: Generate read instructions on call expression (instead of
...
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov
9f3ebe5f3b
Pseudocode: Generate merge instruction regardless of number of branches
2014-07-28 13:07:32 +04:00
Alexey Sedunov
d008cb8c21
Pseudocode: Do not regenerate receiver values
2014-07-28 13:07:30 +04:00
Alexey Sedunov
77bbf8f73b
Pseudocode: Generate fake values for Unit/Nothing-typed expressions
2014-07-28 13:07:29 +04:00
Alexey Sedunov
2d3ac9109b
Pseudocode: Generate synthetic VALUE_CONSUMER for both property and class delegates
2014-07-28 13:06:46 +04:00
Alexey Sedunov
d07deeb5fb
Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns
2014-07-28 13:04:02 +04:00
Alexey Sedunov
b0bf11c51e
Pseudocode: Consume value of true condition in while-loop
2014-07-28 13:04:01 +04:00
Alexey Sedunov
e11ffb8542
Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
...
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov
c32d112e67
Pseudocode: Generate magics for cast expressions
2014-07-28 13:03:12 +04:00
Alexey Sedunov
00dd1dbb0b
Control-Flow Analysis: Compute STATEMENT slice using control-flow information
2014-07-28 13:03:10 +04:00
Alexey Sedunov
ffd4af872c
Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists
2014-07-28 13:03:09 +04:00
Alexey Sedunov
267ea81bbe
Pseudocode: Avoid null input values
2014-07-28 13:03:07 +04:00
Alexey Sedunov
8083ffad47
Pseudocode: Add mapping from pseudo-values to PSI elements
2014-07-28 13:03:06 +04:00
Alexey Sedunov
4f54d833d3
Pseudocode: Generate instructions for callable reference expressions
2014-07-28 13:03:05 +04:00
Alexander Udalov
fd27518070
Fix build tool plugins after recent changes to CLI
2014-07-26 02:28:51 +04:00
Alexander Udalov
8ed2413395
Minor, use javaClass instead of getClass()
...
Fix Maven build
2014-07-26 01:34:42 +04:00
Alexander Udalov
c24c799819
Fix NoSuchMethodError on private components of data classes
...
A follow-up to
d5681540ec
2014-07-26 01:31:11 +04:00
Alexander Udalov
c69303fd1d
Fix lots of deprecation warnings on ASM code
...
In the vast majority of cases it's known that we're calling a class method and
not an interface method
2014-07-26 01:05:03 +04:00
Alexander Udalov
99025de748
Drop "-jar" and "-output" kotlinc-jvm CLI arguments
...
In favor of a brand new "-d" option
2014-07-26 00:32:28 +04:00
Alexander Udalov
9908d797e0
Minor, fix LoadBuiltinsTest test data
2014-07-26 00:27:31 +04:00
Alexander Udalov
6755e7ec2e
Drop hack for OBJECT$/INSTANCE$ migration
2014-07-26 00:22:38 +04:00
Alexander Udalov
de0f751207
Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project
2014-07-26 00:21:05 +04:00
Alexander Udalov
549a38ca6f
Minor, widen the scope for INSTANCE$/OBJECT$ replacement
2014-07-25 21:53:03 +04:00
Alexander Udalov
133b2918e1
Drop a hack which allowed to make Unit an object
2014-07-25 21:45:15 +04:00
Alexander Udalov
93fa7cb330
Increase ABI version
...
Related changes include:
- kotlin.Unit is now a named object
- "instance$" was renamed to "INSTANCE$"
- "object$" was renamed to "OBJECT$"
- Intrinsics#stupidSync() was dropped
2014-07-25 21:34:12 +04:00
Alexander Udalov
98ffdb3e32
Minor, delete Object from some test data
2014-07-25 21:19:39 +04:00
Alexander Udalov
a5321ba9f0
Drop deprecated Intrinsics#stupidSync
2014-07-25 21:19:39 +04:00
Alexander Udalov
fb958897a9
Introduce kotlin.Cloneable
...
- Cloneable is a trait with a single protected member 'clone', which is mapped
to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
implementations. Also if you need your class to be Cloneable, most of the
time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic
#KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov
f3309d1fa7
Don't ignore methods of Object in tests
...
Ignore methods of kotlin.Any instead
2014-07-25 21:19:39 +04:00
Alexander Udalov
cdbdfaf182
Make Pair and Triple data classes
2014-07-25 21:19:38 +04:00
Alexander Udalov
5dc37217c8
Remove Object from supertypes in LoadJava testData
2014-07-25 21:19:38 +04:00
Alexander Udalov
a79398fa00
Don't load Object as a supertype for Java classes
...
#KT-4890 In Progress
#KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov
bea740b478
Use javaClass instead of getClass()
2014-07-25 21:19:37 +04:00
Svetlana Isakova
8c13a76805
KT-5527 Double TYPE_MISMATCH diagnostic when returns object
...
#KT-5527 Fixed
2014-07-25 21:17:31 +04:00
Alexander Udalov
485f63e1cd
Rename object$ -> OBJECT$, instance$ -> INSTANCE$
...
According to Java code conventions, public static final constants should be
named with all capital letters
2014-07-25 21:15:13 +04:00
Alexander Udalov
1168cf62bf
Don't list symbols from test data in "Go to symbol"
...
#KT-4094 Fixed
2014-07-25 21:15:03 +04:00
Pavel V. Talanov
9c58cb9f31
Pass project explicitly to JetSourceFilterScope
2014-07-25 21:15:03 +04:00
Pavel V. Talanov
3f7050635c
Builtins: check for function and extension function types by fq names
...
As opposed to checking by descriptor
2014-07-25 21:15:03 +04:00
Zalim Bashorov
a811de9bbd
Minor: Unit.VALUE -> Unit in Java code.
2014-07-25 21:03:10 +04:00
Svetlana Isakova
16dfdd2f03
Record type resolution scope for unresolved super type qualifier
2014-07-25 19:23:04 +04:00
Zalim Bashorov
c767ffc3e7
Unit.VALUE -> Unit in testData
2014-07-25 17:16:40 +04:00
Zalim Bashorov
4a8519615a
Unit.VALUE -> Unit in code.
2014-07-25 17:16:40 +04:00
Zalim Bashorov
c85ec97589
Minor: revert dc68d78 (Minor: revert changes in StackValue and fix tes data. another fixes)
2014-07-25 17:16:40 +04:00
Zalim Bashorov
4514792104
Unit as object
2014-07-25 17:16:40 +04:00
Valentin Kipyatkov
3c33b7dcfa
Fixed KT-5247 Java to Kotlin: convert java @interfaces into Kotlin annotation classes
...
#KT-5247 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
d7e857ed0a
J2K: fixed bug
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
d154d2e25b
Fixed assertion + refactored code making it more simple
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
b9bd5c8fb8
Fixed KT-5443 J2K converter crashes when code contains catch with multiple exception types
...
#KT-5443 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
957ffb0313
J2K: adding type arguments where they are needed and removing them where they are redundant
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
f836278acc
J2K: Fixed conversion of <primitive type>.class
...
#KT-5428 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov
a2fa5bc536
J2K: more correct set of annotations to drop
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
fface785db
J2K: moved part of code into special AnnotationConverter to make Converter.kt smaller
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
ab3eca92db
J2K: got rid from Converter.convertElement + fixed local classes conversion
...
#KT-5202 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
930022aaac
J2K: correct conversion of nested class references
...
#KT-5294 Fixed
#KT-5400 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
bcc36c4e48
Fixed KT-5383 J2K: preserve annotations from primary constructor + never drop constructors with annotations
...
#KT-5383 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
3527b186bf
Fixed KT-5276 J2K: Convert calls to getClass() to javaClass property access
...
#KT-5276 Fixed
2014-07-25 16:54:23 +04:00
Valentin Kipyatkov
ecb984352e
J2K: supported synchronized, volatile, transient and strictfp
...
#KT-3678 Fixed
2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
4ec746a2e1
Added test for KT-3367
2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
dac1edc35f
Java to Kotlin converter: "//file" in test data has made optional
2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
08d7b64160
Java to Kotlin converter: added tests for 2 old issues
2014-07-25 16:54:22 +04:00
Valentin Kipyatkov
276d1dcf14
Java to Kotlin converter: code refactorings after review
2014-07-25 16:54:22 +04:00
Alexander Udalov
ec6b158c0e
Fix JS translator JPS runner
2014-07-24 21:44:21 +04:00
Alexander Udalov
485cc906a4
Fix Maven build due to recent changes to CLI arguments
2014-07-24 20:04:47 +04:00
Andrey Breslav
3a59465f29
Fixed outdated ReadMe.md
2014-07-24 13:47:47 +04:00
Alexander Udalov
19b80f57cf
Support "-d" option in kotlinc-jvm
...
The intent is to unify "-output" and "-jar" options into the one "-d"
(destination)
2014-07-23 21:24:40 +04:00
Alexander Udalov
de0fd3818c
Drop "-src" in kotlinc-jvm
...
Free arguments should be used instead
2014-07-23 21:24:39 +04:00
Alexander Udalov
917938e57b
Update copyrights
2014-07-23 21:24:39 +04:00
Alexander Udalov
87439b8e0b
Drop "-sourceFiles" in kotlinc-js
...
Use free arguments instead, as is done in kotlinc-jvm and all sensible
compilers everywhere
Also fix some cases of AntTaskTest to be able to run them locally
2014-07-23 21:24:38 +04:00
Alexander Udalov
125c5e2942
Drop "-printArgs"
2014-07-23 16:01:12 +04:00
Alexander Udalov
cb80f95cab
Don't output "exec() finished with..." error message
...
It's useless because the result of the compiler is always evident (it outputs
either diagnostics or an exception stack trace)
2014-07-23 16:01:11 +04:00
Alexander Udalov
5003a2f570
Send compiler output to stderr instead of stdout
...
Test only stderr in kotlinc test now and move the '-script' test to integration
tests where both stdout and stderr is tested
2014-07-23 16:01:11 +04:00
Denis Zharkov
c01512eb41
Do not optimize large methods. #KT-5513 Fixed
2014-07-23 14:13:23 +04:00
Evgeny Gerashchenko
7e6b05554e
Always closing IncrementalCache after using. Fixed KannotatorJpsTest.
2014-07-22 21:18:16 +04:00
Evgeny Gerashchenko
714ad858ef
Minor. Formatting and imports.
2014-07-22 21:18:16 +04:00
Evgeny Gerashchenko
5ef62dd5a5
Ignoring kannotator in testData.
2014-07-22 21:18:15 +04:00
Nikolay Krasko
b20b406d8e
Fix problem in configuration with copy runtime jar
...
Jar with runtime wasn't copied to library with configured classpath if runtime jar was present in default directory.
Mute configure dialog for tests
2014-07-22 15:27:17 +04:00
Zalim Bashorov
ae4bac06b2
Merge pull request #500 from MichaelNedzelsky/kt5320
...
JS Backend: fixed associativity of JsCondition(ternary operator).
Fixed wrong code generation when use JsCondition(ternary operator) as condition of simple `if`(JsCondition).
#KT-5320 fixed
2014-07-22 15:17:43 +04:00
Zalim Bashorov
3f1038b110
Merge pull request #499 from MichaelNedzelsky/kt5345
...
JS backend: fixed KT-5345 -- type mismatch on Int / Float division.
#KT-5345 fixed
2014-07-22 14:47:31 +04:00
Michael Nedzelsky
9456833a35
JS Backend: #KT-5320 Fixed (generated code for ternary operator)
2014-07-22 13:08:31 +04:00
Michael Nedzelsky
ee67546f8f
JS backend: fix kt-5345 (Type mismatch on Int / Float division)
2014-07-22 12:43:03 +04:00
Pavel V. Talanov
740fe70b22
Fix ConvertAssertToIfWithThrowIntention to avoid shortening more references than intended
2014-07-21 18:52:31 +04:00
Pavel V. Talanov
f44ba60d51
Fix SimplifyBooleanWithConstantsIntention intention to avoid analyzing files created by JetPsiFactory
2014-07-21 18:52:30 +04:00
Pavel V. Talanov
1bc0a9dfd9
Fix InsertExplicitTypeArguments intention to insert imports for shortened types
...
#KT-5489 Fixed
2014-07-21 18:52:29 +04:00
Pavel V. Talanov
0462a018c5
Add test documenting a minor issue introduced in previous commit
2014-07-21 18:52:28 +04:00
Pavel V. Talanov
966da0b03f
Fix ConvertAssertToIfWithThrowIntention
...
to not invoke ShortenReferences on file created by JetPsiFactory
#KT-5476 Fixed
2014-07-21 18:52:27 +04:00
Pavel V. Talanov
1a5ba566cc
Add test for the same pitfall for parameter types in MakeTypesExplicitInLambda
2014-07-21 18:52:26 +04:00
Pavel V. Talanov
e390385bf9
Fix shortening references for return type in MakeTypeExplicitInLambdaIntention
...
#KT-5475 Fixed
2014-07-21 18:52:25 +04:00
Pavel V. Talanov
5246735648
Fix shortening references for receiver in MakeTypeExplicitInLambdaIntention
...
#KT-5474 Fixed
2014-07-21 18:52:24 +04:00
Denis Zharkov
18cb479ef3
When2Switch: tests for non-literal expression in when by integral
2014-07-21 17:13:57 +04:00
Denis Zharkov
8d8c3d2b9e
When2Switch: generate ifnonnull check for nullable values before *switch-opcode
2014-07-21 17:13:56 +04:00
Denis Zharkov
706bbd7b72
When2Switch: check if entry set is not empty
2014-07-21 17:13:56 +04:00
Denis Zharkov
d4cb822ee8
When by String constants:
...
Generate TABLESWITCH/LOOKUPSWITCH bytecode operation for when operator by String constants
2014-07-21 17:13:56 +04:00
Denis Zharkov
5a1c995b5c
When by enum:
...
Generate TABLESWITCH/LOOKUPSWITCH bytecode command in case of "when" by enum entries
2014-07-21 17:13:55 +04:00
Denis Zharkov
b2aa249817
Refactoring of switches codegen parts
2014-07-21 17:13:41 +04:00
Denis Zharkov
dbd1ab8c67
Minor formatting and unused code deleted
2014-07-21 17:13:41 +04:00
Alexander Udalov
230ceb6221
Resurrect assert for property default values in FULL mode
...
Respond to
4980a33572 (commitcomment-7078429)
#KT-5505 Fixed
2014-07-21 15:29:28 +04:00
Nikolay Krasko
3d51936b64
Merge pull request #498 from zarechenskiy/injector-generator
...
Add injector-generator to artifacts
2014-07-21 14:46:56 +04:00
zarechenskiy
31e2171f23
Add injector-generator to artifacts
2014-07-21 14:34:55 +04:00
Alexander Udalov
4980a33572
Fix unjustified assert in PropertyCodegen
...
#KT-5505 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
70adb0f4e2
Temporarily prohibit non-local returns for some stdlib functions
...
Make InlineUtil work with FQ names, not descriptors
#KT-5496 Fixed
#KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
540b87a1dc
Support object array annotation arguments in deserialization
2014-07-19 02:13:26 +04:00
Alexander Udalov
d5681540ec
Fix NoSuchMethodError for data classes with private parameters
...
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov
cf8e83f4f8
Minor, delete obsolete check
...
'superCall' is now never a JetDelegatorByExpressionSpecifier, so the check is
useless
2014-07-19 02:13:25 +04:00
Alexander Udalov
abf46d593c
Fix incorrect test data
2014-07-19 02:08:24 +04:00
Alexander Udalov
93fdf3a254
Minor, extract FrameMap creation in FunctionCodegen
2014-07-18 16:26:48 +04:00
Alexander Udalov
33f7d6e3ef
Get rid of a questionable TImpl hack in ImplementationBodyCodegen
...
Move getTraitImplThisParameterType closer to the only left usage in
JetTypeMapper
2014-07-18 16:26:47 +04:00
Alexander Udalov
c25d72d240
Drop CodegenBinding#enclosingClassDescriptor()
2014-07-18 16:26:47 +04:00
Alexander Udalov
78bdcae65e
Delete unreachable code in ImplementationBodyCodegen
...
Change superCall type to JetDelegatorToSuperCall
2014-07-18 16:26:47 +04:00
Alexander Udalov
1949e24ffa
Get rid of ConstructorFrameMap, drop CodegenContext#prepareFrame()
...
Also refactor FunctionGenerationStrategy to take FrameMap as an instance
instead of creating it in a subclass
2014-07-18 16:26:46 +04:00
Alexander Udalov
65c21561a4
Fix super constructor calls of anonymous objects and local classes
...
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.
Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).
Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor
#KT-3581 Fixed
#KT-5342 Fixed
#KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov
b85a672052
Minor, combine ENUM_NAME and ENUM_ORDINAL parameter kinds
2014-07-18 16:26:42 +04:00
Alexander Udalov
0caf0cffab
Minor, extract method JetTypeMapper#writeParameter
2014-07-18 16:26:41 +04:00
Alexander Udalov
b29f3dddeb
Minor, rename parameter
2014-07-18 16:26:41 +04:00
Alexander Udalov
288bbcae36
Refactor ExpressionCodegen#invokeMethodWithArguments
...
- for inlining purposes, take ResolvedCall.getCall() instead of a separate
parameter
- split into two methods, the other one will be used for a more granular code
generation of a method call
2014-07-18 16:26:40 +04:00
Alexander Udalov
04b54e9cb7
Simplify ExpressionCodegen#generateConstructorCall
...
Don't go through StackValue.CallReceiver because it handles a variety of cases
when a callable descriptor has a receiver argument, an expected this object, or
both. Constructors can't have receiver arguments, so the resulting code is
greatly simplified
2014-07-18 16:26:40 +04:00
Alexander Udalov
62ce4a034b
Increase maximum heap size for Codegen Tests on Android
...
Also include all other arguments from "All Tests"
2014-07-18 04:11:18 +04:00
Alexander Udalov
eb448627e1
Minor, delete unused method in JvmCodegenUtil
2014-07-17 19:18:06 +04:00
Alexander Udalov
eaeb976903
Access private class property via field in Evaluate Expression
2014-07-17 19:18:05 +04:00
Alexander Udalov
a07909bb52
Don't generate unnecessary accessors for private class properties
2014-07-17 19:18:05 +04:00
Alexander Udalov
4bdf7e3426
Use direct field access to trivial class properties
...
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Alexander Udalov
1555a3756c
Refactor and comment JvmCodegenUtil#couldUseDirectAccessToProperty()
...
Logic hasn't changed except the deleted isTopLevelDeclaration() call which
always returned false in this case because we checked that it's a class
property earlier
2014-07-17 19:18:05 +04:00
Evgeny Gerashchenko
79bb433810
Merge pull request #497 from bintree/master
...
Fixed KT-5493: NPE fix
2014-07-17 18:46:48 +04:00
Denis Zharkov
0b2b8ba816
Fixed KT-5493: NPE fix
2014-07-17 18:43:44 +04:00
Alexander Udalov
da3fcae2ba
Fix "optimizations" check box in bytecode toolwindow
2014-07-17 15:45:56 +04:00
Denis Zharkov
149ffdc8b9
Analyzer error handling: fix for printing bytecode in case of exception within optimization package
2014-07-17 15:37:07 +04:00
Ilya Ryzhenkov
ea9e4375b0
Merge pull request #495 from JetBrains/rr/stdlib_maps
...
Map-related fixes and improvements in stdlib.
2014-07-17 01:30:24 +04:00
Ilya Ryzhenkov
3980664049
Tests for map functions.
2014-07-16 21:35:12 +04:00
Ilya Ryzhenkov
37874556ae
Use different file for navigation test because of test framework limitation.
2014-07-16 21:35:11 +04:00
Ilya Ryzhenkov
af8d0f7b9e
Fix assertion arguments.
2014-07-16 21:35:11 +04:00
Zalim Bashorov
14ab3c4de1
JS stdlib: allowed use null as key and value in Map implementations. Added tests for using null in Set and Map implementations.
2014-07-16 21:35:11 +04:00
Zalim Bashorov
223a14a855
Moved MutableMap.set from Maps.kt to MapsJVM.kt to avoid ambiguity when compile MapTest.kt by JS backend.
2014-07-16 21:35:10 +04:00
Zalim Bashorov
9b081fd254
Minor: assert -> assertTrue
2014-07-16 21:35:10 +04:00
Ilya Ryzhenkov
4ea62071b5
Split tests into platform-independent and JVM.
2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
8cfbaf4749
Add StdLibMapTest, fix naming to convention StdLib* tests.
2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
a9da7cfeea
Use LinkedHashMap everywhere to preserve order.
2014-07-16 21:35:09 +04:00
Ilya Ryzhenkov
cb17f0c635
Remove map iteration from ListSpecificTest - JS fails, but it is irrelevant to test.
2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
2855741572
Map.Entry.toPair
2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
0e656ce3ce
collection.toMap(selector)
2014-07-16 21:35:08 +04:00
Ilya Ryzhenkov
3491c88793
Recover test for mutable List variable and move it to ListSpecificTests
2014-07-16 21:35:07 +04:00
Ilya Ryzhenkov
ce5f7e9d61
Breaking change. Map operations revisited.
2014-07-16 21:35:07 +04:00
Ilya Ryzhenkov
4167359c08
Map.filter() returns Map instead of List of Entries
2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
6849fb8358
Map.toList() returns List of Pairs instead of List of Entries.
2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
7273f223f4
Remove Map.groupBy
2014-07-16 21:35:06 +04:00
Ilya Ryzhenkov
295ce5fdf8
Unify substringBefore/After and related functions, so that they always return receiver in case of missing delimiter by default.
2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
e22ff87d81
Make LINE_SEPARATOR lazy property to not kick-in before system is setup.
2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
2b6fcc0b7c
singleOrNull methods should never throw exception #KT-5424 Fixed
2014-07-16 21:10:32 +04:00
Ilya Ryzhenkov
d4db837dec
Fix fails() assertion which was silently swallowing exceptions.
2014-07-16 21:10:32 +04:00
Nikolay Krasko
0b7699b844
Fix silence turning integers with leading zero into doubles
...
#KT-4296 Fixed
2014-07-16 18:35:19 +04:00
Natalia Ukhorskaya
73e0ae1d1c
Evaluate expression: support captured vals
2014-07-16 15:17:44 +04:00
Natalia Ukhorskaya
6440884a40
Add tests for tracing frame
2014-07-16 15:17:44 +04:00
Zalim Bashorov
670e71bdd6
Minor: update link to Kotlin website.
2014-07-15 23:50:30 +04:00
Denis Zharkov
0e683b0b99
Added "optimize" flag to settings everywhere
2014-07-15 21:34:32 +04:00
Denis Zharkov
433c9cd4a5
Fixed test in evaluateExpression (redundant boxing was removed)
2014-07-15 21:26:54 +04:00
Denis Zharkov
602e60f72e
Merge conditions refinement
2014-07-15 21:26:54 +04:00
Denis Zharkov
0f5e29df9b
tests added
2014-07-15 21:26:53 +04:00
Denis Zharkov
e53e4fe257
fixed isSafeCast, so it doesn't use Class.forName()
2014-07-15 21:26:53 +04:00
Denis Zharkov
498e5ec192
Minor refactoring: analyze-method added
2014-07-15 21:26:53 +04:00
Denis Zharkov
a412a96ff3
Changed strategy from enumeration of unsafe operations to permitted + INSTANCEOF added
2014-07-15 21:26:52 +04:00
Denis Zharkov
69d8d07a05
Refactoring: reordering methods to usage places
2014-07-15 21:26:52 +04:00
Denis Zharkov
ebfd257408
Refactoring: extracted common logic of working with local variable table into getValuesStoredOrLoadedToVariable
2014-07-15 21:26:52 +04:00
Denis Zharkov
0f0d07c9fe
Refactoring: extracted specific logic into RedundantBoxedValuesCollection class
2014-07-15 21:26:51 +04:00
Denis Zharkov
cb3eef4b86
Optimization of type conversion with boxed values (transform Integer.valueOf(x). .. .longValue() -> I2L and etc)
2014-07-15 21:26:51 +04:00
Denis Zharkov
270e58cf4e
Do not remove boxing when possibly unsuccessful CHECKCAST is performed
2014-07-15 21:26:50 +04:00
Denis Zharkov
779e2a096e
Support for IFNONNULL opcode in RedundantNullCheckMethodTransformer
2014-07-15 21:26:50 +04:00
Denis Zharkov
b1a54a424e
Fixes after review
2014-07-15 21:26:50 +04:00
Denis Zharkov
d604b5de79
Added wrappers classes names to JvmPrimitiveType
2014-07-15 21:23:51 +04:00
Denis Zharkov
ed445f6488
dealing with ranges
2014-07-15 21:23:51 +04:00
Denis Zharkov
ee87b11723
Dealing with case when boxing value is being stored in a variable
2014-07-15 21:23:51 +04:00
Denis Zharkov
b2eaac4468
Added unsafe opcodes check for boxed values
2014-07-15 21:23:51 +04:00
Denis Zharkov
485ac3f809
Minor, fixes after review
2014-07-15 21:23:51 +04:00
Denis Zharkov
3dea4bc07d
Minor, added Contract to JetPsiUtil.deparenthesize()
2014-07-15 21:23:51 +04:00
Denis Zharkov
9aa5e85bde
Redundant null check of boxed values detecting and cleaing out
2014-07-15 21:23:50 +04:00
Denis Zharkov
69436b64fc
Specialized code generation for safe qualified expression when it's within elvis or another safe-call. In such cases instead of generating ACONST_NULL, if reciever is null, just fall back to null-handler's label of the outer expression
2014-07-15 21:23:50 +04:00
Denis Zharkov
11af678767
Fixes after integration tests
2014-07-15 21:23:50 +04:00
Denis Zharkov
3fa5fc7b11
Tests updated after integration with optimization subsystem
2014-07-15 21:23:50 +04:00
Denis Zharkov
feb0918d99
integration into codegen system
2014-07-15 21:23:50 +04:00
Denis Zharkov
1ecca9f40b
initial
2014-07-15 21:23:50 +04:00
Alexander Udalov
2cb2b05b38
Minor, update library source paths after IDEA update
2014-07-15 20:33:55 +04:00
Pavel V. Talanov
fc164d5ca0
Minor: add missing static imports for PsiPackage.JetPsiFactory
2014-07-15 16:41:14 +04:00
Pavel V. Talanov
ee036770c3
Add JetPsiFactory(JetElement) function and use it
2014-07-15 16:41:13 +04:00
Pavel V. Talanov
7269e383cf
Rewrite JetPsiFactory to kotlin, make project a property
...
Instead of passing to every function
All static methods are now member functions
2014-07-15 16:41:12 +04:00
Pavel V. Talanov
307522ddd2
Rename JetPsiFactory to preserve history
2014-07-15 16:41:09 +04:00
Alexander Udalov
35385fdd75
Minor, swap parameters of AnalyzerWithCompilerReport#analyzeAndReport
...
#KT-5459 Fixed
2014-07-14 21:39:26 +04:00
Alexander Udalov
9194b5d532
Minor, add NotNull to JetCoreEnvironment#getConfiguration
...
#KT-5460 Fixed
2014-07-14 20:44:39 +04:00
Alexander Udalov
315b68ce56
Refactor and rename ExpressionCodegen#generateFromResolvedCall
2014-07-14 20:44:39 +04:00
Alexander Udalov
c0d9bfe89f
Minor, add nullability annotations, toString(), remove unused methods
2014-07-14 20:44:38 +04:00
Alexander Udalov
05baebfc27
Minor, store closure class name for debugging purposes
...
Strip package from the name up to the last slash, because slashes are not
allowed in a Name
2014-07-14 20:44:38 +04:00
Alexander Udalov
999e5f667a
Minor, remove unreachable code in CodegenContext#intoConstructor
2014-07-14 20:44:37 +04:00
Alexander Udalov
295283dc40
Minor, remove code duplication in ImplementationBodyCodegen
2014-07-14 20:44:37 +04:00
Alexander Udalov
2a763598e7
Minor, delete outdated assertions in ImplementationBodyCodegen
2014-07-14 20:44:37 +04:00
Nikolay Krasko
7673443fe1
Show notification about outdated runtime even in internal mode
2014-07-14 17:33:41 +04:00
Nikolay Krasko
286a7f1812
Create single target for building artifacts to avoid running "dist" twice
2014-07-14 17:33:38 +04:00
Alexey Tsvetkov
dd3dbe5b10
JS backend: _commonFiles/ for common kotlin files in testData/ and every test dir
2014-07-11 22:36:20 +04:00
Svetlana Isakova
9b433e31a2
Update to idea 138.1029 (EAP)
2014-07-11 21:03:37 +04:00
Alexander Udalov
f3dc9733ec
Update plugin API to IDEA 138.977+
2014-07-11 21:03:37 +04:00
Alexander Udalov
bc9a8679c3
Update links to artifacts for IDEA trunk
2014-07-11 21:03:37 +04:00
Zalim Bashorov
dc68d78d9d
Minor: revert changes in StackValue and fix tes data.
...
(this commit should be reverted after make Unit object)
2014-07-11 20:28:57 +04:00
Zalim Bashorov
9b36327046
Builtins: make Unit class to avoid binary compatibility problems.
2014-07-11 20:25:23 +04:00
Evgeny Gerashchenko
6182f2cf66
Clarified "Inapplicable annotation" error message.
2014-07-11 20:24:17 +04:00
Alexey Sedunov
487e7f2a91
Pseudocode: Replace {<: Any?} type predicate with *
2014-07-11 19:13:52 +04:00
Alexey Sedunov
3cd7a22535
Pseudocode: Stabilize type predicate order
2014-07-11 19:13:50 +04:00
Alexey Sedunov
4707f4a5e9
Pseudocode: Add debug information to magic instructions
2014-07-11 19:13:49 +04:00
Alexey Sedunov
d636d362b7
Pseudocode: Generate proper instructions for when conditions. Eliminate unnecessary magics
2014-07-11 19:13:46 +04:00
Alexey Sedunov
fd21b6cbe9
Pseudocode: Use call element stored in resolved calls to generate
...
call/read instructions
2014-07-11 19:13:45 +04:00
Alexey Sedunov
49edae7469
Extract Function: Do not report "non-denotable type" message on error types
2014-07-11 19:13:44 +04:00
Alexey Sedunov
f1445ba635
Extract Function: Improve container selection UI
2014-07-11 19:13:43 +04:00
Alexey Sedunov
1618d7448d
Extract Function: Improve rendering of error messages
2014-07-11 19:13:41 +04:00
Alexey Sedunov
4734be2065
Emphasize Kotlin PSI descriptions used in IDEA refactorings
2014-07-11 19:13:40 +04:00
Alexey Sedunov
7430f10e96
Extract Function: Extract ParametersInfo class
2014-07-11 19:13:38 +04:00
Alexey Sedunov
a6882f6670
Extract Function: Exclude unused parameters (jump-based control flow)
2014-07-11 19:13:37 +04:00
Alexey Sedunov
fde7e52bf0
Extract Function: Always assume default control flow if non-critical errors are found
2014-07-11 19:13:36 +04:00
Alexey Sedunov
59b33fcba4
Extract Function: Do not report "Moving out of scope" warning on nested declarations
2014-07-11 19:13:35 +04:00
Alexey Sedunov
52c107504d
Extract Function: Allow user to call the refactoring from conflict view
2014-07-11 19:13:34 +04:00
Alexey Sedunov
ac17594f67
Extract Function: Capitalize conflict messages
2014-07-11 19:13:33 +04:00
Alexey Sedunov
d95f6383b7
Extract Function: Allow to extract local variables which are used outside of extracted fragment
2014-07-11 19:13:32 +04:00
Alexey Sedunov
540e8b8b46
Extract Function: By default suggest only classes as containers when
...
etracting to class body
2014-07-11 19:13:31 +04:00
Alexey Sedunov
18b16ee0be
Extract Function: Use Any? as default parameter type
2014-07-11 19:13:29 +04:00
Alexey Sedunov
181d8d8176
Extract Function: Improve "Extract Function" dialog
2014-07-11 19:13:28 +04:00
Alexey Sedunov
e792b3f1db
Pseudocode: Do not store "synthetic" flag of magic instructions
2014-07-11 19:13:27 +04:00
Alexey Sedunov
0a8fa404bf
Pseudocode: Generate additional returns for implicit return values (lambdas, functions with expression bodies)
2014-07-11 19:13:26 +04:00
Alexey Sedunov
3e3918ab6e
Extract Function: Keep track of original parameter descriptors
2014-07-11 19:13:25 +04:00
Alexey Sedunov
09a1a8ce8f
Extract Function: Support extraction of expressions in delegation
...
specifiers
2014-07-11 19:13:22 +04:00
Alexey Sedunov
1c75a5f642
Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause
2014-07-11 19:13:21 +04:00
Alexey Sedunov
523beab902
Pseudocode: Use value usage map to decide if expression is effective statement
2014-07-11 19:13:19 +04:00
Alexey Sedunov
02342fce5d
Pseudocode: Store lazily computed value usage map in the pseudocode
2014-07-11 19:13:18 +04:00
Alexey Sedunov
30192b4c40
Extract Function: Do not extract into lambda
2014-07-11 19:13:17 +04:00
Alexey Sedunov
0c49d48a48
Extract Function: Add support of initializer expressions
2014-07-11 19:13:16 +04:00
Evgeny Gerashchenko
026bc05a86
Fixed @Nullable annotation.
2014-07-11 15:39:20 +04:00
Evgeny Gerashchenko
42e3ad3ccf
Reused utility method getDirectMember.
2014-07-11 14:54:12 +04:00
Evgeny Gerashchenko
708816f09c
Fixed generating method calls from same module when inlining.
2014-07-11 14:54:12 +04:00
Valentin Kipyatkov
6f1bdd1227
Java to Kotlin converter: added blank line between main method and class
2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
fea36048f5
Java to Kotlin converter: better and more correct code
2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
3765a67a72
Java to Kotlin converter: removed unused class
2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
bf952198b5
Java to Kotlin converter: refactoring
2014-07-10 23:20:40 +04:00
Valentin Kipyatkov
8a7639e233
Java to Kotlin converter: used standard utility for main method detection
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
d5f0af15c3
Java to Kotlin converter: fixed some bugs in switch statement conversion
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
2df60a27c8
Better code for change variable mutability fix
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
b983a0eaa0
Fixed KT-5204 Converter from java could generate var's for locals when needed
...
#KT-5204 Fixed
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
acc58173da
Java to Kotlin converter: added auto-conversion run of Kotlin analyzer. Implemented first fix with it - redundant !! removal
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
69a5b79342
J2K: minor code improvements
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
46d6ba3340
Java to Kotlin converter: special conversion of some Collections methods
2014-07-10 23:20:39 +04:00
Valentin Kipyatkov
9bd742472d
Fixed KT-5339 J2K: convert Objects.equals to == and !=
...
Mock JDK regenerated to add java.util.Objects
#KT-5339 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
514f11695f
Java to Kotlin converter: explicit locals type option is used for for variable too
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
d3a1fa6b9a
KT-5405 J2K: convert for's through indices of some list or array into use of ".indices" + fixed a bug in for-statement conversion
...
#KT-5405 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
5c688e9916
Fixed KT-5433 J2K: incorrect conversion of method call with vararg
...
#KT-5433 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
fe46b40220
Java to Kotlin converter: no special logic for returns in try-with-resource is needed anymore
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
2ebaab867d
Fixed KT-5434 J2K: incorrect conversion of main method
...
#KT-5434 Fixed
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
28e003e79f
Java to Kotlin converter: code refactoring
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
139b7cdd27
Java to Kotlin converter: moved code of switch statement conversion into separate class
2014-07-10 23:20:38 +04:00
Valentin Kipyatkov
8d290ee127
Java to Kotlin converter: better switch conversion in case of code block in case
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
3ccd8839ff
Java to Kotlin converter: refactoring and fixing switch conversion
...
#KT-5390 Fixed
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
6bd5a12498
Java to Kotlin converter: minor refactoring of switch conversion + no need for empty else
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
e84c753e99
Fixed KT-5396 J2K: properly format "else if" on conversion
...
#KT-5396 Fixed
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
88235c3eb2
Minor code corrections after code review
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
330c41fc61
Java to Kotlin converter: code refactoring
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
f8261a8b6e
Java to Kotlin converter: fixed two similar bugs
2014-07-10 23:20:37 +04:00
Valentin Kipyatkov
806cc1e434
Java to Kotlin converter: do not drop exceptions, produce internal error!
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
3c42933f96
Java to Kotlin converter: fixed exception on conversion
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
13f40e5b0d
Java to Kotlin converter: constructor overloads to default parameter values conversion
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
e86d74600d
Java to Kotlin converter: access modifiers of factory functions + factory functions for nested classes
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
3c34197bc0
Java to Kotlin converter: base class parameters detection logic moved into ConstructorConverter too
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
e997557ba1
Java to Kotlin converter: refactored code to perform primary constructor detection only once
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
c260eee9b8
Java to Kotlin converter: moved primary constructor detection logic into ConstructorConverter
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
a58141b576
Java to Kotlin converter: code refactoring
2014-07-10 23:20:36 +04:00
Valentin Kipyatkov
66005a3469
Java to Kotlin converter: secondary constructors are converted to top-level functions instead of "create" functions in class object
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f698ca69d7
Java to Kotlin converter: more correct detection of primary constructor + constructor chains are supported (not completely correct code generated yet)
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
9d1452bbbc
Java to Kotlin converter: minor code refactoring
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
0b7ef4debf
Java to Kotlin converter: do not initialize non-val's in artificial primary constructor - it often produced stupid code
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f8a412aea0
Java to Kotlin converter: do not generate default field initializer when it's incorrect anyway
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
44c706eb3e
Java to Kotlin converter: generate nullable type for private non-initialized fields
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f8e4ecfa94
Java to Kotlin converter: fixed bugs with reference conversion in secondary constructors
2014-07-10 23:20:35 +04:00
Valentin Kipyatkov
f277285d9a
Java to Kotlin converter: minor
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
3ebc8046a9
Java to Kotlin converter: refactored code moving all knowledge about factory function internals into ConstructorConverter
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
1e15727387
Java to Kotlin converter: refactored code moving dealing with constructors from Converter to ConstructorConverter
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
e76c3d4e9e
Java to Kotlin converter: no intermediate __ variable in factory function if body is simple
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
467ca77854
Java to Kotlin converter: fixed bug with secondary constructor conversion
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
0edd9d24be
Java to Kotlin converter: refactoring working with constructors (in progress)
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
b7bcb0d9e3
Java to Kotlin converter: keep more than one blank line from original code
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
5a5e553367
Java to Kotlin converter: do not generate redundant parenthesis for empty constructor parameters
2014-07-10 23:20:34 +04:00
Valentin Kipyatkov
947bf3c0ed
Java to Kotlin converter: keep original placement of primary constructor body + better preserving of comments for constructor
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
88bdbb02f4
Fixed test data
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
8512eac768
Fixed KT-5315 J2K: Generate local var when parameter is being assigned
...
#KT-5315 Fixed
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
427280a365
Java to Kotlin converter: added heuristics that values of types like Integer are likely nullable
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
30a7c67aaa
Java to Kotlin converter: fixed crash in converter + more correct auto insertion of !!
...
#KT-851 Fixed
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
d3b773c0cd
Java to Kotlin converter: declaring locals as var's in most of cases when needed, dropped forceLocalVariableImmutability setting
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
63ebfe2c03
Java to Kotlin converter: more correct logic for specifying field type
2014-07-10 23:20:33 +04:00
Valentin Kipyatkov
6e473506fc
Java to Kotlin converter: specify local variable type when necessary
...
#KT-5277 Fixed
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
73ba1af779
Java to Kotlin converter: minor code refactoring
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
a99f6f3774
Java to Kotlin converter: honor external Nullable/NotNull annotations
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
f8fef59654
Java to Kotlin converter: checking that no element prototype assignment forgotten + no memory leaks through singleton Element instances
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
4f27dd63b5
Java to Kotlin converter: minor code corrections after review
2014-07-10 23:20:32 +04:00
Valentin Kipyatkov
52994d69ca
Java to Kotlin converter: fixed conversion of access to Kotlin property declared as constructor parameter
2014-07-10 23:20:32 +04:00
Alexander Udalov
51ecfe2a09
Don't fail on a bad Retention annotation in light classes
...
#KT-5450 Fixed
No new tests added because it seems there are no tests on highlighting which
cause light class generation, where the original error occurred
2014-07-10 20:30:47 +04:00
Alexander Udalov
0e758b97f7
Minor, delete outdated comments and refine type
2014-07-10 20:30:47 +04:00
Alexander Udalov
242376550c
Minor, beautify code in StackValue.CallReceiver
2014-07-10 20:30:46 +04:00
Alexander Udalov
f1b199f6c4
Minor, add assertion message to CodegenContext
2014-07-10 20:30:46 +04:00
Alexander Udalov
947c9fb1bf
Minor, rename "inner" -> "nested" in tests
2014-07-10 20:30:45 +04:00
Alexander Udalov
dec5a80cdb
Refine type of CalculatedClosure#superCall
...
Instead of PSI, store the actual resolved call
2014-07-10 20:30:45 +04:00
Alexander Udalov
780fb78529
Avoid duplicate synthetic parameter marking in FunctionCodegen
2014-07-10 20:30:44 +04:00
Alexander Udalov
374d50609d
Inline ExpressionCodegen#pushMethodArguments, drop "skipLast" hack
2014-07-10 20:30:40 +04:00
Alexander Udalov
2bdf1a4290
Introduce an abstract ArgumentGenerator in ExpressionCodegen
2014-07-10 20:30:39 +04:00
Alexander Udalov
d95cb82f36
Don't use ExpressionCodegen's internals in MonitorInstruction
2014-07-10 20:30:39 +04:00
Alexander Udalov
f425adfb71
Minor cleanup in ExpressionCodegen#pushMethodArguments
2014-07-10 20:30:35 +04:00
Alexander Udalov
fc89424295
Minor corrections in JVM codegen
...
- use mapSignature instead of mapToCallableMethod where possible
- use resolvedCall where possible
- fix some warnings and style issues
2014-07-10 18:45:41 +04:00
Zalim Bashorov
2947963e67
IDEA plugin: fixed highlighting for objects.
2014-07-10 17:25:43 +04:00
Zalim Bashorov
2ee818f784
Minor in IDEA plugin: jet -> kotlin in JetBundle.properties
2014-07-10 17:25:42 +04:00
Zalim Bashorov
c51b653b31
Minor: fixed tests.
2014-07-10 17:25:42 +04:00
Zalim Bashorov
189080e624
JVM backend: fixed the getting Unit instance -- Unit.VALUE -> Unit.instance$.
2014-07-10 17:25:42 +04:00
Zalim Bashorov
3ef624f121
Builtins: made Unit object.
2014-07-10 17:25:42 +04:00
Pavel V. Talanov
915bb208f0
Add test for failing assertion in JetPropertyStub.createStub
...
Test for eec6fbb205
Delayed because test data was causing reindex of the whole project
2014-07-10 15:58:03 +04:00
Evgeny Gerashchenko
479711e812
Moved current incremental compiler test data into subdirectory.
...
Tweaked test generator to avoid creating test methods for parent directory of tests.
2014-07-10 15:05:20 +04:00
Evgeny Gerashchenko
829c25bcf9
Not writing compiler script path when in JPS plugin output.
...
XML script is removed after JPS plugin session anyway, so it's usually hard to check its contents. Also, it is redundant since -printArgs will write it anyway, so there is still possibility to debug.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
9206bfb68f
Not writing compiler arguments from JPS plugin by default.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
c4573b8c5a
Got rid of ModuleDescription intermediate entity.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
40703c125c
Made it possible to run incremental compiler from IDEA.
...
Two guava functions used were replaced with custom tiny functions, because JPS plugin won't have guava in classpath.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
7212597e61
Optimized KotlinBuilder for targets without Kotlin. Checking dirty/removed files only.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
0a3d852336
Minor. Renamed test data to avoid repetitions.
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
55ed0471b6
KT-4980 'Remove braces' intention throws NPE for a for-loop with variable declaration
...
#KT-4980 fixed
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
86d2565700
Added test for KT-4827 UOE at PackageType.throwException()
...
#KT-4827 obsolete
#EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
8842bb574c
KT-5397 Simplify text of DeMorgan law conversion intentions
...
#KT-5397
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
62bb3f8782
Renamed CodeTransformationTest -> IntentionTest.
2014-07-10 15:05:18 +04:00
Evgeny Gerashchenko
fda7aeecfb
Simplified CodeTransformationTest. Only one doTest method remains, intention class is moved to test data. Merged other intention tests (SpecifyTypeExplicitlyTest, ConvertToBlock/ExpressionBodyTest) into this one.
2014-07-10 15:05:17 +04:00
Evgeny Gerashchenko
b1003fc034
Extracted test for "Join Lines" from CodeTransformationsTest.
2014-07-10 15:05:17 +04:00
Michael Bogdanov
ea20073d4b
Fix error message
2014-07-10 14:19:35 +04:00
Pavel V. Talanov
ab07aea82f
Fix an NPE in VirtualFileKotlinClassFinder#findKotlinClass(JavaClass)
...
Happens for nonphysical PsiClass
2014-07-10 14:08:14 +04:00
Pavel V. Talanov
f0e91182da
Minor: Remove context parameter from getContainingFile() utility and move it to DescriptorToSourceUtils
2014-07-09 21:46:28 +04:00
Pavel V. Talanov
119e361b4b
Restore check in BuiltInsReferenceResolver
...
Erroneously deleted in d988256831
2014-07-09 21:43:02 +04:00
Pavel V. Talanov
3c48d0dec2
Fix usage of utility in KDoc
2014-07-09 19:08:32 +04:00
Pavel V. Talanov
16aefae602
Move descriptorToDeclaration utilities family to a separate util class DescriptorToSourceUtils
2014-07-09 19:07:26 +04:00
Pavel V. Talanov
8523e18afc
Set source elements for java annotation parameters
2014-07-09 18:19:40 +04:00
Pavel V. Talanov
930ea88e25
Set source elements for java enum entries
...
#KT-4277 Fixed
2014-07-09 18:19:39 +04:00
Pavel V. Talanov
4188bbe53c
Set source elements for java parameters
2014-07-09 18:19:38 +04:00
Pavel V. Talanov
8b91855fac
Drop SynthesizedCallableMemberDescriptor
2014-07-09 18:19:37 +04:00
Pavel V. Talanov
d988256831
Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family
2014-07-09 18:19:36 +04:00
Pavel V. Talanov
723b3d75c9
Rewrite BindingContextUtils.descriptorToDeclaration utilities family to use SourceElement for getting PSI
...
Remove DESCRIPTOR_TO_DECLARATION context key
2014-07-09 18:19:35 +04:00
Pavel V. Talanov
59e43020c3
Initial version of storing SourceElements in descriptors
...
Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
2014-07-09 18:19:34 +04:00
Andrey Breslav
e3b1639edf
KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
...
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Michael Bogdanov
b1065520fb
Skip visitEnd in InliningInstructionAdapter
2014-07-09 09:48:17 +04:00
Michael Bogdanov
6ddeb85c00
Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function
2014-07-09 09:46:28 +04:00
Svetlana Isakova
24e20b2dcf
Invoke call resolver extension in CallCompleter
...
so it is called after outer call is resolved (for calls in arguments)
2014-07-08 15:42:19 +04:00
Svetlana Isakova
62cb0d0baf
Added util 'getParentResolvedCall', 'strict' parameter
2014-07-08 14:57:41 +04:00
Svetlana Isakova
e62b4cfb5f
Invoke 'Add name to argument fix' not only on simple name callee expressions
2014-07-08 14:57:40 +04:00
Svetlana Isakova
cec01237d0
Added test for labeled delegated expression
2014-07-08 14:57:40 +04:00
Svetlana Isakova
51a979d5f0
Refactoring: do not duplicate 'instructionElement' (old 'calleeExpression') as a parameter
...
to 'builder.call()' and 'builder.read()' methods
2014-07-08 14:57:39 +04:00
Svetlana Isakova
6988725207
Refactoring: remove 'call' argument
...
when it can be taken from resolved call
2014-07-08 14:57:39 +04:00
Svetlana Isakova
53ee30992b
Record resolved call on call (not on element)
2014-07-08 14:57:38 +04:00
Svetlana Isakova
aa26db0538
Updated tests for control flow: call instruction stores call element
...
instead of callee expression
2014-07-08 14:57:38 +04:00
Svetlana Isakova
72e9822d99
All RESOLVED_CALL getters replaced with util methods
...
JetElement.getResolvedCall(BindingContext)
JetElement.getResolvedCallForSure(BindingContext)
2014-07-08 14:57:37 +04:00
Svetlana Isakova
e1fb5a9a04
Added 'isExternal' to ValueArgument
...
'subject' is external for 'in(contains)' resolve in 'when' condition:
when (subject) {
in range -> ...
}
2014-07-08 14:48:20 +04:00
Svetlana Isakova
ae8757f6b8
Added tests on resolved call for 'this'
2014-07-08 14:48:20 +04:00
Svetlana Isakova
dd95439767
Do not update recorded type if it hasn't changed
...
It's important for argument that has a type that shouldn't be updated.
Like '(b)' in 'a == (b)', which type is 'Any' (for proper 'equals' resolve).
Type for 'b' shouldn't be updated to 'Any' as well.
2014-07-08 14:48:20 +04:00
Svetlana Isakova
48511206ad
Mark required call with 'caret' in abstract resolved calls test
2014-07-08 14:48:19 +04:00
Svetlana Isakova
29ab166e1b
Refactoring: AbstractResolvedCallsTest
...
Render resolved call to a separate file
2014-07-08 14:48:19 +04:00
Svetlana Isakova
b2c2e1811c
Check 'isDirty' for resolved calls replaced with check 'hasUnresolvedArguments' for call
...
Don't report 'cannotCompleteResolve' error if some arguments are unresolved (like 'ambiguity')
2014-07-08 14:48:19 +04:00
Svetlana Isakova
a3e306b820
Update recorded type for argument in parentheses correctly
2014-07-08 14:48:18 +04:00
Svetlana Isakova
12ddf76df4
Changed order in call completer
...
update resolution status (and report error) after completing all arguments
2014-07-08 14:48:18 +04:00
Svetlana Isakova
c204ae2da1
Record argument to parameter map at the beginning
...
(separately from argument match status)
2014-07-08 14:48:18 +04:00
Svetlana Isakova
f24442b90e
Added ArgumentMatchStatus.MATCH_MODULO_UNINFERRED_TYPES
2014-07-08 14:48:17 +04:00
Svetlana Isakova
857aa76cff
Added tests for argument mapping
2014-07-08 14:48:17 +04:00
Svetlana Isakova
8dc932fc50
Refactoring: inlined method 'setInitialDataFlowInfo'
2014-07-08 14:48:17 +04:00
Svetlana Isakova
ec0fa1b765
Rewrote 'isDirty' in terms of argument to parameter match status
...
Added ArgumentMatchStatus
2014-07-08 14:48:16 +04:00
Svetlana Isakova
ad5fc4cd05
Removed duplication in MutableResolvedCall interface
...
'hasIncompleteTypeParameters()' is the same as 'getConstraintSystem() != null'
2014-07-08 14:48:16 +04:00
Svetlana Isakova
6ffb02ae0d
Removed unused methods
2014-07-08 14:48:16 +04:00
Svetlana Isakova
11fbe375fa
Logic of completing call rewritten in CallCompleter
...
Changed interface ResolutionResultsCache
2014-07-08 14:48:15 +04:00
Svetlana Isakova
06a257025f
Added NotNull annotations
2014-07-08 14:48:15 +04:00
Svetlana Isakova
02f5293b3d
Added CallCompleter component
...
Regenerated injectors
2014-07-08 14:48:15 +04:00
Svetlana Isakova
05e5f2437e
Use Call instead of CallKey as a map key in ResolutionResultsCache
2014-07-08 14:48:14 +04:00
Alexander Udalov
17a6c1fd54
Minor, fix typo
2014-07-07 18:44:54 +04:00
Alexander Udalov
71cd7838d2
Move/inline enum class object related methods in DescriptorUtils
2014-07-07 18:33:31 +04:00
Alexander Udalov
e502d8dcc6
Remove JetScopeAdapter
2014-07-07 18:15:32 +04:00
Alexander Udalov
64512ae87b
Move writable scope implementations to 'frontend'
2014-07-07 18:15:31 +04:00
Alexander Udalov
b9fd52739f
Move around some descriptor implementations
...
- mutable class, mutable package fragment and their dependencies go to module
'frontend'
- ModuleDescriptorImpl and PackageFragmentDescriptorImpl are moved to the
package "impl" in their module
2014-07-07 18:15:31 +04:00
Alexander Udalov
bf45a3590b
Use a specialized scope in EnumClassObjectDescriptor
...
Instead of WritableScopeImpl
2014-07-07 18:15:30 +04:00
Alexander Udalov
6e5339ad3c
Move values/valueOf creation logic to EnumClassObjectDescriptor
2014-07-07 18:15:29 +04:00
Alexander Udalov
7773375019
Use EnumClassObjectDescriptor in lazy resolution
2014-07-07 18:15:28 +04:00
Alexander Udalov
db3e5ed678
Use EnumClassObjectDescriptor in TypeHierarchyResolver
2014-07-07 18:15:28 +04:00
Alexander Udalov
de21f76e10
Introduce EnumClassObjectDescriptor
...
Extract the duplicate logic in deserialization and descriptor.loader.java
2014-07-07 18:15:27 +04:00
Alexander Udalov
8efeb3ac6a
Move script descriptor implementation to frontend
2014-07-07 18:15:27 +04:00
Evgeny Gerashchenko
42cba1cc3c
Ignoring not static final fields.
...
Added tests with class object of trait and val inside object.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
aa9384a207
Made constants and inline functions maps class-file based. Otherwise data for different class files was overwritten: e.g. several classes in file, class and top-level callables in one source file.
...
Extracted superclass with common parts.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
f8ac8f727e
Merged tests with inline functions in class and in package.
...
Now this test also checks situation when several class files with inline functions are emitted from one source file.
2014-07-07 17:41:38 +04:00
Evgeny Gerashchenko
ca647a9ff4
Expanded test with constants unchanged. Now it has class-level and package-level constants mixed in one file.
2014-07-07 17:41:38 +04:00
Evgeny Gerashchenko
11af8ed616
Added test with constant in class object.
2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
2ac351928e
Minor. Renamed parameter and corresponding variable.
2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
aa9f7a73c9
Inline function changed – rebuild all chunk.
2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
6f8d9f6ed9
Minor. Reused join() instead of makeString()
2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
7ef5c75f26
Supported inlining functions which access properties via field.
2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
2259cc605f
Preserving annotations in incremental compilation.
2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
6c8a9ba378
Basic detection for bytecode of inline functions in incremental compilation.
...
Basic rule is: bytecode of inline function changed -> recompile everything.
2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
6501066274
Added hacky checks for accessing compiled functions from our module via package part instead of facade.
...
#KT-4590 fixed
2014-07-07 17:41:34 +04:00
Evgeny Gerashchenko
55a2e8edf8
Added debug flag for class files comparison.
2014-07-07 17:41:34 +04:00
Evgeny Gerashchenko
11c51cf2a8
Fixed incremental compilation for removed files.
2014-07-07 17:41:33 +04:00
Zalim Bashorov
909a30c279
Minor: added description for some(frequently used) ant targets to avoid hiding them in IDEA.
2014-07-07 15:50:31 +04:00
Evgeny Gerashchenko
e01d80e830
Not building kotlin-for-upsource.jar on running 'dist'
2014-07-07 11:48:03 +04:00
Michael Bogdanov
48d92b9bbc
Analyzer Frame patching cause exception on void non local returns
2014-07-07 10:51:47 +04:00
Michael Bogdanov
14788213a2
Annotation parameter processing util
2014-07-07 10:51:47 +04:00
Michael Bogdanov
6b34035455
Avoid exceptions in test setUp cause tearDown would not be invoked
2014-07-07 10:51:47 +04:00
Michael Bogdanov
a1a205a3db
Stdlib update due ONLY_LOCAL_RETURN diagnostic
2014-07-07 10:51:46 +04:00
Michael Bogdanov
ce71c5abde
Test update for new ONLY_LOCAL_RETURN diagnostic
2014-07-07 10:51:46 +04:00
Michael Bogdanov
da01a11137
New diagnostic for non-local return annotation
2014-07-07 10:51:46 +04:00
Michael Bogdanov
8092717da4
Support non local return generation, support non local return inlining
2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
02c6bdeaa3
Inline test data structure changed
2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
b37c0d3fff
Some renaming
2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
30ddbb0682
Parameter processing rewrote with parameter builder
...
Split capture parameter descriptor and it representation
2014-07-07 10:51:46 +04:00
Andrey Breslav
98e87f2f95
Removing unneeded "public override val" from constructors across the project
...
#KT-4295 Fixed
2014-07-05 18:31:55 +04:00
Andrey Breslav
caec40b3a8
Fix test data
2014-07-05 18:31:55 +04:00
Andrey Breslav
06d060d5de
KT-4295 Wrong diagnostic about "weaken access privilege" when override properties in constructor
...
#KT-4295 Fixed
2014-07-05 17:47:00 +04:00
Alexey Kudravtsev
5489ae08da
Make Kotlin accessible for UpSource.
...
Extracted some initialization of JetCoreEnvironment.
2014-07-04 17:12:29 +04:00
Alexey Kudravtsev
28c29dbfde
Build jar for upsource
2014-07-04 17:12:26 +04:00
Pavel V. Talanov
23c9080ff3
Drop MigrateSureInProjectFix
2014-07-03 20:46:53 +04:00
Pavel V. Talanov
9c46f053b6
Change PluginJetFilesProvider.allFilesInProject to a simpler implementation
2014-07-03 20:46:52 +04:00
Pavel V. Talanov
0f5de48157
Drop JetFilesProvider service
2014-07-03 20:46:51 +04:00
Pavel V. Talanov
0a43c38bae
Change AnalyzerFacade#createSetup to accept a list of synthetic files and a scope for physical source files
...
Make DeclarationProviderFactory a project service
2014-07-03 20:46:50 +04:00
Pavel V. Talanov
f7351a72de
Simplify KotlinCacheService#isFileInScope()
2014-07-03 20:46:49 +04:00
Pavel V. Talanov
f4bd022907
Do not use JetFilesProvider in PositionManagerTestCase
2014-07-03 20:46:48 +04:00
Pavel V. Talanov
9b5f349e61
Drop JetFilesProvider#allPackageFiles() and sampleToAllFilesInModule()
2014-07-03 20:46:47 +04:00
Pavel V. Talanov
6e82a046e2
JetPositionManager#prepareTypeMapper() does not use JetFilesProvider
2014-07-03 20:46:46 +04:00
Pavel V. Talanov
9f9ddbebf4
DebuggerUtils#findSourceFileForClass() doesn't use JetFilesProvider
2014-07-03 20:46:46 +04:00
Pavel V. Talanov
b2c3a7d501
Rename: DescriptorDeserializersStorage -> DescriptorLoadersStorage
2014-07-03 20:46:45 +04:00
Pavel V. Talanov
b08cda8dd6
Avoid recomputing ClassData in DeserializedDescriptorResolver
2014-07-03 20:46:44 +04:00
Pavel V. Talanov
e7d6ea6be5
Remove hack in JavaClassDataFinder
2014-07-03 20:46:43 +04:00
Pavel V. Talanov
123523d1dc
Drop ClassDataFinder#getClassNames()
2014-07-03 20:46:42 +04:00
Pavel V. Talanov
0c8956a36e
Refactor: DescriptorFinder -> ClassDataFinder
...
Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
2014-07-03 20:46:41 +04:00
Pavel V. Talanov
53337f793b
Move caching of deserialized classes to new component ClassDeserializer
...
Drop AbstractDescriptorFinder
2014-07-03 20:46:40 +04:00
Pavel V. Talanov
6683173f67
Refactor: Extract deserialize class to context
2014-07-03 20:46:39 +04:00
Pavel V. Talanov
348de193b4
Drop DescriptorFinder.EMPTY
2014-07-03 20:46:38 +04:00
Pavel V. Talanov
55ae3cab19
Drop DependencyClassByQualifiedNameResolver and implementation
2014-07-03 20:46:37 +04:00
Pavel V. Talanov
245919d691
Use module to resolve annotation classes in AnnotationDescriptorLoader
2014-07-03 20:46:36 +04:00
Pavel V. Talanov
d961d17cd4
Fix DeserializerForDecompiler: create package fragment provider for missing dependencies
2014-07-03 20:46:35 +04:00
Pavel V. Talanov
6c153a9ce2
Resolve classes in Deserialization locally
...
Temporary hacky solution
2014-07-03 20:46:34 +04:00
Pavel V. Talanov
7ee7047753
Deserializer: use module to search for dependencies in TypeDeserializer
2014-07-03 20:46:33 +04:00
Pavel V. Talanov
a66353dbc4
JavaDescriptorFinder#getClassNames() returns empty list
...
All classes are included in JavaPackageFragmentScopeForJavaPackageFragment anyway
2014-07-03 20:46:32 +04:00
Evgeny Gerashchenko
f4514b044e
Reverted wildcard resource pattern.
...
Avoid kt sources in out directory (and in plugin artifact).
2014-07-03 19:22:20 +04:00
Andrey Breslav
6422bafb7a
More tests for synchronized() {}
2014-07-03 18:39:57 +04:00
Andrey Breslav
90690e0711
KT-4825 Implement "synchronized" properly via monitorenter/monitorexit
...
#KT-4825 Fixed
2014-07-02 22:05:45 +04:00
Alexander Udalov
c0fc5cfb53
Disallow named arguments for SAM adapters
...
SAM adapters are Java functions, and named arguments are not allowed for Java
functions
#KT-5022 Fixed
2014-07-02 20:35:31 +04:00
Andrey Breslav
6e1047685c
Fix EA-57538 - assert: IDELightClassGenerationSupport.getContextForPackage
2014-07-02 19:48:09 +04:00
Alexander Udalov
a78458b1d0
Update ReadMe after switching to IDEA 14
2014-07-02 19:10:31 +04:00
Andrey Breslav
3042846a20
Fix update_dependencies.xml on mac
2014-07-02 18:53:07 +04:00
Natalia Ukhorskaya
09e8d0dd66
Gradle plugin: unable to build project in multi flavor environment with gradle 0.11+
...
#KT-5348 Fixed
2014-07-02 14:17:50 +04:00
Andrey Breslav
1d45d20099
Change inspections' level to "WEAK WARNING" + disable "Explicit 'get'" by default
2014-07-02 14:02:47 +04:00
Nikolay Krasko
465dd45eae
Merge remote-tracking branch 'origin/master' into idea14
2014-07-02 09:21:40 +04:00
Alexander Udalov
36f7cc742f
Introduce NoSuchPropertyException and IllegalAccessException
...
No new tests added because it's difficult to model a situation where a
::-access is allowed but the code throws these exceptions at runtime
2014-07-02 01:58:22 +04:00
Alexander Udalov
a84d528325
Improve performance of $kotlinClass field initializer
...
Don't load annotations reflectively in each class' <clinit>
2014-07-02 01:55:56 +04:00
Alexander Udalov
bc8bce7ca1
Provide "toString" for reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
c5d92cc03e
Provide "equals" and "hashCode" for reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
704de8992e
Support mapping between Java and Kotlin reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
c575ad9fb0
Fix test, remove duplicate annotation
...
It started to fail only now because KClassImpl constructor is now loading
class' annotations (previously annotations weren't loaded by Java reflection)
2014-07-02 01:55:54 +04:00
Alexander Udalov
f459005fe7
Fix GeneratedClassLoader so that it loads Package instances
2014-07-02 01:55:54 +04:00
Alexander Udalov
a38a396a43
Remove default import "kotlin.reflect"
...
Basic reflection is usable without any imports (with :: literals)
This reverts commit 9503056dd5 .
2014-07-02 01:55:53 +04:00
Alexander Udalov
d32a02f21a
Modify top-level/extension property hierarchy
...
- rename KTopLevelProperty to KTopLevelVariable
- create KTopLevelExtensionProperty, a subclass of KExtensionProperty
- create KTopLevelProperty, a superclass of KTopLevelVariable and
KTopLevelExtensionProperty. (In the future, it will have a container of type
KPackage.)
2014-07-02 01:55:53 +04:00
Alexander Udalov
f73b8b9ff8
Extract KForeignMemberProperty out of KMemberPropertyImpl
...
KClassImpl is now able to create a property by the name, according to its
origin
2014-07-02 01:55:52 +04:00
Alexander Udalov
9c5596cddb
Expose Java reflection objects out of Kotlin ones
2014-07-02 01:55:52 +04:00
Alexander Udalov
1ad037f621
Fix KClassOrigin for non-Kotlin classes
...
Check against presence of KotlinClass annotation
2014-07-02 01:55:21 +04:00
Alexander Udalov
8b619eceed
Make KMemberProperty's T parameter have a non-null bound
2014-07-02 01:26:25 +04:00
Alexander Udalov
7cbbeb257e
Add NotNull annotations to HashPMap
2014-07-02 01:26:25 +04:00
Alexander Udalov
e60428b540
Improve performance of foreignKClasses, add comments
2014-07-02 01:26:24 +04:00
Alexander Udalov
0fa6b40731
Make intermediate *Impl properties traits, not classes
...
Otherwise multiple inheritance of classes would be needed to make
implementations inherit correctly for mutable properties
2014-07-02 01:26:24 +04:00
Alexander Udalov
ef7fbe55cf
Make KClass instances weak in foreignKClasses
2014-07-02 01:26:24 +04:00
Alexander Udalov
a86cfdc5de
Add some simple tests on HashPMap
2014-07-02 01:26:23 +04:00
Alexander Udalov
47b08af66c
Inline HashPMap entry's getter methods
2014-07-02 01:26:23 +04:00
Alexander Udalov
b00022ef1c
Add JetBrains license to HashPMap, remove obsolete author tags and javadocs
2014-07-02 01:26:23 +04:00
Alexander Udalov
41aa12d249
Remove unneeded dependency on ListIterator in ConsPStack
2014-07-02 01:26:22 +04:00
Alexander Udalov
862a785c11
Use pcollections' HashPMap instead of ConcurrentHashMap in reflection
2014-07-02 01:26:22 +04:00
Alexander Udalov
fca9a0bca2
Delete unneeded interface dependencies of HashPMap
...
To reduce class count and to avoid unneeded invokeinterface's
2014-07-02 01:26:22 +04:00
Alexander Udalov
d83df541b7
Remove unneeded code and beautify HashPMap and its dependencies
2014-07-02 01:26:21 +04:00
Alexander Udalov
58bc611e3a
Copy pcollections's HashPMap to kotlin/reflect/jvm/internal
...
It will be used for caching KClass instances for foreign (Java) classes
2014-07-02 01:26:21 +04:00
Alexander Udalov
89d6f25fb6
Fix initialization order of KClass field and class object fields
2014-07-02 01:26:21 +04:00
Alexander Udalov
c17f515d06
Construct reflection objects via static factory methods
...
JVM back-end now generates invocations of these methods instead of
KClass/K*Property/... constructors for two reasons:
1. It occupies less space in the bytecode
2. We can (to some degree) alter the implementation of the factory methods
without changing the ABI compatibility version
2014-07-02 01:26:20 +04:00
Alexander Udalov
e7f19c531a
Support 'accessible' for reflected properties on JVM
...
Calls Java reflection's isAccessible/setAccessible
2014-07-02 01:26:20 +04:00
Alexander Udalov
1275c84f92
Fail with IllegalAccessException on :: reference to private property
...
Instead of mysterious NoSuchMethodException
2014-07-02 01:26:20 +04:00
Alexander Udalov
a8e1de48b8
Support :: references to Java instance fields in codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
5ab83aad8a
Support references to extension properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
461cce103b
Support references to top level and member properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
59777e7df6
Generate "$kotlinClass"/"$kotlinPackage" reflection fields to every class
...
Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
2014-07-02 01:26:18 +04:00
Alexander Udalov
4ef089d2ed
Introduce KClass, KPackage and their JVM implementations
2014-07-02 01:26:18 +04:00
Alexander Udalov
aa4d6a4ea7
Support :: references to properties in frontend
...
#KT-1183 In Progress
2014-07-02 01:26:18 +04:00
Alexander Udalov
52dadfc264
Add test for obsolete issue
...
#KT-3311 Obsolete
2014-07-02 00:38:50 +04:00
Alexander Udalov
254a95ba1a
Improve non-null assertion messages
2014-07-02 00:38:50 +04:00
Alexander Udalov
d4c792d0ee
Fix errorlevel returned by kotlinc-*.bat scripts
...
Propagate errorlevel returned as an exit code from the compiler to the outside
world.
This may not work on Windows XP or earlier, but is required for Windows 7+
2014-07-02 00:38:49 +04:00
Nikolay Krasko
b92df2882c
Merge remote-tracking branch 'origin/master' into idea14
2014-07-01 20:06:09 +04:00
Natalia Ukhorskaya
47f4bbedda
Fix file separators in Codegen Tests on Windows
2014-07-01 12:17:01 +04:00
Nikolay Krasko
cab3161ad7
Add sdk field to Kotlin new project wizard step in Idea 14
...
#KT-5338 Fixed
2014-06-30 15:37:20 +04:00
Natalia Ukhorskaya
261ba0e364
Fix Android tests after renaming codegen tests with Java
2014-06-30 13:03:05 +04:00
Nikolay Krasko
3b02f0e422
Load default descriptor in debugger tests
2014-06-27 15:21:52 +04:00
Nikolay Krasko
d7474f2bc8
Update to idea 138.814 (EAP)
2014-06-27 15:15:28 +04:00
Nikolay Krasko
e7a1cba1eb
Merge remote-tracking branch 'origin/master' into idea14
...
Conflicts:
update_dependencies.xml
2014-06-27 14:44:05 +04:00
Nikolay Krasko
6095faed14
Make debugger tests work with Idea 14
2014-06-27 14:42:14 +04:00
Alexander Udalov
46da00a9a7
Minor, fix typo
2014-06-26 22:03:01 +04:00
Alexander Udalov
2ce4219b43
Add sensible "toString()" to kotlin.jvm.internal.Ref
...
No tests added because it's difficult to test: codegen always unwraps refs to
the objects they are referencing
#KT-5205 Fixed
2014-06-26 22:03:01 +04:00
Alexander Udalov
c56f397f71
Don't fail when "deprecated" doesn't have a message
...
EA-57345
2014-06-26 22:03:00 +04:00
Alexander Udalov
c18fd179a9
Get rid of intellij Pair in TypeUtils
2014-06-26 22:02:59 +04:00
Alexander Udalov
beb66e2247
Minor, don't intersect sets, use retainAll instead
2014-06-26 22:02:59 +04:00
Alexander Udalov
eb11a7dc88
Move utilities out of runtime modules
...
DescriptorUtils & DescriptorSubstitutor contained a lot of utilities that were
used only in compiler & IDE. Move them closer to their usages
2014-06-26 22:02:59 +04:00
Alexander Udalov
e04f7c24fa
Alias 'kotlinc' for 'kotlinc-jvm'
2014-06-26 22:02:58 +04:00
Alexander Udalov
e09052bb1d
Unmark dist/kotlinc/bin/*.bat as executable on Unix
2014-06-26 22:02:58 +04:00
Alexander Udalov
760fd73a0a
Don't launch REPL on "kotlinc-jvm -version"
...
#KT-3169 Fixed
2014-06-26 22:02:58 +04:00
Alexander Udalov
16ec4c3805
Minor, add path utility to codegen tests
2014-06-26 22:02:57 +04:00
Alexander Udalov
aea230d677
Introduce black box with Java codegen tests
...
In contrast to "black box against Java", it supports cyclic dependencies
between Java and Kotlin sources in one test case
2014-06-26 20:57:40 +04:00
Alexander Udalov
09863445bb
Rename tests: boxWithJava -> boxAgainstJava
2014-06-26 20:57:40 +04:00
Alexander Udalov
544cf4f28d
Rename JvmFunctionImplTypes -> JvmRuntimeTypes
...
Will be used for other JVM runtime types as well
2014-06-26 20:57:40 +04:00
Alexander Udalov
ac8eb0f5e8
Add PackageClassUtils.getPackageClassInternalName()
2014-06-26 20:57:39 +04:00
Alexander Udalov
059538ce1b
Extract kotlin-maven-plugin tests into a separate subproject
...
Because they need kotlin-runtime to run, which is built by kotlin-maven-plugin
2014-06-26 20:57:39 +04:00
Alexander Udalov
a9b2fd964b
Support nullable types on left-hand side of ::
...
#KT-1183 In Progress
2014-06-26 20:57:39 +04:00
Alexander Udalov
42991e05a1
Delete unjustified assert
...
It's ok to generate <clinit> in the light classes mode, it's not ok to generate
the code in it (currently there seems to be no sane way to assert that)
2014-06-26 20:57:39 +04:00
Alexander Udalov
e31f2cfa23
Make protected static visibility reach members in the same package
2014-06-26 20:57:39 +04:00
Alexander Udalov
80b7f88c60
Regenerate tests
2014-06-26 20:57:39 +04:00
Zalim Bashorov
5f3b00ad44
Update to IDEA 135.1146 EAP
2014-06-26 19:22:36 +04:00
Nikolay Krasko
efa60fc1a4
Merge remote-tracking branch 'origin/HEAD' into idea14
...
Conflicts:
idea/tests/org/jetbrains/jet/plugin/compilerMessages/JetCompilerMessagingTest.java
idea/tests/org/jetbrains/jet/plugin/compilerMessages/K2JSCompilerMessagingTest.java
2014-06-26 16:46:09 +04:00
Nikolay Krasko
a2fdfc714f
Update to idea 138.777
2014-06-26 16:43:13 +04:00
Zalim Bashorov
28228d23b1
JS stdlib: added missed constructors for HashSet, LinkedHashSet, HashMap and LinkedHashMap.
2014-06-26 16:33:14 +04:00
Zalim Bashorov
444932d4c1
JS backend: fixed wrong NPE when casting to generic type.
2014-06-26 14:55:56 +04:00
Zalim Bashorov
0d0751c3f9
Minor: JvmCodegenUtil#isNullableType -> TypeUtils#isNullableType
2014-06-26 14:55:56 +04:00
Alexey Sedunov
e73ee4bbd6
Minor: Replace deprecated function call
2014-06-26 13:06:25 +04:00
Alexey Sedunov
fa73c5825e
Minor: Remove unused parameter
2014-06-26 13:06:24 +04:00
Alexey Sedunov
f226d99d36
Pseudocode: Add valued instructions and unbound values to AbstractPseudoValueTest
2014-06-26 13:06:23 +04:00
Alexey Sedunov
21be468e6c
Pseudocode: Merge all access instructions into single file
2014-06-26 13:06:22 +04:00
Alexander Udalov
3f51338320
Save executable flag of kotlinc-jvm and kotlinc-js after zip archiving
2014-06-25 22:32:16 +04:00
Alexander Udalov
71262bdf14
Output to the current directory by default ("-output .")
2014-06-25 22:32:16 +04:00
Alexander Udalov
ca219f9880
Beautify kotlinc -help output
2014-06-25 22:32:16 +04:00
Alexander Udalov
5e994778d1
Add test on "kotlinc-js -help" output
2014-06-25 22:32:15 +04:00
Alexander Udalov
ebec9e961c
Use hand-written usage information printer
...
Copy-pasted from com.sampullara.cli.Args
2014-06-25 22:32:15 +04:00
Alexander Udalov
2144088627
Don't output full compiler FQ name on -printArgs
2014-06-25 22:32:14 +04:00
Alexander Udalov
f51e172570
Fix kotlinc command line usage information
...
Fix spelling, case, minor grammar
2014-06-25 22:32:14 +04:00
Alexander Udalov
d963ff31ae
Minor, don't fire up Swing thread in CLI tests
2014-06-25 22:32:14 +04:00
Alexey Sedunov
cd44bc3fb0
Introduce Variable: Do not compare explicit receivers using ReceiverValue
...
#KT-5319 Fixed
2014-06-25 19:08:04 +04:00
Alexey Sedunov
1452ffec6d
Find Usages: Classify package usages
...
#KT-4882 Fixed
2014-06-25 19:08:03 +04:00
Alexey Sedunov
86c8bfc864
Find Usages: Add support of searching by reference in AbstractFindUsagesTest
2014-06-25 19:08:01 +04:00
Alexey Sedunov
c2aa824242
Implement light method equality based on the original declarations
...
#KT-4350 Fixed
2014-06-25 19:08:00 +04:00
Alexey Sedunov
4d075b5437
Extract Function: Make nameForRef extension property (so that it's not overriden by delegation and parameter rename works properly)
2014-06-25 19:08:00 +04:00
Alexey Sedunov
15611da98b
Extract Function: Add header to parameter table
2014-06-25 19:07:59 +04:00
Alexey Sedunov
103daa841f
Extract Function: Simplify computation of return type by pseudocode instruction
2014-06-25 19:07:58 +04:00
Nikolay Krasko
44e41c5d96
Smart enter for do-while fixed
...
- Do not brake code if some expression parsed as body for bare "do"
- Fix isStatement() check
2014-06-25 17:45:37 +04:00
Nikolay Krasko
a0e45e9a12
Merge master into idea14
...
Conflicts:
.idea/runConfigurations/All_Tests.xml
idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt
idea/tests/org/jetbrains/jet/shortenRefs/AbstractShortenRefsTest.kt
2014-06-25 16:26:01 +04:00
Nikolay Krasko
3f2d65762b
Revert temporary commit "-- Attempt to fix completion for extensions"
...
This reverts commit b70f9cd675 .
2014-06-25 14:52:41 +04:00
Nikolay Krasko
fd4aeb75fc
Smart enter for one line statements in for, while and do-while
...
#KT-3600 In Progress
2014-06-25 14:23:00 +04:00
Nikolay Krasko
431f3ad185
Smart enter in function literal expression
...
#KT-3600 In Progress
2014-06-25 14:23:00 +04:00
Nikolay Krasko
d4ac3454ce
Smart enter for fun declaration
...
#KT-3600 In Progress
2014-06-25 14:22:59 +04:00
Nikolay Krasko
150ac0ab91
Smart enter for 'do-while' expression
...
#KT-3600 In Progress
2014-06-25 14:22:58 +04:00
Nikolay Krasko
56efcd15aa
Smart enter for 'when'
...
#KT-3600 In Progress
2014-06-25 14:22:58 +04:00
Nikolay Krasko
8fc60f93d3
Smart enter for 'for' expression
...
#KT-3600 In Progress
2014-06-25 14:22:57 +04:00
Nikolay Krasko
fab74d8092
Smart enter for while statement
...
#KT-3600 In Progress
2014-06-25 14:22:56 +04:00
Nikolay Krasko
693080acfc
Smart enter for if statement
...
#KT-3600 In Progress
2014-06-25 14:22:56 +04:00
Nikolay Krasko
b574e3bd4f
Refactoring: move function trimIndent
2014-06-25 14:22:55 +04:00
Nikolay Krasko
513ec93060
Formatting: Move '}' to next line in when
2014-06-25 14:22:55 +04:00
Nikolay Krasko
0716b09920
Fix errors in intentions after parser fixes
2014-06-25 14:22:54 +04:00
Nikolay Krasko
d8490ce2a6
Don't parse entries if left brace absent in 'when'
2014-06-25 14:22:53 +04:00
Nikolay Krasko
f36f1796d6
Fix recovery for 'for' expression
2014-06-25 14:22:53 +04:00
Nikolay Krasko
2571797411
Don't parse condition if there's no ( for if
2014-06-25 14:22:52 +04:00
Andrey Breslav
e06154c204
Don't compile runtime for each test run by default: only do it for All Tests
2014-06-25 12:52:47 +04:00
Ilya Ryzhenkov
1842d30567
Implement equals for NumberRange in JavaScript.
2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
ca7c3d7999
Set operations (distinct, union, intersect, subtract)
2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
132f2a5fa8
Improve performance for addAll with type check for Collection
2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
65da4cb2fb
Generalize zip(..) to merge(..) { t1, t2 -> ... }, add merge for maps.
2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov
f94b79fac3
Minor. Update reference to issue.
2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
4e4d0b448c
Minor. Cleanup test.
2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
516bae17d7
StringBuilder builder and appendln
2014-06-24 23:49:15 +04:00
Ilya Ryzhenkov
0717511abe
Substring and replace before/after first/last occurrence of delimiter.
2014-06-24 23:49:15 +04:00
Evgeny Gerashchenko
1ce0e6cd3e
Added exceptions for proguard: constants are used in JPS plugin.
2014-06-24 22:19:12 +04:00
Evgeny Gerashchenko
ca4ac43add
Added tests with class referenced from proto.
2014-06-24 22:18:19 +04:00
Evgeny Gerashchenko
8479ca76b0
Added clearing proto data in incremental cache.
2014-06-24 22:18:18 +04:00
Evgeny Gerashchenko
471e3e80f2
Minor. Fixed mixed up error messages in test.
2014-06-24 22:18:18 +04:00
Evgeny Gerashchenko
5c49eb0a54
Writing class names in proto map (to avoid ambiguities)
2014-06-24 22:18:17 +04:00
Evgeny Gerashchenko
fc7dceba5a
Clearing constants data when removing file.
2014-06-24 22:18:16 +04:00
Evgeny Gerashchenko
9dd627a23d
Removed ingoring files facility from incremental tests.
...
It is not necessary since script.xml are not generated in out directory anymore.
2014-06-24 22:18:16 +04:00
Evgeny Gerashchenko
ab442754d6
Changing lastModified manually in case when it wasn't changed after file overwriting.
2014-06-24 22:18:15 +04:00
Evgeny Gerashchenko
3ee92da6f0
Added test with all types of constants.
2014-06-24 22:18:14 +04:00
Evgeny Gerashchenko
bf442a9700
Fixed loading integral constants from compiled classes.
2014-06-24 22:18:13 +04:00
Evgeny Gerashchenko
111feb2574
Added tests with removing files and changing packages.
2014-06-24 22:18:11 +04:00
Evgeny Gerashchenko
7742755de4
Minor. Correct map with expected size creation.
2014-06-24 22:18:11 +04:00
zarechenskiy
0355b1bd53
Implement JavaTypeSubstitutor without PSI
2014-06-24 20:06:13 +04:00
Andrey Breslav
97b7768890
JetTypeChecker refactored: duplicate methods replaced by instance management
2014-06-24 19:13:01 +04:00
Andrey Breslav
cd28b216c1
Rename. INSTANCE -> DEFAULT in JetTypeChecker
2014-06-24 19:13:01 +04:00
Andrey Breslav
f26cad71d8
Useless final removed
2014-06-24 19:13:01 +04:00
Pavel V. Talanov
40a245a91f
Hack to filter out irrelevant actions in quick fix tests output
...
Needed because of different behaviour locally and on build server
2014-06-24 16:37:45 +04:00
Pavel V. Talanov
e3c170183e
Fix invalid usage of descriptorToDeclaration in QuickFixUtil
2014-06-24 16:37:44 +04:00
Pavel V. Talanov
41dd12d46b
Fix invalid usage of descriptorToDeclaration in QuickFixFactoryForTypeMismatchError
2014-06-24 16:37:44 +04:00
Svetlana Isakova
0673dc51d6
Test for KT-3162 More precise try-finally error marking
...
#KT-3162 Obsolete
2014-06-24 16:14:07 +04:00
Svetlana Isakova
6a4ccfd91d
Store copies of instruction only once
...
removed reference to 'original' instruction
2014-06-24 16:14:07 +04:00
Svetlana Isakova
ad83680666
Refactoring: changed methods order
2014-06-24 16:14:07 +04:00
Svetlana Isakova
e4a0651224
Added 'markedAsDead' flag to InstructionImpl
...
to be used in tests
2014-06-24 16:14:07 +04:00
Svetlana Isakova
8680ff4e88
Do not mark comment next to reachable child as unreachable
2014-06-24 16:14:06 +04:00
Pavel V. Talanov
eec6fbb205
Stubs: simplify JetStubElementType#shouldCreateStub()
2014-06-24 16:02:55 +04:00
Andrey Breslav
38d4ca5469
Do not generate @NotNull annotations on void- or primitive-returning methods
...
#KT-4834 Fixed
#KT-5255 Fixed
2014-06-24 15:54:11 +04:00
Valentin Kipyatkov
b6aff9e9ee
Java to Kotlin converter: added test data file back
2014-06-24 00:48:14 +04:00
Valentin Kipyatkov
9f100df85f
Java to Kotlin converter: deleted wrong test data file
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
e38b1b4fd8
Java to Kotlin converter: more cases when field can be declared as val
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
5a8ab41948
Java to Kotlin converter: declare private field with no writes as val
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
07bbab3ea0
Java to Kotlin converter: fixed bug
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
04e2d3da58
Java to Kotlin converter: no explicit type for private and internal fields when possible
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
9365741918
Renamed test data file
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
4e7c7fc625
Fixed KT-5299 J2K: When generating named this@type, do not insert FQN
...
#KT-5299 Fixed
2014-06-24 00:48:13 +04:00
Valentin Kipyatkov
c458993fed
Java to Kotlin converter: fixed bug with unnecessary "run { }" construct generated in loop body
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
0e9edb7487
Java to Kotlin converter: fixed a bug with incorrect assignment generation
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
a28e7b0872
Java to Kotlin converter: minor code refactorings after code review
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
6135ea5603
Java to Kotlin converter: minor code refactoring
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
5ac762034a
Java to Kotlin converter: correct nullability in signatures of overrides
...
#KT-5269 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
2188af2bf9
Java to Kotlin converter: do not produce incorrect "code blocks" which are actually parsed as lambda's in Kotlin
...
#KT-4670 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
116c27117f
Java to Kotlin converter: better comments preserving, never lose any comment
...
#KT-4489 Fixed
2014-06-24 00:48:12 +04:00
Valentin Kipyatkov
ef62600d5e
Java to Kotlin converter: big refactoring of code generation to never allow end of line comments to stick together with further code
...
#KT-4421 Fixed
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
8b5f169dd8
Java to Kotlin converter: new way of preserving comments and blank lines implemented (not completely though)
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
d01a2237b5
Java to Kotlin converter: working on not loosing comments - CommentConverter is passed when converting to Kotlin
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
c4bac83cc9
Java to Kotlin converter: working on not loosing comments - Element made Class instead of Trait
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
600446bbd2
Java to Kotlin converter: working on not loosing comments - refactored redundant .toKotlin() calls
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
7463da8fe0
Java to Kotlin: dropped Node interface
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
0912001560
Fixed KT-5223 Converter from Java should convert "throws" in method declaration
...
#KT-5223 Fixed
2014-06-24 00:48:11 +04:00
Valentin Kipyatkov
eef4e548e5
Java to Kotlin: annotations conversion - no redundant array type arguments
...
#KT-4487 Fixed
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
bd30ae572e
Java to Kotlin: correct conversion of array components in annotation attributes
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
65b3ec6dfd
Java to Kotlin: Deprecated annotation conversion
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
a8c61b377a
Java to Kotlin: restored test data files with correct case
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
8a1dbcdfc6
Java to Kotlin: deleted test data files with wrong case
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
be44c5b7be
Fixed test for java to Kotlin copy/paste - java standard classes used to not be resolved
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
84a566b034
Converter from Java: minor change
2014-06-24 00:48:10 +04:00
Valentin Kipyatkov
26b6626358
Converter from Java: added proper annotations formatting
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
c0a5355928
Converter from Java: basic implementation of annotations conversion
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
93ba66b2a3
Converter from Java: generate "create" for factory methods instead of "init"
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
da5fe7adb0
Converter from Java: better conversion from java-specific to Kotlin classes
...
#KT-5173 Fixed
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
c36624a58e
Converter from Java: optimization to not instantiate visitor objects each time
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
ab714f168c
Converter from Java: do not produce class object for just private methods + fixed bug with unnecessary static member qualification
2014-06-24 00:48:09 +04:00
Valentin Kipyatkov
b00316f93a
Fixed KT-4417 Converter from java to kotlin incorrectly places nested classes under class object
...
#KT-4417 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
ed290178d5
Fixed KT-4437 Converter for java: do not generate assert with lambda for constant message
...
#KT-4437 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
149ea16f5c
Java to Kotlin converter: supported try-with-resource construct, fixed anonymous class generation + fixed a bug with method return type
...
#KT-4488 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
1b948ef8f1
Java to Kotlin converter: minor code refactoring
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
b71061eb5c
Java to Kotlin converter: generate "!!." instead of "?." for nullable values
...
#KT-3943 Fixed
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
a07dae9734
Java to Kotlin converter: minor code refining
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
f2ace97c6c
Java to Kotlin converter: minor
2014-06-24 00:48:08 +04:00
Valentin Kipyatkov
6fd8ac5236
Java to Kotlin converter: no more setting 'class identifiers', use ConversionScope
2014-06-24 00:48:07 +04:00
Valentin Kipyatkov
324040a02f
Java to Kotlin converter: no usage search and body analysis for members out of conversion scope
2014-06-24 00:48:07 +04:00
Alexey Sedunov
d6755b91ee
Minor: Remove unnecessary action binding
2014-06-23 21:10:42 +04:00
Alexey Sedunov
66405cf883
Minor: Allow to select individual cells in Extract Function dialog
2014-06-23 21:10:40 +04:00
Alexey Sedunov
6be8ea5b19
Minor: Replace deprecated function call
2014-06-23 21:10:38 +04:00
Alexey Sedunov
64a2fde80a
Extract Function: Fix signature update on dialog opening
2014-06-23 21:10:36 +04:00
Alexey Sedunov
0a89b26030
Extract Function: Implement UI for parameter type selection
2014-06-23 21:10:34 +04:00
Alexey Sedunov
ca16f4231f
Extract Function: Infer parameter type candidates
...
#KT-4940 Fixed
2014-06-23 21:10:12 +04:00
Nikolay Krasko
c98ec96194
Update to Idea 138.744
2014-06-23 20:13:00 +04:00
Alexey Sedunov
96557e6d3f
DFS: Terminate traversal if node handler returns false
2014-06-23 19:32:36 +04:00
Alexey Sedunov
e5ce5b7127
Extract Function: Fix call replacement for the case of lambda extraction
2014-06-23 19:32:35 +04:00
Alexey Sedunov
a3f215fb34
Extract Function: Support extraction of "it" parameter from lambdas
2014-06-23 19:32:33 +04:00
Alexey Sedunov
14362134bd
Extract Function: Traverse nested pseudocode instructions
...
#KT-5178 Fixed
2014-06-23 19:32:31 +04:00
Alexey Sedunov
c7d8ab8219
Extract Function: Add support of property-as-function calls
...
#KT-5179 Fixed
2014-06-23 19:32:30 +04:00
Alexey Sedunov
6bc3772d29
Override/Implement: Add test to cover import optimization in the case of multiple import insertion (see #KT-4732)
2014-06-23 19:32:29 +04:00
Alexey Sedunov
5be7eb8a5c
Shorten References: Do not optimize imports until shortening is finished
...
#KT-5227 Fixed
2014-06-23 19:32:27 +04:00
Alexey Sedunov
53c49b6333
Shorten References: Do not shorten qualified expression if receiver values are changed
...
#KT-5180 Fixed
2014-06-23 19:32:26 +04:00
Alexey Sedunov
5e2c2b4eca
Pseudocode: Implement computation of expected type predicates
2014-06-23 19:32:25 +04:00
Alexey Sedunov
50228fa085
Pseudocode: Generate correct values for postfix increment/decrement
2014-06-23 19:32:22 +04:00
Alexey Sedunov
7c837909d8
Pseudocode: Bind result values to elements retrieved from resolved calls
2014-06-23 19:32:21 +04:00
Alexey Sedunov
4debb6eb6a
Expression Typing: Record resolved calls for labeled this-expressions
2014-06-23 19:32:20 +04:00
Alexey Sedunov
d01d186130
Pseudocode: Fix depth-first pseudocode traversal
2014-06-23 19:32:18 +04:00
Natalia Ukhorskaya
0968ea6914
Eval4j: catch IndexOutOfBounds exceptions
2014-06-23 17:40:05 +04:00
Natalia Ukhorskaya
bdc60441c0
Try-catch exception value is not visible in debugger's local variables
...
#KT-3070 Fixed
2014-06-23 17:40:04 +04:00
Natalia Ukhorskaya
a17bcce682
Add tests for exceptions from evaluate expression
2014-06-23 17:39:53 +04:00
Natalia Ukhorskaya
1687b9cbca
Eval4j: add exception type in ExceptionThrown result
2014-06-23 17:39:23 +04:00
Natalia Ukhorskaya
28cbe95e0c
Generate invokeSpecial for all private functions
2014-06-23 17:17:42 +04:00
Natalia Ukhorskaya
c847d180a7
Eval4j: add ignore annotations for tests
2014-06-23 17:17:41 +04:00
Natalia Ukhorskaya
fab770a346
Eval4j: support invokespecial instruction
2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya
3edd6b52cf
Evaluate expression: test cache using logger
2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya
b5f6df3144
Cache bytecodes for JetCodeFragment in Evaluate Expression
2014-06-23 17:17:39 +04:00
Natalia Ukhorskaya
53a1abf2e6
DescriptorUtils.isSubclass: check type constructors for equality instead of checking descriptors
2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya
0c17bbe1c4
Minor: fix warnings
2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya
f4b01b5f47
Correct context element for watches
2014-06-23 17:17:37 +04:00
Natalia Ukhorskaya
a593738ca6
Refactoring: extract method
2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya
7671962284
Evaluate expression: move helper methods for extract function to separate file
2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya
03d2e89c6b
Fix typo
2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya
906a3ea905
Evaluate expression: test with doubles
2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya
250b9b500b
Eval4j: initialize frame with local variables values using type size
...
#KT-5133 Fixed
2014-06-23 17:17:34 +04:00
Svetlana Isakova
2077604d6d
Compute pseudo value for parameter correctly:
...
do not throw away pseudo value for default value
2014-06-23 14:30:16 +04:00
Svetlana Isakova
d150bfbce0
Removed CFPContext
...
flag 'inCondition' became unused
2014-06-21 12:26:34 +04:00
Svetlana Isakova
9d4aad3bbc
Extracted 'generateBooleanOperation'
...
Generate magic instruction for '&&, ||' in condition as well
2014-06-21 12:26:34 +04:00
Svetlana Isakova
4279da12f5
KT-5200 Mark unreachable code in lambdas
...
#KT-5200 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
abfc8ed7e8
KT-5155 Auto-casts do not work with when
...
#KT-5155 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
17c4930404
KT-2334 An error 'local function without body' is not reported
...
#KT-2334 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova
79cec6411d
Mark only unreachable parts of element if it has reachable parts
...
like for 'return todo()' mark only 'return'
2014-06-21 12:26:33 +04:00
Svetlana Isakova
88ecc5cc59
Evaluate default value for argument non-deterministically
...
in pseudocode
2014-06-21 12:26:33 +04:00
Svetlana Isakova
9480907514
Mark some expressions after processing their components
...
when it's semantically correct
Expressions: calls, 'for' loops, elvis operators
It's significant for reporting 'unreachable code' correctly
2014-06-21 12:26:32 +04:00
Svetlana Isakova
6e622f2301
Highlight all text ranges for diagnostics in tests
2014-06-21 12:26:32 +04:00
Svetlana Isakova
67fd858432
Rename: getAllInstructions -> getInstructionsIncludingDeadCode
...
Added this method to 'Pseudocode' interface instead of 'getDeadInstructions',
added 'isDead' to 'Instruction' interface
2014-06-21 12:26:32 +04:00
Svetlana Isakova
4efeb2eae2
Refactoring: extracted 'reportUnreachableCode'
2014-06-21 12:26:32 +04:00
Pavel V. Talanov
fc19f1db44
Minor: improve assertion message in SpecifyTypeExplicitlyFix
2014-06-20 22:23:24 +04:00
Andrey Breslav
868e0d9306
LOG.error() instead of exception for "Rewrite at slice" errors
2014-06-20 19:55:50 +04:00
Nikolay Krasko
b70f9cd675
-- Attempt to fix completion for extensions
2014-06-20 17:19:50 +04:00
Nikolay Krasko
f84b3de975
Minor: notification build with String.format()
2014-06-20 17:19:48 +04:00
Nikolay Krasko
2f776affb3
Test package facade recompile after removing several files
2014-06-20 17:19:46 +04:00
Nikolay Krasko
5f0bfa8c56
Change jps testing framework
2014-06-20 17:16:48 +04:00
Nikolay Krasko
4275912898
Update to Idea 138.693
2014-06-20 17:14:51 +04:00
Nikolay Krasko
7c05fd210a
Update to idea/138.628
2014-06-20 17:14:48 +04:00
Nikolay Krasko
71939af35f
Drop light method usages search
...
Now problem with non-exact match of Kotlin psi eleement and Java element covered
in JetSimpleReference.isReferenceTo()
2014-06-20 17:14:46 +04:00
Nikolay Krasko
90f3996dd3
Idea 138: Add custom kotlin search for kotlin properties
2014-06-20 17:14:44 +04:00
Nikolay Krasko
1367b37095
Idea 138: Rewrite folding test to force init file with different name
2014-06-20 17:14:42 +04:00
Nikolay Krasko
1d8db15502
Idea 138: Assertion "Project is not yet initialized:" thrown on every start (KT-5152)
...
#KT-5152 Fixed
2014-06-20 17:14:40 +04:00
Nikolay Krasko
9006311447
Idea 138: Return small icon for to new project wizard
2014-06-20 17:14:38 +04:00
Nikolay Krasko
963f07fa85
Idea 138: Disable check for access for not-allowed vfs roots
...
Workaround failure in lib configuration test testLibraryWithoutPaths_jarExists(). See IDEA-125568
2014-06-20 17:14:36 +04:00
Nikolay Krasko
a8e07a329e
Idea 138: workaround enabled "File accessed outside allowed roots"
...
See IDEA-125568
2014-06-20 17:14:34 +04:00
Nikolay Krasko
b09788c626
Idea 138: Avoid using auto-generated parameters names in Kotlin
2014-06-20 17:14:32 +04:00
Nikolay Krasko
e925b5bdb6
Idea 138: Fix compilation after removing old make api
...
Tests are removed
2014-06-20 17:14:30 +04:00
Nikolay Krasko
1e3270a050
Idea 138: Update to Idea 138.515
2014-06-20 17:14:28 +04:00
Zalim Bashorov
79b7b1c447
JS stdlib: added test for using special names(i.e. Object.prototype members) in Maps and Sets. Fixed the support special names in PrimitiveHashMap.
2014-06-20 16:42:43 +04:00
Zalim Bashorov
6f5c88c21f
JS stdlib: added LinkedHashMap abd LinkedHashSet.
2014-06-20 16:42:43 +04:00
Zalim Bashorov
a2584dc6d7
JS backend: added entrySet to HashMap implementations and fixed iteration over maps.
2014-06-20 16:42:43 +04:00
Zalim Bashorov
516af6c908
JS backend: added expected receiver type for intrinsics.
2014-06-20 16:42:43 +04:00
Zalim Bashorov
247808e17b
IDEA plugin: fixed crashing ifExpressionToElvis intention when applying to if expression which is part of another expression.
...
#EA-57307 fixed
2014-06-20 16:42:42 +04:00
Andrey Breslav
64175d3996
Tests for some more cases of JVM signature clashes
2014-06-20 15:51:47 +04:00
Andrey Breslav
e2c5d9edf6
Support reporting errors on class objects and any classes or objects contained anywhere
2014-06-19 22:12:02 +04:00
Andrey Breslav
86e8a1d410
Do not report declaration clashes on MANY_IMPL_MEMBER_NOT_IMPLEMENTED
2014-06-19 22:12:01 +04:00
Andrey Breslav
b076dc3b58
Test for signature clash in fields copied from class object
2014-06-19 22:12:01 +04:00
Andrey Breslav
f0da5d570e
Do not report "accidental overrides" when "override" modifier is specified
2014-06-19 22:12:01 +04:00
Andrey Breslav
9f29a8b263
Test for required class
2014-06-19 22:12:00 +04:00
Andrey Breslav
9ecbeeb100
Filter diagnostics in the CLI compiler, as well as in the IDE
2014-06-19 22:12:00 +04:00
Andrey Breslav
61c7c2f1a1
Minor. Extract function
2014-06-19 22:11:59 +04:00
Andrey Breslav
98701b7c6e
Properly check overloads in enum
2014-06-19 22:11:59 +04:00
Andrey Breslav
f1545963f3
Generate $propertyMetadata field in LIGHT_CLASSES mode
2014-06-19 22:11:58 +04:00
Andrey Breslav
654dd5afff
Tests for more special names
2014-06-19 22:11:58 +04:00
Andrey Breslav
777f3d1341
Codegen tests now fail on JVM-specific errors
2014-06-19 22:11:57 +04:00
Andrey Breslav
e27f3a9ab7
Duplicate signature generation fixed for collection classes
...
wWe used to generate a throwing stub clear();V twice, when something extended both Collection and Map
2014-06-19 22:11:57 +04:00
Andrey Breslav
2351c53dce
Test that Javac does not fail on two methods that differ only by return type
2014-06-19 22:11:56 +04:00
Andrey Breslav
b49a203a67
Generate bridges in light classes
2014-06-19 22:11:56 +04:00
Andrey Breslav
93b688d19b
Minor. Method made private
2014-06-19 22:11:55 +04:00
Andrey Breslav
ce27967ad0
Minor. Todo added
2014-06-19 22:11:55 +04:00
Andrey Breslav
f59ff5d8fe
Diagnostics for illegal platform names
2014-06-19 22:11:54 +04:00
Andrey Breslav
14a6cdf458
Compilation fixed
2014-06-19 22:11:54 +04:00
Andrey Breslav
5a27317baf
Support generating light classes on type parameters having no name
...
Example:
class C<in /*no name here*/>
2014-06-19 22:11:53 +04:00
Andrey Breslav
111c0e55b8
Extra test for the case of error types in detecting duplicate signatures
2014-06-19 22:11:53 +04:00
Andrey Breslav
a26f4f9203
Avoid failing on error types when enumerating all signatures
2014-06-19 22:11:52 +04:00
Andrey Breslav
8e4954ab67
Generate @NotNull annotations on delegated functions
2014-06-19 22:11:52 +04:00
Andrey Breslav
afca70eb41
Test for nullability annotations generalized and generated
2014-06-19 22:10:57 +04:00
Andrey Breslav
6617a884e4
Minor. Test class renamed
2014-06-19 22:10:57 +04:00
Andrey Breslav
707da9278f
Do not skip delegated members in LIGHT_CLASSES mode
2014-06-19 22:10:57 +04:00
Andrey Breslav
8fd166ea7b
Minor. Method renamed
2014-06-19 22:10:57 +04:00
Andrey Breslav
05685bea5b
BuilderFactoryForDuplicateSignatureDiagnostics code cleaned up
2014-06-19 22:10:56 +04:00
Andrey Breslav
42aa9e2378
Minor. Utility moved to a common place
2014-06-19 22:10:56 +04:00
Andrey Breslav
346c491ebd
BuilderfactoryForDuplicateSignatureDiagnostics rewritten to Kotlin
2014-06-19 22:10:56 +04:00
Andrey Breslav
635f8ea626
BuilderfactoryForDuplicateSignatureDiagnostics moved out of GenerationState
2014-06-19 22:10:56 +04:00
Andrey Breslav
f229301a0f
More informative diagnostic messages for ACCIDENTAL_OVERRIDES and CONFLICTING_JVM_DECLARATIONS
...
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav
622b7e3740
Do not report ACCIDENTAL_OVERRIDE on SAM adapters and such
2014-06-19 22:10:55 +04:00
Andrey Breslav
6bbc8ea951
Fix reporting errors on properties declared in constructors
2014-06-19 22:10:55 +04:00
Andrey Breslav
27f76630e6
ACCIDENTAL_OVERRIDE diagnostics supported
...
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav
d2e464a02b
Tests for local classes in weird positions
2014-06-19 22:10:54 +04:00
Andrey Breslav
9cb71c7fa8
Test data fixed
2014-06-19 22:10:54 +04:00
Andrey Breslav
55cfa161c7
Report conflicting signatures that are purely inherited from traits
...
When all signatures are inherited from traits, the origin elements lie outside of the class in question
2014-06-19 22:10:54 +04:00
Andrey Breslav
1343e59eb9
Properly handle accessors of top-level properties
2014-06-19 22:10:53 +04:00
Andrey Breslav
3bc404a80e
Do not skip local classes in top-level functions
...
In this case we need names for such classes:
fun foo() = run {
class A
A()
}
2014-06-19 22:10:53 +04:00
Andrey Breslav
bbaf47d3db
Do not initialize properties in LIGHT_CLASSES mode
2014-06-19 22:10:53 +04:00
Andrey Breslav
dd23b02dae
Use safe names in codegen, for the case of light classes
2014-06-19 22:10:53 +04:00
Andrey Breslav
d2ce6f5787
Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java'
2014-06-19 22:10:52 +04:00
Andrey Breslav
bb581bb645
Only normalize names when accessing PSI, not earlier
...
#KT-4833 Fixed
2014-06-19 22:10:52 +04:00
Andrey Breslav
ef7b43ecdc
Disable JVM signature diagnostics for multi-module tests
2014-06-19 22:10:52 +04:00
Andrey Breslav
14829ff058
Check that resolved calls are completed in each module
2014-06-19 22:10:52 +04:00
Andrey Breslav
f3c46341e5
Filtering out duplicate signature diagnostics if CONFLICTING_OVERLOADS or REDECLARATION is present
2014-06-19 22:10:51 +04:00
Andrey Breslav
f80619e4e9
Ability to generate light classes for scripts
2014-06-19 22:10:51 +04:00
Andrey Breslav
db2ad06e9c
Ability to generate light classes when a type parameter appears in supertypes
2014-06-19 22:10:51 +04:00
Andrey Breslav
70f6041c70
Remove assert that does not hold for light classes on erroneous code
...
When clashing overloads are declared in the code, it's better to still be able to build light classes
2014-06-19 22:10:51 +04:00
Andrey Breslav
851fbbc937
Test data fixed
2014-06-19 22:10:50 +04:00
Andrey Breslav
b4d154bb26
Test that clashing signatures are not reported when conflicting overloads are present in CLI
2014-06-19 22:10:50 +04:00
Andrey Breslav
f79ddbd523
Minor. Passing Diagnostics instead of BindingContext
2014-06-19 22:10:50 +04:00
Andrey Breslav
74deb58734
Filtering duplicate diagnostics for trait implementations
2014-06-19 22:10:50 +04:00
Andrey Breslav
a966bc7ce7
Highlight property accessor headers only, without body
2014-06-19 22:10:49 +04:00
Andrey Breslav
91136ada27
Filtering duplicate diagnostics for package facades and package parts
2014-06-19 22:10:49 +04:00
Andrey Breslav
41d66281ee
JvmDeclarationOrigin moved to frontend.java
2014-06-19 22:10:49 +04:00
Andrey Breslav
592328aa27
Test data fixed
2014-06-19 22:10:49 +04:00
Andrey Breslav
38333d6cea
CONFLICTING_PLATFORM_DECLARATIONS moved to a JVM-specific class
2014-06-19 22:10:48 +04:00
Andrey Breslav
22c47c2f82
Highlight only declarations, without body, on platform signature clashes
2014-06-19 22:10:48 +04:00
Andrey Breslav
3575c375e3
DelegationToTraitImpl origin kind supported
2014-06-19 22:10:48 +04:00
Andrey Breslav
03a0a6d17a
JvmDeclarationOrigin used in FunctionCodegen.generateMethod()
2014-06-19 22:10:48 +04:00
Andrey Breslav
0413f90bec
TraitImpl origin supported
2014-06-19 22:10:47 +04:00
Andrey Breslav
87b6ad08b5
Package part and facade origins supported
2014-06-19 22:10:47 +04:00
Andrey Breslav
4fbce3f43e
JvmDeclarationOrigin used in newClassBuilder()
2014-06-19 22:10:47 +04:00
Andrey Breslav
6ce86cca72
JvmDeclarationOrigin used in newVisitor()
2014-06-19 22:10:46 +04:00
Andrey Breslav
4e1ceb62b5
JvmDeclarationOrigin used in newMethod()
2014-06-19 22:10:46 +04:00
Andrey Breslav
87a8f52f70
JvmDeclarationOrigin used in newField()
2014-06-19 22:10:46 +04:00
Andrey Breslav
27e61a75a1
Diagnostic tests for duplicate JVM signatures
2014-06-19 22:10:46 +04:00
Andrey Breslav
d25b2459d4
Report clashing signatures in the IDE
...
Expose extra diagnostics about platform signature clashes from light class data
#KT-1 In Progress
2014-06-19 22:10:45 +04:00
Andrey Breslav
9b3f9fb70d
Cache KotlinLightClassForPackage instances per project
2014-06-19 22:10:45 +04:00
Andrey Breslav
3ac3027e16
Compilation fixed
2014-06-19 22:10:45 +04:00
Andrey Breslav
449723e388
Repoting platform declarations clashes in CLI compiler for JVM
...
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav
f4f1dd8f8b
Basic version of CONFLICTING_PLATFORM_DECLARATIONS diagnostic
...
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav
eb31be2871
DiagnosticHolder added to GenerationState
2014-06-19 22:10:44 +04:00
Andrey Breslav
8135391ba4
Recording psi element and descriptor for which a class is being emitted
2014-06-19 22:10:44 +04:00
Andrey Breslav
af2cd46327
Replace ClassBuilder.getVisitor().visitMethod() calls with newMethod()
2014-06-19 22:10:43 +04:00
Andrey Breslav
a115d6a789
Descriptors added to newMethod() signature
2014-06-19 22:10:43 +04:00
Andrey Breslav
f1196a8c59
Descriptors added to newField() signature
2014-06-19 22:10:43 +04:00
Andrey Breslav
9070a6ab37
ScriptDescriptor exposes result property
2014-06-19 22:10:42 +04:00
Alexey Sedunov
7b439c2173
Minor: Formatting changed
2014-06-19 22:04:48 +04:00
Alexey Sedunov
1a16c515f3
Pseudocode: Generate resolved-call-based read instructions for this-expressions
2014-06-19 22:04:47 +04:00
Alexey Sedunov
c9c94a59d3
Pseudocode: Copy value of JetThisExpression to enclosed JetSimpleNameExpression
2014-06-19 22:04:46 +04:00
Alexey Sedunov
45bd3a520e
Pseudocode: Generate pseudo-values for implicit receivers
2014-06-19 22:04:45 +04:00
Alexey Sedunov
4e4675d24a
Minor: Remove redundant cast
2014-06-19 22:04:45 +04:00
Alexey Sedunov
168b32920b
Pseudocode: Do not bind call value to callee expressions
2014-06-19 22:04:44 +04:00
Alexey Sedunov
e94f96d457
Pseudocode: Have builder return instructions rather than output values
2014-06-19 22:04:43 +04:00
Alexey Sedunov
e6ff115772
Minor: Use varargs instead of lists
2014-06-19 22:04:42 +04:00
Alexey Sedunov
a980086b54
Pseudocode: Add explicit type predicates to magic instructions
2014-06-19 22:04:41 +04:00
Alexey Sedunov
9b13d05259
Pseudocode: Record resolved information in read/write instructions. Introduce AccessValueInstruction
2014-06-19 22:04:40 +04:00
Alexey Sedunov
587a9558bc
Pseudocode: Introduce "merge" instruction
2014-06-19 22:04:39 +04:00
Alexey Sedunov
9ddfc32cdc
Pseudocode: Add receiver values to call instructions. Refactor InstructionWithReceiver
2014-06-19 22:04:38 +04:00
Alexey Sedunov
650fac0081
Pseudocode: Introduce ValuedInstruction
2014-06-19 22:04:37 +04:00
Alexey Sedunov
c7e4f1d02e
Pseudocode: Divide instruction classes into packages
2014-06-19 22:04:36 +04:00
Alexey Sedunov
eabe2fcc8a
Pseudocode: Translate instruction classes to Kotlin
2014-06-19 22:04:34 +04:00
Andrey Breslav
145358654b
hashCode() fixed for AbstractClassTypeConstructor
2014-06-19 21:20:26 +04:00
Evgeny Gerashchenko
27273deeda
Extracted package part map implementation to inner class.
2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
214c0fe4be
Extracted constants map implementation to inner class.
2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
4e00df1fb4
Extracted proto map implementation to inner class and simplified.
2014-06-19 20:12:23 +04:00
Evgeny Gerashchenko
e1f6fc55c5
Writing/reading constants map fully to avoid hash collisions.
2014-06-19 19:25:42 +04:00
Evgeny Gerashchenko
cea272fb39
Moved getPackageFilesWithCallables to frontend.java and reused it.
2014-06-19 17:54:33 +04:00
Evgeny Gerashchenko
b76a9e8e27
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 15:49:33 +04:00
Evgeny Gerashchenko
9f86441f95
Generalized method name.
2014-06-19 15:47:22 +04:00
Evgeny Gerashchenko
54f140e9e4
Minor cleanup
2014-06-19 14:53:13 +04:00
Evgeny Gerashchenko
219475be71
Processing all targets with removed files in chunk at once.
2014-06-19 14:49:16 +04:00
Evgeny Gerashchenko
2e508579a7
Minor. Using better method.
2014-06-19 14:48:14 +04:00
Evgeny Gerashchenko
6fb65fa2d4
Minor. Removed unused code.
2014-06-19 14:47:44 +04:00
Evgeny Gerashchenko
4366b92656
Minor. Rearranged code.
2014-06-19 14:43:37 +04:00
Evgeny Gerashchenko
f927751ee3
Minor. Inlined method with only one call site.
2014-06-19 14:42:59 +04:00
Evgeny Gerashchenko
6809befa3a
Minor. Replaced first invocation of make() with initialMake() (for clearer stack trace).
2014-06-19 14:37:55 +04:00
Evgeny Gerashchenko
7f1e99ecfd
Added test with class signature unchanged.
2014-06-19 14:37:08 +04:00
Evgeny Gerashchenko
15d9549477
Minor. Regenerated tests.
2014-06-19 14:22:43 +04:00
Evgeny Gerashchenko
92849dda3b
Serializing incremental package fragment from our module instead of random one.
2014-06-19 13:41:27 +04:00
Evgeny Gerashchenko
aa41ae09ed
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko
f6129732a2
Writing incrementalCache attribute to <modules> element of xml module script
2014-06-19 01:03:59 +04:00
Evgeny Gerashchenko
06cafe7f12
Replaced passing MemberFilter to constructor with method overriding.
2014-06-19 01:03:58 +04:00
Zalim Bashorov
865880f196
Minor in JS backend: added missed test case -- when inside when w/o braces.
2014-06-18 23:18:23 +04:00
Evgeny Gerashchenko
d3e5790674
Passing custom class loader for loading incremental cache implementation.
2014-06-18 22:56:44 +04:00
Evgeny Gerashchenko
04f7ad450f
Simplified interface of IncrementalCache (depending on JDK only).
2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
07365dca1d
Extracted interface and moved implementation of IncrementalCache to jps-plugin, accessing cache via Java service loader.
2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
820bd911fb
Supported cases of removing source files from package fragment.
2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko
fddc8edc03
Removing caches and rebuilding again in tests.
...
It helps to find cases when stuck data spoils compilation output.
2014-06-18 22:56:42 +04:00
Evgeny Gerashchenko
205f99bf60
Made incremental compilation test auto-generated.
2014-06-18 22:56:42 +04:00
Evgeny Gerashchenko
f62842343d
Added tests for removing files from package.
2014-06-18 22:56:40 +04:00
Evgeny Gerashchenko
2a9721daf3
Supported multiple make iterations in incremental tests.
2014-06-18 22:56:40 +04:00
Evgeny Gerashchenko
5d4823d4ba
Storing io files instead of psi (they are converted anyway).
2014-06-18 22:56:38 +04:00
Evgeny Gerashchenko
e07ea4b814
Minor. Suppressed warnings.
2014-06-18 22:56:38 +04:00
Evgeny Gerashchenko
b9f01a6397
Don't report package facade classes as output of sources without top-level members.
2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko
e89b59a745
Checking for constants values in incremental compiler.
2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko
af173484cb
Minor. Typo.
2014-06-18 22:56:36 +04:00
Evgeny Gerashchenko
c4e167d7bc
Checking for changes in class proto.
2014-06-18 22:56:36 +04:00
Evgeny Gerashchenko
c51cb26046
Fixed computing source file for package facade.
...
There had been a bug in case when compiling package with some class-only files, but exactly one file with callables.
2014-06-18 22:56:35 +04:00
Evgeny Gerashchenko
018b58b51f
Rebuild only if proto changed.
2014-06-18 22:56:35 +04:00
Evgeny Gerashchenko
4cf2dc665e
Got rid of redundant constructor.
2014-06-18 22:56:34 +04:00
Evgeny Gerashchenko
a82849f289
Removed member filter from injectors.
2014-06-18 22:56:33 +04:00
Evgeny Gerashchenko
ca1ee69e4c
Loading descriptors from incremental cache instead of package classes.
2014-06-18 22:56:33 +04:00
Michael Nedzelsky
209315baad
JS backend: fix translation when statement -- now WhenTranslator returns JsBlock instead of hackish adding statements to context block.
...
It fixed the compiler crashing when translating `for`/`when`/`if` with `when` statement(KT-5234) and KT-5058.
#KT-5234 fixed
#EA-57346 fixed
#KT-5058 fixed
2014-06-18 21:20:28 +04:00
Alexander Udalov
a94f12d8fe
Use f/L literal suffixes instead of toFloat()/toLong()
2014-06-18 20:35:25 +04:00
Alexander Udalov
ad23a2d05b
Fix equals and hashCode for empty ranges and progressions
...
Empty range is equal to any other empty range
2014-06-18 20:35:25 +04:00
Alexander Udalov
751f062f23
Add *Range.isEmpty(), *Progression.isEmpty()
2014-06-18 20:22:24 +04:00
Alexander Udalov
07378a74d3
Delete outdated directory creation in build.xml
2014-06-18 20:22:24 +04:00
Alexander Udalov
607694c3c9
Fix range inclusivity in String.indices
2014-06-18 20:22:23 +04:00
Evgeny Gerashchenko
976d5df1eb
KT-5244 Crash from Kotlin JPS plugin when creating module script
...
#KT-5244 fixed
2014-06-18 19:52:15 +04:00
Evgeny Gerashchenko
7fdd4a339e
KT-5087 Private members of Java classes should be marked as invisible, not unresolved
...
#KT-5087 fixed
2014-06-18 19:52:15 +04:00
Evgeny Gerashchenko
cf5fe672de
Added test for KT-2381 Can't resolve references to fields inherited from Java class when used Kotlin class is loaded from bytecode
...
#KT-2381 obsolete
2014-06-18 19:52:12 +04:00
Evgeny Gerashchenko
b65f6e1e0e
KT-2303 Support loading private class members from bytecode
...
#KT-2303 obsolete
2014-06-18 19:52:12 +04:00
Andrey Breslav
2ec285735e
Test for EA-41250 - E: _JetLexer.zzScanError - Could not match input
2014-06-18 11:32:28 +04:00
Andrey Breslav
512e4cb75e
Support transient, strictfp and synchronized flags
...
#KT-4377 Fixed
2014-06-18 10:55:57 +04:00
Andrey Breslav
f2bc26888c
Add "kotlin.jvm" to default imports on JVM
2014-06-18 10:55:56 +04:00
Pavel V. Talanov
00bd8cee82
Rename: DescriptorDeserializer -> MemberDeserializer
2014-06-17 18:24:02 +04:00
Pavel V. Talanov
f8e5fa1b2f
Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader
2014-06-17 18:19:04 +04:00
Pavel V. Talanov
2673510e8b
Minor: do not access static method of ScriptHeaderResolver through instance
...
Clean up after 024ed5a236
2014-06-17 18:19:00 +04:00
Pavel V. Talanov
3d83e09c5b
Minor: fix compilation warning
2014-06-17 18:18:58 +04:00
Pavel V. Talanov
b9b0bba7a0
Refactor: Introduce contexts in deserialization subsystem
...
Rewrite utilities to Kotlin and move them out of DescriptorDeserializer
Include DescriptorDeserializer into context
Use new context in injectors
Drop Deserializers abstraction
2014-06-17 18:18:57 +04:00
Evgeny Gerashchenko
381e8bb205
Extracted PackagePartClassUtils.
2014-06-16 23:30:24 +04:00
Evgeny Gerashchenko
d3ff9e974b
Introduced utility method.
2014-06-16 23:29:55 +04:00
Michael Nedzelsky
0332353874
Parser: fix recovery for object literal with no body
...
#KT-5102 Fixed
2014-06-16 16:25:42 +04:00
Pavel V. Talanov
024ed5a236
Drop JetTypeName and related code
2014-06-11 21:22:28 +04:00
Pavel V. Talanov
8d2038ec1a
Minor: Implement LazyJavaResolverContext.resolveTopLevelClassInModule using ModuleDescriptor.resolveTopLevelClass
2014-06-11 21:22:27 +04:00
Pavel V. Talanov
03a4a5ef31
Use module to resolve top level class in SignatureMarkerProviderTest
2014-06-11 21:22:26 +04:00
Pavel V. Talanov
456e83e1fa
Use module to resolve top level class in ResolveDescriptorsFromExternalLibraries
2014-06-11 21:22:25 +04:00
Pavel V. Talanov
8789d9b0bf
Use module to resolve top level class in DecompiledTextConsistencyTest
...
Refactor: rename ResolverForDecompiler#resolveClass to resolveTopLevelClass to document assumptions made in implementations
2014-06-11 21:22:24 +04:00
Pavel V. Talanov
f1e6560904
Use module to resolve top level class in AbstractSdkAnnotationsValidityTest
2014-06-11 21:22:23 +04:00
Pavel V. Talanov
083c527f52
Drop JavaDescriptorResolver#getPackageFragment
2014-06-11 21:22:22 +04:00
Pavel V. Talanov
c11df9ce9c
Use module to resolve "kotlin" package in DecompiledTextConsistencyTest
2014-06-11 21:22:21 +04:00
Pavel V. Talanov
bd30bc074e
Use JavaDescriptorResolver#resolveClass(JavaClass) in KotlinSignatureInJavaMarkerProvider
2014-06-11 21:22:20 +04:00
Michael Bogdanov
cc58ee6b6f
KT-5219 Kotlin build fails when using Android Gradle plugin 0.11
...
#KT-5219 Fixed
2014-06-11 14:12:58 +04:00
Michael Bogdanov
de530be45d
KT-5219 Kotlin build fails when using Android Gradle plugin 0.11
...
#KT-5219 Fixed
2014-06-11 12:42:45 +04:00
Andrey Breslav
fe09bd4fd8
Tests for annotation deserialization when platform names are used
2014-06-10 18:21:37 +04:00
Andrey Breslav
705a081919
KT-5214 Annotation to provide platform name to avoid signature conflict
...
#KT-5214 Fixed
2014-06-10 18:21:36 +04:00
Valentin Kipyatkov
43cac31722
Java to Kotlin converter: corrected test output
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
00ed2f4955
Java to Kotlin converter: removed trim() in test output because it's not needed anymore
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
30ac2bacde
Java to Kotlin converter: better formatting preserving from original code
...
#KT-4801 Fixed
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
2d4d5e2a34
Java to Kotlin converter: added nullability calculation caching
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
1491e0e5a7
Java to Kotlin converter: better treatment of nullable expressions
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
14efefedd6
Java to Kotlin converter: correct code generated for accessing nullable variables
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
0695f6b3d7
Java to Kotlin converter: more smartness about nullability
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
e947ad7294
Java to Kotlin converter: minor corrections after code review
2014-06-10 14:26:54 +04:00
Valentin Kipyatkov
f652c50c8c
Java to Kotlin converter: refactored code to drop ArrayInitializerExpression
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
60d9e53e9f
Java to Kotlin converter: replacing equals call to ==/!= and no redundant parethesis generation
...
#KT-4426 Fixed
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
d691abb1c4
Java to Kotlin converter: code refactoring - extracted some code from Converter into TypeConverter
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
0631e4fdbe
Java to Kotlin converter: converting usages of Kotlin object members
...
#KT-5172 Fixed
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
e789026291
Java to Kotlin converter: converting usages of Kotlin class object members
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
b4ab3983f8
Java to Kotlin converter: converting usages of Kotlin global and extension functions and properties
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
f343b89501
Java to Kotlin converter: converting usages of Kotlin properties from Java
2014-06-10 14:26:53 +04:00
Valentin Kipyatkov
81caaaf579
Java to Kotlin converter: and even more smartness about nullability
...
#KT-5162 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
d49b4f86fd
Java to Kotlin converter: even more smartness about nullability
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
15ffb6768c
Java to Kotlin converter: more smartness about variables nullability
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
f96721fa7e
KT-4418 Converter from java should honor "@Nullable" annotations
...
#KT-4418 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
118b23061b
Java to Kotlin converter: fixed overriding of Object methods
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
dcfa396b50
Java to Kotlin converter: refactoring work with modifiers, dropped Modifier.FINAL
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
7c2473a5ef
Java to Kotlin conversion: fixed a few bugs related to modifiers
...
#KT-4424 Fixed
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
ef8504eb39
Java to Kotlin conversion: minor
2014-06-10 14:26:52 +04:00
Valentin Kipyatkov
6b11a5b3d9
Java to Kotlin converter: no more 2 conversion modes for each test, just a few tests to test non-standard settings
2014-06-10 14:26:51 +04:00
Valentin Kipyatkov
57d118e13d
Java to Kotlin conversion: minor refactorings after code review
2014-06-10 14:26:51 +04:00
Ilya Ryzhenkov
ab45439256
Convert iterable of pairs to map, improve generic toMap(mutableMap) function #KT-4166 Fixed
2014-06-10 11:11:03 +04:00
Ilya Ryzhenkov
3a1b9cc658
Improve iterators' functions deprecation text
2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
f471f7901c
Migrate to using join* functions instead of deprecated.
2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
19858b9f74
Created join, joinTo and joinToString functions, deprecated makeString & appendString #KT-3841 Fixed
2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
f5a0701076
Support generating "deprecated" functions.
2014-06-10 11:11:02 +04:00
Ilya Ryzhenkov
e6f5c7012c
Stream.filterIsInstance has wrong return type #KT-5097 Fixed
2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
a2a93a3830
Fix String.dropWhile & String.takeWhile
2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
5b73fba2d4
Support "key in map" using extension contains() function. #KT-3607 Fixed
2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
5f224efdc1
Make empty list produced by listOf() a singleton List object.
2014-06-10 11:11:01 +04:00
Ilya Ryzhenkov
692f60b1d6
Uncommented code in data class test for equality and toString
2014-06-10 11:11:00 +04:00
Ilya Ryzhenkov
178ae83e8d
sort and binarySearch methods now have correct default toIndex parameter #KT-4963 Fixed
2014-06-10 11:11:00 +04:00
Ilya Ryzhenkov
9ec78a437d
Throw NoSuchElementException in appropriate cases #KT-4998 Fixed
2014-06-10 11:11:00 +04:00
Nikolay Krasko
4ac626c1f2
Create separate scope for seaching sources in libraries
...
Fix build: avoid situation when GlobalSearchScope.contains() returns false for files
under both class root and source root.
2014-06-10 02:24:43 +04:00
Nikolay Krasko
7e22823652
Remove creating too long chain of scopes for searching Kotlin source file
2014-06-09 19:15:14 +04:00
Pavel V. Talanov
5ce8f4b892
JDR, minor: clarifying comment
2014-06-06 17:15:43 +04:00
Svetlana Isakova
68b4b8e946
KT-5182 Data flow info is lost for 'when' branches
...
#KT-5158 Fixed
#KT-4332 Fixed
2014-06-06 15:56:02 +04:00
Svetlana Isakova
cb788579ba
Refactoring: extracted 'getDataFlowInfosForEntryCondition'
...
Removed duplicated code
2014-06-06 15:56:02 +04:00
Svetlana Isakova
1eaf79bd1e
Analyzing 'when' expression refactoring
...
collect data flow infos for branch with many conditions
2014-06-06 15:56:02 +04:00
Evgeny Gerashchenko
c7318b3880
Added slashes in generated tests when they are invoked on directory.
...
This makes it easier to find directory for test using IDEA's go to file/search everywhere features.
2014-06-06 14:33:21 +04:00
Pavel V. Talanov
a10085efe9
Update to IDEA EAP 135.1019
2014-06-05 22:51:04 +04:00
Evgeny Gerashchenko
2568bf6091
Don't report Kotlin JPS versions for modules without Kotlin.
2014-06-05 20:59:07 +04:00
Evgeny Gerashchenko
3a2a3e7cd5
Saving module XMLs in temp directory instead of output.
2014-06-05 20:59:06 +04:00
Pavel V. Talanov
7d9742417f
JDR: Remove LazyJavaClassResolver#resolveClassByFqName()
2014-06-05 18:17:07 +04:00
Pavel V. Talanov
53df12598d
JDR: Eliminate another usage of LazyJavaClassResolver#resolveClassByFqName()
...
Refactor Java scopes:
Use abstract functions instead of "is" checks in LazyJavaMemberScope
Move some code to derived classes
2014-06-05 18:17:07 +04:00
Pavel V. Talanov
b69ab12db7
JDR: Use module to resolve special classes
2014-06-05 18:17:06 +04:00
Pavel V. Talanov
ccae693ed2
JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor
2014-06-05 18:17:05 +04:00
Nikolay Krasko
2d72b5afc7
Render short type names in quick documentation and navigation
2014-06-05 17:47:58 +04:00
Natalia Ukhorskaya
57fc2c8301
Android tests: exclude reflection tests
2014-06-05 10:10:30 +04:00
Svetlana Isakova
bc2d2fc2d4
KT-5099 "Remove explicit type arguments" should highlight only type arguments
...
#KT-5099 Fixed
2014-06-04 22:10:30 +04:00
Svetlana Isakova
1665ef7a00
KT-5028 "remove explicit type arguments" intention shouldn't be applicable
...
#KT-5028 Fixed
2014-06-04 22:10:29 +04:00
Svetlana Isakova
ae9d2d015e
Record 'a!!', 'a ?: b' special calls by operation reference
2014-06-04 22:10:29 +04:00
Svetlana Isakova
cf81a44e02
Added 'getCorrespondingCall' utility function
2014-06-04 22:10:29 +04:00
Svetlana Isakova
8a91ec7964
Record CALL for all invocations, not only for resolved ones
2014-06-04 22:10:29 +04:00
Nikolay Krasko
432eabdbcb
Don't process val and var keywords in lambda parameters forever (KT-5170)
...
#KT-5170 Fixed
2014-06-04 18:53:59 +04:00
Evgeny Gerashchenko
8f6c2b96f3
Extracted method to util class and replaced parameter to Project.
2014-06-04 15:34:19 +04:00
Evgeny Gerashchenko
aad719d809
Minor. Rearranged code.
2014-06-04 15:34:18 +04:00
Evgeny Gerashchenko
aaebce2683
Got rid of ModuleChunk (it makes no sense now).
2014-06-04 15:34:18 +04:00
Evgeny Gerashchenko
601a691e18
Corrected and simplified compilation of module chunk.
2014-06-04 15:34:17 +04:00
Evgeny Gerashchenko
ad8affe07c
Renamed and refactored test.
2014-06-04 11:36:42 +04:00
max-kammerer
010776fe08
Merge pull request #480 from nskvortsov/master
...
fix DSL in Android plugin
2014-06-04 10:16:22 +04:00
Alexey Sedunov
4463c67e28
Extract Function: Fix replacement of type references and constructor references
2014-06-03 18:17:14 +04:00
Alexey Sedunov
3d6fc6e015
Extract Function: Fix replacement of references with class receivers (objects, class objects, enum classes)
2014-06-03 18:17:13 +04:00
Alexey Sedunov
240f033f4f
Extract Function: Fix NPE caused by unmatched offset-to-reference maps
...
#KT-5001 Fixed
2014-06-03 18:17:12 +04:00
Alexey Sedunov
f4c21d3a28
Extract Function: Treat multi declarations as local variables
...
#KT-5054 Fixed
2014-06-03 18:17:10 +04:00
Alexey Sedunov
3a75aa27f0
Extract Function: Fix extraction of reference to class object property
...
#KT-5053 Fixed
2014-06-03 18:17:10 +04:00
Alexey Sedunov
1a7e6eab61
Extract Function: Utilize pseudo-value usage for return type inference
2014-06-03 18:17:09 +04:00
Alexey Sedunov
164338d6f5
Remove unused field
2014-06-03 18:17:08 +04:00
Alexey Sedunov
4a5d2e6728
Add tests for element -> pseudo-value mapping
2014-06-03 18:17:07 +04:00
Alexey Sedunov
d2c055e9da
Pseudocode: Introduce pseudo-value analysis
2014-06-03 18:17:05 +04:00
Valentin Kipyatkov
3ce96671d9
Java to Kotlin conversion: minor
2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
b47c5975b2
Java to Kotlin conversion: fixed test data
2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
6604af0bdf
Java to Kotlin conversion: dropped "NOT_OPEN" pseudo-modifier
2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
66a83a4322
Java to Kotlin conversion: artificial constructors (when no primary detected) use var/val parameters
2014-06-03 17:29:01 +04:00
Valentin Kipyatkov
1be836a956
Java to Kotlin conversion: artificial constructor (when no primary detected) is generated private
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
ebcb04b73b
Java to Kotlin conversion: keep constructor access modifier
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
ffa3ff3bbd
Generating test output when file is missing: removing trailing whitespaces
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
86d718de29
Java to Kotlin convertor: no empty class body
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
abfd2d68b9
Java to Kotlin convertor: generating of val/var constructor parameters when possible
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
846f2d9954
Java to Kotlin convertor: more code improvements
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
aa8b968756
Java to Kotlin convertor: improving code related to primary constructors
2014-06-03 17:29:00 +04:00
Valentin Kipyatkov
1e39021bd3
Java to Kotlin convertor: making code more "Kolin-like" + numerous micro refactorings
2014-06-03 17:29:00 +04:00
Nikita Skvortsov
6df803ce2f
fix DSL in Android plugin
2014-06-03 16:09:30 +04:00
Andrey Breslav
37532e8d02
Compare return types when structurally comparing callables
2014-06-02 22:05:34 +04:00
Andrey Breslav
7f60ccf663
Support equalityAxioms in isSubtypeOf()
2014-06-02 22:05:33 +04:00
Andrey Breslav
9cfbfd2806
Overridability and overloadability checks separated
2014-06-02 22:05:33 +04:00
Andrey Breslav
3f151a022e
Checking return value supported in OverridingUtil
2014-06-02 22:05:32 +04:00
Andrey Breslav
e50a17e668
Do not compare local classes by FqNames
2014-06-02 22:05:32 +04:00
Andrey Breslav
93031c1245
OverridingUtil parameterized with equalityAxioms
2014-06-02 22:05:30 +04:00
Andrey Breslav
f54e2bc498
OverridingUtil turned into a singleton
2014-06-02 22:05:30 +04:00
Andrey Breslav
67b8d3a875
Minor. Methods reordered
2014-06-02 22:05:29 +04:00
Andrey Breslav
b022395cb8
Using strategy instead of BiMap
2014-06-02 22:05:29 +04:00
Andrey Breslav
a0d8cefe16
Minor. If's with the same condition merged
2014-06-02 22:05:28 +04:00
Andrey Breslav
204fa76691
When checking overrides, compare methods structurally
...
Because they may come from different copies of the same class from different modules
2014-06-02 22:05:28 +04:00
Andrey Breslav
5a864dbc62
Fix "rewrite at slice" problems with resolving same Java class many times over the same trace
2014-06-02 21:49:20 +04:00
Nikolay Krasko
848863ef93
Completion fails with exception "Toplevel class has no fqName" (KT-5119)
...
Groovy scripts files can create PsiClasses with null qualfied names (getQualifiedName()) and names (getName()).
#KT-5119 Fixed
2014-06-02 20:36:42 +04:00
Alexey Sedunov
1c0d1630e5
Extract Function: Replace IDEA "Extract Method..." action with "Extract Function..."
2014-06-02 19:48:40 +04:00
Alexey Sedunov
07c19b1c9b
Extract Function: Create separate action for extraction to arbitrary code block
2014-06-02 19:48:39 +04:00
Alexey Sedunov
ee52073488
Extract Function: Limit the set of allowed containers for the default action
2014-06-02 19:48:38 +04:00
Alexey Sedunov
966def6c77
Replace accessor functions with property
2014-06-02 19:48:37 +04:00
Alexey Sedunov
6ce0ac8187
Move skipVisibility check to createTempCopy()
2014-06-02 19:48:36 +04:00
Alexey Sedunov
3c5c0248a7
Extract Function: In case of top-level and member declarations place extracted function after the original container
2014-06-02 19:48:35 +04:00
Alexander Udalov
ae7ad6d61c
Regenerate tests
2014-06-02 18:52:37 +04:00
Alexander Udalov
69dd2bbf10
Fix StringBuilder.append generation
...
append(StringBuilder) is private and should not be called
2014-06-02 18:29:39 +04:00
Laszlo Hornyak
9dec0fb779
Correct the argument types of the StringBuilder.append
...
Modified AsmUtil to generate calls to more specific append methods
in the StringBuilder class in order to save computation time and make
less temporary objects.
Also adds unit-test to verify that the append(Object) method was
invoked 0 times while the append(String) 3 times
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com >
2014-06-02 16:34:44 +04:00
Mikhael Bogdanov
34e8cae89e
KT-5112 - test file update
2014-06-02 15:21:28 +04:00
Mikhael Bogdanov
c80901bafa
KT-5112 Generic signature lost for a field copied from class object to containing class
...
#KT-5112 Fixed
2014-06-02 13:12:25 +04:00
Valentin Kipyatkov
4a7d4dffdf
Fixed KT-5142 Code completion of parameter type inserts FQ-name
...
#KT-5142 Fixed
2014-05-30 19:28:06 +04:00
Pavel V. Talanov
7973c9bfca
Do not load Icon in LightVariableBuilder constructor
2014-05-30 14:58:50 +04:00
Valentin Kipyatkov
073dcd024c
Fixed KT-5101 Partly qualified name is inserted by code completion
...
#KT-5101 Fixed
2014-05-30 14:31:20 +04:00
Valentin Kipyatkov
4be1cc2786
KT-5079 Support smart completion for when values
...
#KT-5079 Fixed
2014-05-30 14:30:36 +04:00
Nikolay Krasko
1bc8812613
Don't add space if it has been already added or it's not yet needed
2014-05-30 00:04:10 +04:00
Nikolay Krasko
a5505a6f39
Test for showing kotlin enums with "Show Inherited" option enabled in file structure view
2014-05-30 00:04:09 +04:00
Nikolay Krasko
9c68beb7bc
Tests for showing synthetic methods in file structure view
2014-05-30 00:04:09 +04:00
Nikolay Krasko
be6d68741b
Show delegated methods when "Show inherited" enabled in file structure view
2014-05-30 00:04:08 +04:00
Nikolay Krasko
582c5874b7
Tune location string in structure view
2014-05-30 00:04:08 +04:00
Nikolay Krasko
3797210b43
Fix empty name for class initializer in project view when "Show Members" enabled
2014-05-30 00:04:07 +04:00
Nikolay Krasko
c309dbe76c
Better caching: do not recount when field true value is null
2014-05-30 00:04:07 +04:00
Nikolay Krasko
3494853cc3
Add location string showing where method or property is defined
2014-05-30 00:04:06 +04:00
Nikolay Krasko
f1f13d1f2a
Show members from supertypes in file structure view (KT-4448)
...
#KT-4448 Fixed
2014-05-30 00:04:06 +04:00
Nikolay Krasko
d941deb17c
Enable members sorting in file structure view
2014-05-30 00:04:05 +04:00
Nikolay Krasko
58d9375a25
Set up rendering for structure elements
2014-05-30 00:04:04 +04:00
Nikolay Krasko
2d6dc5db68
Revise JetStructureViewElement
...
- remove 'my' prefix
- inline ItemPresentation
- use descriptor renderer instead of custom one
2014-05-30 00:04:04 +04:00
Nikolay Krasko
dfd66440b4
Tests for file structure
2014-05-30 00:04:03 +04:00
Nikolay Krasko
63d5897d93
Add structure view source roots
2014-05-30 00:04:03 +04:00
Nikolay Krasko
484fa3b7cd
Fix invalidating built-ins psi in consecutive test runs
2014-05-30 00:04:02 +04:00
Nikolay Krasko
dd00d7d004
Introduce utility method for working with multifile tests
2014-05-30 00:04:02 +04:00
Nikolay Krasko
82ddbb9d39
Minor: remove warnings
2014-05-30 00:04:01 +04:00
Alexander Udalov
796912bfcb
Provide implicit receiver to extension property initializer
...
This is safe because initializers for extension properties are forbidden
anyway, we'll just won't be generating noisy error messages about non-existent
'this'
2014-05-29 21:24:06 +04:00
Alexander Udalov
a78b7fb31f
Don't add initializer to extension property on override/implement
2014-05-29 21:24:06 +04:00
Alexander Udalov
d78d4bc44c
Disallow extension properties with backing fields
...
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov
ea31f372aa
Check for syntax/diagnostic errors in some tests
2014-05-29 21:24:05 +04:00
Alexander Udalov
2b5bc6b63d
Fix logic of forcing method return type to be wrapped
...
Return type must be wrapped if any super-method in the hierarchy, not just the
direct super-method, returns a reference type (as opposed to a primitive type)
Actually there was a test reflecting this, but it wasn't running because of an
unfixed diagnostic error
2014-05-29 21:24:02 +04:00
Alexander Udalov
33f8c49275
Minor, change test case according to its name
2014-05-29 21:07:34 +04:00
Alexander Udalov
6210e45fbc
Minor, improve test case for KT-1157
...
Multithreaded version was not working correctly and was throwing NPEs in the
log sometimes
2014-05-29 21:07:34 +04:00
Alexander Udalov
8a84d07645
Fix warnings in JVM codegen tests
...
Add generics where needed, add nullability annotations, etc.
Also delete some testcases from ArrayGenTest which will never be supported
2014-05-29 21:07:34 +04:00
Svetlana Isakova
beb7dc4524
Supported moving a labeled lambda outside parentheses
2014-05-29 17:18:47 +04:00
Svetlana Isakova
41df522234
Merge pull request #472 from wutalman/move_lambda
...
KT-4889: (Bug fix) Intention to move lambda outside parentheses now handles commas
2014-05-29 17:11:41 +04:00
Alexey Sedunov
4678a5866a
Light Classes: Track original declaration for Kotlin light fields
...
#KT-4902 Fixed
2014-05-28 21:06:01 +04:00
Alexey Sedunov
ab5e0c8c9c
Move: Retain imports when moving top-level declaration
...
#KT-5049 Fixed
2014-05-28 21:06:00 +04:00
Andrey Breslav
df413c0b47
cast() method in DiagnosticFactory
2014-05-28 14:53:30 +04:00
Natalia Ukhorskaya
d6cc62e12c
Merge remote-tracking branch 'origin/pr/465'
...
Conflicts:
libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
2014-05-28 12:12:07 +04:00
Andrey Breslav
caeb978c7a
Fix for EA-41250 - E: _JetLexer.zzScanError - Could not match input
2014-05-27 18:49:31 +04:00
Andrey Breslav
e50eb73fb1
Throw exceptions (not errors) from lexer
...
+ Add more data to the exception message
2014-05-27 18:17:46 +04:00
Evgeny Gerashchenko
453fdb0dbe
Moved tool window factory into tool window class.
2014-05-27 16:37:32 +04:00
Evgeny Gerashchenko
cd3ffb6564
Removed resolve tool window since it is not used.
2014-05-27 16:37:31 +04:00
Natalia Ukhorskaya
3557977588
Evaluate expression: ClassCastException trying evaluate kotlin expression from java file
...
EA-56624 Fixed
2014-05-27 13:42:56 +04:00
Natalia Ukhorskaya
0c2120b578
Evaluate expression: add debug expression inside block for function literals
...
EA-56887 Fixed
2014-05-27 13:42:55 +04:00
Natalia Ukhorskaya
545b8ac7c3
Add information about codeFragment and sourceFile for exceptions from Evaluate Expression
2014-05-27 13:42:55 +04:00
Natalia Ukhorskaya
ec6809ccae
Evaluate expression: pass this as first parameter
2014-05-27 13:42:54 +04:00
Nikolay Krasko
a2f369b610
Update to IDEA 135.909 (13.1.3)
2014-05-27 12:34:51 +04:00
Alexander Udalov
cc94010d07
Fix broken test data file
2014-05-26 16:49:10 +04:00
Alexander Udalov
afd3127054
Create and store necessary codegens in MemberCodegen
2014-05-26 16:48:20 +04:00
Alexander Udalov
5b99b0ceb0
Make ClassBuilderOnDemand extend ClassBuilder
...
Introduce DelegatingClassBuilder, refactor RemappingClassBuilder to use it
2014-05-26 16:48:20 +04:00
Alexander Udalov
9e325b3ebe
Remove heuristic from PackageCodegen
...
Implement the logic in a more straightforward way, move the heuristic to
JavaElementFinder where it was also used
2014-05-26 16:48:19 +04:00
Alexander Udalov
9dd81bdb3d
Refactor PackageCodegen and ClassBuilderOnDemand
...
Make ClassBuilderOnDemand non-abstract and create its instance directly in
PackageCodegen's constructor
2014-05-26 16:48:19 +04:00
Alexander Udalov
4ee7d2e72a
Simplify ClassFileFactory
...
Get rid of outdated assertions, mark createText() as TestOnly, add
NotNull/Nullable annotations.
Inline useless forClass/forTraitImpl/... methods, because this way it's simpler
and some code was already using newVisitor() anyway
2014-05-26 16:48:18 +04:00
Alexander Udalov
ae27ac1661
Minor, reorder code in ExpressionCodegen
2014-05-26 16:48:18 +04:00
Alexander Udalov
7857bc32de
Merge ParentCodegenAware and ParentCodegenAwareImpl
...
Unextend ExpressionCodegen from ParentCodegenAware and make its
getParentCodegen() non-null. This fixes some nullability warnings related to
getParentCodegen()
2014-05-26 16:48:17 +04:00
Alexander Udalov
a1d752c7ae
Minor, fix parameter type in MemberCodegen
2014-05-26 15:31:32 +04:00
Alexander Udalov
4ec8000121
Minor cleanup in FieldOwnerContext
2014-05-26 15:31:32 +04:00
Mikhael Bogdanov
69ef648005
Write outer class info for closures
2014-05-26 14:48:37 +04:00
Mikhael Bogdanov
9773015548
Fix visibility for main script function
2014-05-26 14:48:37 +04:00
Mikhael Bogdanov
449e26ce6d
New tests for outer class info
2014-05-26 14:48:34 +04:00
Mikhael Bogdanov
1a164cade8
OuterClassInfo refactoring
2014-05-26 12:43:41 +04:00
Valentin Kipyatkov
2ddcae68e8
Fixed KT-5077 Code completion inserts FQ names inside lambda
...
#KT-5077 Fixed
2014-05-23 19:16:23 +04:00
Zack Grannan
b2858e5b82
Added ConvertToConcatenatedStringIntention
2014-05-23 16:27:46 +04:00
Nikolay Krasko
8e2878a6eb
Minor: annotate parameter
2014-05-23 15:36:31 +04:00
Nikolay Krasko
80d6b0800e
Make ResolveSessionForBodies.resolveToDescriptor() work for local declarations (EA-56877)
...
Fix (EA-56877)
2014-05-23 15:36:31 +04:00
Nikolay Krasko
89f80db98f
Refactoring: more suitable method
2014-05-23 15:36:30 +04:00
Nikolay Krasko
a8642c8636
Refatoring: rewrite in PsiTreeUtil style
2014-05-23 15:36:29 +04:00
Nikolay Krasko
84fb54fcdb
More information for EA-48954
2014-05-23 15:36:29 +04:00
Nikolay Krasko
34a9d9e91d
Minor: remove warnings
2014-05-23 15:36:28 +04:00
Mikhael Bogdanov
950840b8c7
KT-5076 Error on inlining into object
...
#KT-5076 Fixed
2014-05-23 11:59:05 +04:00
Alexander Udalov
0bd482d271
Minor, don't create unnecessary map in OverrideResolver
2014-05-22 19:32:11 +04:00
Alexander Udalov
f3e8ba072d
Minor, fix "visibility modifier" positioning strategy for objects
...
It's not reproducible at the moment, but will matter if more diagnostics use
this positioning strategy
2014-05-22 19:32:11 +04:00
Alexander Udalov
3c3d120004
Prohibit implicit overrides with lesser visibility
...
A non-abstract super-declaration is allowed to stand as 'an implementation' of
a fake override only if its visibility is not less than visibilities of all
other super-declarations
#KT-2491 Fixed
2014-05-22 19:32:10 +04:00
Alexander Udalov
1706bd4a00
Render the descriptor in "cannot infer visibility" message
...
Otherwise it's unclear what member is problematic if it's a fake override
(because the diagnostic in that case is reported on the whole class)
2014-05-22 19:32:10 +04:00
Alexander Udalov
db25f568dc
Don't report "cannot infer visibility" on property accessors
...
If the diagnostic is already reported on the corresponding property, no need to
report it again for accessors
2014-05-22 19:32:10 +04:00
Alexander Udalov
9760f30c99
Don't allow fake override to inherit implementation with wrong return type
...
#KT-4763 Fixed
2014-05-22 19:32:10 +04:00
Pavel V. Talanov
05a04293ab
Update to EAP idea 135.908
2014-05-22 17:08:56 +04:00
Pavel V. Talanov
9ef700b081
Use HintManager instead of JBPopupFactory to notify of intention failure
2014-05-22 15:48:01 +04:00
Pavel V. Talanov
ca15d77f1d
Simplify logic in ReplaceWithInfixFunctionCallIntention
2014-05-22 15:47:59 +04:00
Pavel V. Talanov
3334857870
Merge PR#471: Bug Fix: KT-4613
2014-05-22 15:24:22 +04:00
Andrey Breslav
fe9de64487
Enabling creating different descriptors for different Java classes
2014-05-21 23:31:32 +04:00
Andrey Breslav
bee4dbc672
Error types should not be compared by FqName
2014-05-21 23:31:32 +04:00
Andrey Breslav
a66f44e4f5
TypeConstructor's equality for classes relies on FqNames
...
This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
(think intellij-core vs idea-full).
2014-05-21 23:31:32 +04:00
Andrey Breslav
f714382bd8
ErrorClassDescriptor moved to ErrorUtils
2014-05-21 23:31:31 +04:00
Pavel V. Talanov
e2efae3f46
Fix copying filename raising an exception
...
#KT-4990 Fixed
2014-05-21 19:21:50 +04:00
Natalia Ukhorskaya
903f262a79
Rewrite suppressing visibility errors for debugger
2014-05-21 18:37:51 +04:00
Pavel V. Talanov
2f878c1b69
Increase stub version before pushing to master
2014-05-21 16:51:03 +04:00
Pavel V. Talanov
c8a9381904
Minor: reformat JetStubElementTypes
...
After a series of messy merges :(
2014-05-21 16:51:01 +04:00
Pavel V. Talanov
b4b24262a0
Build stubs for insides of local objects and classes
2014-05-21 16:50:59 +04:00
Pavel V. Talanov
e33144f89a
Define toString() for stub impl classes via reflection
...
Update outdated test data for stub builder test
2014-05-21 16:50:55 +04:00
Pavel V. Talanov
ab4d4a309a
Remove redundant isAnnotation(), isEnum() and isInner() from PsiJetClassStub
2014-05-21 15:40:45 +04:00
Pavel V. Talanov
f5495a21d2
Minor: rename and move constant
2014-05-21 15:40:44 +04:00
Pavel V. Talanov
ed7e3b558a
Array factory used in JetDotQualifiedExpression
2014-05-21 15:40:43 +04:00
Pavel V. Talanov
0a576995c7
Use getDebugText() in LazyImportScope
2014-05-21 15:40:42 +04:00
Pavel V. Talanov
15574a2026
Store fqName as StringRef in PsiJetParameterStub
2014-05-21 15:40:41 +04:00
Pavel V. Talanov
dee1437d92
Use stub in JetImportDirective#isValidImport()
2014-05-21 15:40:40 +04:00
Pavel V. Talanov
2858552ba2
Add isValid() to PsiJetImportDirectiveStub
2014-05-21 15:40:39 +04:00
Pavel V. Talanov
fedbe424df
Use getDebugText() in AnalyzingUtils
2014-05-21 15:40:38 +04:00
Pavel V. Talanov
d50c50c0ec
Use getDebugText() in CallMaker
2014-05-21 15:40:37 +04:00
Pavel V. Talanov
ef4c15a2c8
Implement getDebugText() which should be used instead of getText() for debug purposes
2014-05-21 15:40:36 +04:00
Pavel V. Talanov
409f677559
Move getImportPath and related utils from JetPsiUtil to JetImportDirective
2014-05-21 15:40:35 +04:00
Pavel V. Talanov
c8d2bda880
Add visitJetConstructorCalleeExpression to visitors
2014-05-21 15:40:34 +04:00
Pavel V. Talanov
69890bd6ec
Refactor: Store token in JetProjectionKind
2014-05-21 15:40:33 +04:00
Pavel V. Talanov
bf20377759
Remove redundant field and constructor from PsiJetTypeParameterStubImpl
2014-05-21 15:40:32 +04:00
Pavel V. Talanov
c9193818e7
Remove unused PsiJetFunctionStub#getAnnotations()
2014-05-21 15:40:31 +04:00
Pavel V. Talanov
c9eb313ec4
Add MultiFileHighlightingTest which checks that other files are not parsed during highlighting
2014-05-21 15:40:30 +04:00
Pavel V. Talanov
b3898cfb0d
Force the user of AstAccessControl to write at least one test violating restriction, implement such tests for existing tests
...
This is needed because the slightest change in the test setup can make the check useless without the client knowing
The solution is ugly but gives at least some protection against this
2014-05-21 15:40:29 +04:00
Pavel V. Talanov
071553c66b
Extract and use ModifiersChecker#reportIllegalModifiers()
2014-05-21 15:40:28 +04:00
Pavel V. Talanov
4e9103f7ab
Remove redundant PsiJetParameterStub#isVarArg()
2014-05-21 15:40:27 +04:00
Pavel V. Talanov
dd92132eff
Make JetPackageDirective extend JetModifierListOwnerStub
...
Simplify check in DeclarationsChecker to avoid AST access
2014-05-21 15:40:26 +04:00
Pavel V. Talanov
ce68fe93f6
Use stubs to get parent in DiagnosticsWithSuppression
2014-05-21 15:40:25 +04:00
Pavel V. Talanov
64731e526d
Rename JetStubbedPsiUtil#getContainingDeclaration(PsiElement, Class, boolean) to getPsiOrStubParent
2014-05-21 15:40:24 +04:00
Pavel V. Talanov
fd280abcce
JetClassBody#getAllClassObjects() by stub
2014-05-21 15:40:23 +04:00
Pavel V. Talanov
e42e923d4e
JetPackageDirective#getPackageNameExpression() by stub
2014-05-21 15:40:22 +04:00
Pavel V. Talanov
b7c1054198
JetFile#getPackageDirective() by stub
2014-05-21 15:40:21 +04:00
Pavel V. Talanov
760b5e8d3b
JetClassBody#getProperties() by stub
2014-05-21 15:40:20 +04:00
Pavel V. Talanov
f83bcf47b7
Get enclosing property for property accessor by stub in ScopeProvider
2014-05-21 15:40:19 +04:00
Pavel V. Talanov
3099ca6501
Stubs for dot qualified expression built inside package directive
2014-05-21 15:40:18 +04:00
Pavel V. Talanov
0eebdfcd7b
Fix positioning strategy for OVERRIDING_FINAL_MEMBER
...
Remove unneeded call to AST
2014-05-21 15:40:17 +04:00
Pavel V. Talanov
cf015f2526
Stubs for JetPackageDirective
2014-05-21 15:40:16 +04:00
Pavel V. Talanov
16f4477c38
JetClass#isLocal() by stub
2014-05-21 15:40:15 +04:00
Pavel V. Talanov
8354233f85
Add multi file test for completion of enum entry
2014-05-21 15:40:14 +04:00
Pavel V. Talanov
4c39886edc
Minor: fix test data
2014-05-21 15:40:13 +04:00
Pavel V. Talanov
e10a0cca59
JetObjectDeclaration#isLocal() by stub
2014-05-21 15:40:13 +04:00
Pavel V. Talanov
fbf2cded0d
Refactor AbstractMultiFileJvmBasicCompletionTest to extend CompletionTestCase
...
Extract common code from JetFixtureCompletionBaseTestCase to CompletionTestUtil.kt
Reason for this change is that I couldn't get the check that prohibits tree loading to work with fixture test case
2014-05-21 15:40:12 +04:00
Pavel V. Talanov
1bc4872baf
Avoid accessing stubs in JetFileStubBuilder
...
Probable fix of SOE in file stub building
2014-05-21 15:40:10 +04:00
Pavel V. Talanov
1f5b0b5abb
Minor: use getBody() in JetObjectDeclaration instead of obtaining it manually
2014-05-21 15:40:10 +04:00
Pavel V. Talanov
0d4feb3bf3
JetInitializerList#getInitializers() by stub
2014-05-21 15:40:09 +04:00
Pavel V. Talanov
72bdacb074
Add explicit return types to several test data files so that AST access is not needed
...
Test cases are chosen so that addition/removal of explicit type will not interfere with the original purpose of the test
2014-05-21 15:40:08 +04:00
Pavel V. Talanov
a807712ce7
Mark test data files for cases which can't be resolved without AST access
2014-05-21 15:40:07 +04:00
Pavel V. Talanov
fd3d322300
Add LazyResolveByStubTest
...
Tests that lazy resolve uses stubs instead of AST
2014-05-21 15:40:05 +04:00
Pavel V. Talanov
977f4ac070
Get parent by stub in ScopeProvider
2014-05-21 15:40:04 +04:00
Pavel V. Talanov
2f72731d85
Get parent by stub in DescriptorResolver
2014-05-21 15:40:04 +04:00
Pavel V. Talanov
ba014552c8
Get parent by stub in LazyTypeParameterDescriptor
2014-05-21 15:40:03 +04:00
Pavel V. Talanov
97ad9320ad
Get parent by stub in PsiCodegenPredictor
2014-05-21 15:40:02 +04:00
Pavel V. Talanov
f15d363087
Do not invoke getDelegateExpression before it is needed
2014-05-21 15:40:01 +04:00
Pavel V. Talanov
5078be1564
JetFunctionTypeReceiver#getTypeReference() by stub
2014-05-21 15:40:00 +04:00
Pavel V. Talanov
c7c9b5f584
JetEnumEntry#getDelegationSpecifiers() by stub
2014-05-21 15:39:59 +04:00
Pavel V. Talanov
77cb81f282
Stubs for JetInitializerList
2014-05-21 15:39:58 +04:00
Pavel V. Talanov
5ad1fac2b2
JetPropertyAccessor#isGetter(), isSetter(), hasBody(), getReturnTypeReference() by stub
2014-05-21 15:39:57 +04:00
Pavel V. Talanov
b9aaab12d4
Introduce JetParameter#hasDefaultValue() and use it instead of getDefaultValue() where appropriate
2014-05-21 15:39:56 +04:00
Pavel V. Talanov
5bf5dfc5a4
Use hasInitializer() instead of getInitializer() in DescriptorResolver
2014-05-21 15:39:55 +04:00
Pavel V. Talanov
b67b5f92f8
Remove AST query in DescriptorResolver#resolvePrimaryConstructorParameterToAProperty()
2014-05-21 15:39:54 +04:00
Pavel V. Talanov
24ffe3dbb9
Do not call getInitializer() for variables before it is needed when computing compile time constants
2014-05-21 15:39:53 +04:00
Pavel V. Talanov
9aba5beec7
Add hasInitializer() to JetWithExpressionInitializer interface
2014-05-21 15:39:52 +04:00
Pavel V. Talanov
6759d625f7
JetProperty#getAccessors() by stub
2014-05-21 15:39:51 +04:00
Pavel V. Talanov
ada9845b5f
JetProperty#getReceiverTypeRef() and getReturnTypeRef() by stub
2014-05-21 15:39:50 +04:00
Pavel V. Talanov
abda0deac8
Stubs for JetPropertyAccessor
2014-05-21 15:39:49 +04:00
Pavel V. Talanov
ba578422cd
Add hasReceiverTypeRef() and hasReturnTypeRef() to PsiJetPropertyStub
2014-05-21 15:39:48 +04:00
Pavel V. Talanov
86ac8bbd65
Use stubs in has* methods of JetProperty
2014-05-21 15:39:47 +04:00
Pavel V. Talanov
736465f1c6
Add hasDelegate(), hasDelegateExpression() and hasInitializer() to PsiJetPropertyStub
2014-05-21 15:39:46 +04:00
Pavel V. Talanov
a61ab440d7
Extract JetProperty#hasInitializer() and use it where appropriate
2014-05-21 15:39:45 +04:00
Pavel V. Talanov
58651d02c2
Extract JetProperty#hasDelegate() and hasDelegateExpression() and use it where appropriate
2014-05-21 15:39:44 +04:00
Pavel V. Talanov
e424b89d82
Extract JetProperty#hasDelegateExpressionOrInitializer() and use it where appropriate
2014-05-21 15:39:43 +04:00
Pavel V. Talanov
c14843bc49
Remove unused fields and redundant constructor from PsiJetPropertyStubImpl
2014-05-21 15:39:42 +04:00
Pavel V. Talanov
bfd5489e90
Rewrite DescriptorResolver#checkParameterHasNoModifier() to avoid accessing tree before illegal modifier is detected
2014-05-21 15:39:41 +04:00
Pavel V. Talanov
904e2fe1fc
JetAnnotation#getEntries() by stub
2014-05-21 15:39:40 +04:00
Pavel V. Talanov
40311144f4
JetTypeConstraint#getBoundTypeReference() by stub
2014-05-21 15:39:39 +04:00
Pavel V. Talanov
31bebf924a
JetTypeConstraint#getStubTypeParameterName() and isClassObjectConstraint() by stub
2014-05-21 15:39:38 +04:00
Pavel V. Talanov
cbbcb861bb
JetTypeConstraintList#getConstraints() by stub
2014-05-21 15:39:37 +04:00
Pavel V. Talanov
dce4d259d9
Stubs for JetTypeConstraint
2014-05-21 15:39:36 +04:00
Pavel V. Talanov
9aa5681d80
Introduce JetParameter#hasValOrVarNode() and use it instead of getValOrVarNode()
2014-05-21 15:39:35 +04:00
Pavel V. Talanov
26452c845c
Positioning strategy used in "conflicting upper bounds" error messages
2014-05-21 15:39:34 +04:00
Pavel V. Talanov
94270e3486
Use stubs in JetAnnotationEntry#getValueArgumentList()
2014-05-21 15:39:33 +04:00
Pavel V. Talanov
f0a36ae4e0
Add hasValueArguments() to PsiJetAnnotationEntryStub
2014-05-21 15:39:32 +04:00
Pavel V. Talanov
12d701b071
JetAnnotationEntry#getCalleeExpression() by stub
2014-05-21 15:39:31 +04:00
Pavel V. Talanov
46d2d95de6
JetConstructorCalleeExpression#getTypeReference() by stub
2014-05-21 15:39:30 +04:00
Pavel V. Talanov
8b95fd1d0c
JetDelegatorToSuperCall#getCalleeExpression() by stub
2014-05-21 15:39:29 +04:00
Pavel V. Talanov
029a792165
JetNullableType#getInnerType() by stub
2014-05-21 15:39:28 +04:00
Pavel V. Talanov
3dbc77c809
Stubs for JetConstructorCalleeExpression
2014-05-21 15:39:27 +04:00
Pavel V. Talanov
f22e9e185a
Move utility to JetStubbedPsiUtil
...
Extract utility to obtain child of several possible element types
2014-05-21 15:39:26 +04:00
Pavel V. Talanov
b08f37345e
JetDelegationSpecifier#getTypeReference() by stub
2014-05-21 15:39:25 +04:00
Pavel V. Talanov
e5cec5aaeb
JetDelegationSpecifierList#getDelegationSpecifiers() by stub
2014-05-21 15:39:24 +04:00
Pavel V. Talanov
5d8d743600
JetObjectDeclaration#getBody() by stub
2014-05-21 15:39:23 +04:00
Pavel V. Talanov
ea42b77cdb
JetObjectDeclaration#getDelegationSpecifierList() by stub
2014-05-21 15:39:22 +04:00
Pavel V. Talanov
e4ab5b93b1
Retrieve containing class for JetClassObject by stub in ResolveSession#getClassObjectDescriptor()
2014-05-21 15:39:21 +04:00
Pavel V. Talanov
cb4dadb9aa
Retrieve JetClassObject element by stub in ResolveSession#getClassDescriptor()
2014-05-21 15:39:20 +04:00
Pavel V. Talanov
faa7f8fc6b
Add util class for stubbed PSI
...
Implement methods to find parent by stub
2014-05-21 15:39:19 +04:00
Pavel V. Talanov
c5977bff96
JetClassObject#getObjectDeclaration() by stub
2014-05-21 15:39:18 +04:00
Pavel V. Talanov
76608ff01b
Stubs for delegation specifiers
2014-05-21 15:39:17 +04:00
Pavel V. Talanov
1f3797ffb2
JetModifierList#getAnnotations() and getAnnotationEntries() by stub
2014-05-21 15:39:16 +04:00
Pavel V. Talanov
70f85bd2a2
JetFile#getDeclarations() by stub
2014-05-21 15:39:15 +04:00
Pavel V. Talanov
7046168868
Add isLocal() to JetClassOrObject, use it where appropriate
2014-05-21 15:39:14 +04:00
Pavel V. Talanov
77a6b4444b
Add missing types to DECLARATION_TYPES and move to JetStubElementTypes
2014-05-21 15:39:13 +04:00
Pavel V. Talanov
ffdc11c356
Stubs for JetClassInitializer
2014-05-21 15:39:12 +04:00
Pavel V. Talanov
6a824fd568
JetModifierList#hasKeyword() by stub
2014-05-21 15:39:11 +04:00
Pavel V. Talanov
35121643b1
Fix stubs for JetModifierList, store modifier tokens in stub
2014-05-21 15:39:10 +04:00
Pavel V. Talanov
b7d029368e
JetTypeProjection#getTypeReference() by stub
2014-05-21 15:39:09 +04:00
Pavel V. Talanov
a2a7b8a37a
JetTypeProjection#getProjectionKind() by stub
2014-05-21 15:39:08 +04:00
Pavel V. Talanov
f74c1aeb98
JetTypeArgumentList#getArguments() by stub
2014-05-21 15:39:08 +04:00
Pavel V. Talanov
254bfdd879
Extract JetModifierListOwnerStub, make JetTypeProjection extend JetModifierListOwnerStub
2014-05-21 15:39:07 +04:00
Pavel V. Talanov
b4ec9a5d1a
Stubs for JetTypeProjection
2014-05-21 15:39:06 +04:00
Pavel V. Talanov
f9a051e71e
JetNamedFunction#hasTypeParameterListBeforeFunctionName() by stub
2014-05-21 15:39:05 +04:00
Pavel V. Talanov
1d112c3358
Add hasTypeParameterListBeforeFunctionName() to PsiJetFunctionStub
2014-05-21 15:39:04 +04:00
Pavel V. Talanov
0418085bc9
Inline constructor of PsiJetFunctionStubImpl
2014-05-21 15:39:03 +04:00
Pavel V. Talanov
edc7b8a81d
JetTypeParameter#getExtendsBound() by stub
2014-05-21 15:39:02 +04:00
Pavel V. Talanov
7e56311d6f
Add isTopLevel() to PsiJetClassStub
2014-05-21 15:39:01 +04:00
Pavel V. Talanov
6a6a52e53c
Minor: inline consturctor of PsiJetClassStubImpl
2014-05-21 15:39:00 +04:00
Pavel V. Talanov
b5374584bb
Add and use JetClassOrObject#isTopLevel()
2014-05-21 15:38:59 +04:00
Pavel V. Talanov
0bc176892f
JetObjectDeclaration#getModifierList() by stub
2014-05-21 15:38:58 +04:00
Pavel V. Talanov
cf5b35fbe6
JetFunctionType#getReturnTypeRef() by stub
2014-05-21 15:38:57 +04:00
Pavel V. Talanov
08335938aa
JetFunctionType#getParameterList() by stub
2014-05-21 15:38:56 +04:00
Pavel V. Talanov
b165e3f6da
JetFunctionType#getReceiverTypeRef() by stub
2014-05-21 15:38:55 +04:00
Pavel V. Talanov
b6f507c0ae
Stubs for JetFunctionTypeReceiver
2014-05-21 15:38:54 +04:00
Pavel V. Talanov
1e04ff670d
Stubs for JetFunctionType
2014-05-21 15:38:53 +04:00
Pavel V. Talanov
735188e76f
JetClassBody#getClassObject() by stub
2014-05-21 15:38:52 +04:00
Pavel V. Talanov
19cf463831
JetClass#getBody() by stub
2014-05-21 15:38:51 +04:00
Pavel V. Talanov
40369f1e3b
REVIEW: JetClassBody#getDeclarations() by stub
2014-05-21 15:38:50 +04:00
Pavel V. Talanov
741dba111b
JetClass#getDeclarations() by stub
2014-05-21 15:38:49 +04:00
Pavel V. Talanov
bceb5c3970
JetClass#getDelegationSpecifierList() by stub
2014-05-21 15:38:48 +04:00
Pavel V. Talanov
cc3b1ed07b
Stub for JetDelegationSpecifierList
2014-05-21 15:38:47 +04:00
Pavel V. Talanov
276cd58b98
JetImportDirective#getAliasName() by stub
2014-05-21 15:38:46 +04:00
Pavel V. Talanov
abcff9c3a1
Add aliasName to PsiJetImportDirectiveStub
2014-05-21 15:38:45 +04:00
Pavel V. Talanov
440441899b
getReceiverExpression() and getSelectorExpression() in JetDotQualifiedExpression using stubs
2014-05-21 15:38:44 +04:00
Pavel V. Talanov
1002999921
isAllUnder(), inAbsoluteInPackage() and getImportedReference() for JetImportDirective using stubs
2014-05-21 15:38:43 +04:00
Pavel V. Talanov
b423ff3cd7
Add ArrayFactory to JetExpression
2014-05-21 15:38:42 +04:00
Pavel V. Talanov
95f9610f06
Add isAbsoluteInRootPackage and isAllUnder to PsiJetImportDirectiveStub
2014-05-21 15:38:41 +04:00
Pavel V. Talanov
927b1971de
Stub for JetDotQualifiedExpression
2014-05-21 15:38:40 +04:00
Pavel V. Talanov
1112198e42
Make JetDotQualifiedExpression extend JetElementImplStub
2014-05-21 15:38:39 +04:00
Pavel V. Talanov
fed01eb003
Rewrite JetQualifiedExpression to kotlin and make it a trait
...
Move implementation to JetQualifiedExpressionImpl class
2014-05-21 15:38:38 +04:00
Pavel V. Talanov
28f169df4a
Introduce JetExpressionImplStub
2014-05-21 15:38:37 +04:00
Pavel V. Talanov
52dc053061
JetObjectDeclaration#isObjectLiteral() by stub
2014-05-21 15:38:36 +04:00
Pavel V. Talanov
c123cfba59
Add isObjectLiteral() to PsiJetObjectStub
2014-05-21 15:38:35 +04:00
Pavel V. Talanov
24d0d23144
Minor: inline redundant constructor of PsiJetObjectStubImpl
2014-05-21 15:38:34 +04:00
Pavel V. Talanov
1661a2e4f5
Stubs for JetClassObject
2014-05-21 15:38:33 +04:00
Pavel V. Talanov
8835063188
JetObjectDeclaration#getClassObject() by stub
2014-05-21 15:38:32 +04:00
Pavel V. Talanov
4392e47210
Use psi methods in JetObjectInfo to determine if object is in fact class object
2014-05-21 15:38:31 +04:00
Pavel V. Talanov
9df3e8a036
JetClass#getPrimaryConstructorParameterList by stub
2014-05-21 15:38:30 +04:00
Pavel V. Talanov
fe82fff099
Use stub in JetParameter#getDefaultValue()
2014-05-21 15:38:29 +04:00
Pavel V. Talanov
e8d065a80f
Add PsiJetParameterStub#hasDefaultValue
2014-05-21 15:38:28 +04:00
Pavel V. Talanov
f8d9a69aa9
Remove unused fields in PsiJetParameterStub
2014-05-21 15:38:27 +04:00
Pavel V. Talanov
b33e43c416
Use stub in JetParameter#getValOrValNode()
2014-05-21 15:38:27 +04:00
Pavel V. Talanov
420cae5307
Add PsiJetParameterStub#hasValOrValNode
2014-05-21 15:38:26 +04:00
Pavel V. Talanov
b52474381b
JetUserType#getTypeArgumentList by stub
2014-05-21 15:38:25 +04:00
Pavel V. Talanov
0576dd15f0
Stubs for JetTypeArgumentList
2014-05-21 15:38:24 +04:00
Pavel V. Talanov
895dd51009
JetUserType#getQualifier by stub
2014-05-21 15:38:23 +04:00
Pavel V. Talanov
0ac56dd393
JetUserType#isAbsoluteInRootPackage by stub
2014-05-21 15:38:22 +04:00
Pavel V. Talanov
2d1b765943
JetUserType#getReferenceExpression by stub
2014-05-21 15:38:21 +04:00
Pavel V. Talanov
da9d57f7ac
JetNameReferenceExpression#getReferencedName() by stub
2014-05-21 15:38:20 +04:00
Pavel V. Talanov
0674d2495c
Stubs for JetNameReferenceExpression
2014-05-21 15:38:19 +04:00
Pavel V. Talanov
19a60dda3f
Missing JetElementImplStub#getReferences() and getReference() implementation
2014-05-21 15:38:18 +04:00
Pavel V. Talanov
3ea5011549
Make JetSimpleNameExpression#isImportDirectiveExpression extension function and move it to util class
2014-05-21 15:38:17 +04:00
Pavel V. Talanov
5940353552
More specific return type for JetUserType#getReferenceExpression
2014-05-21 15:38:16 +04:00
Pavel V. Talanov
60efb13b11
JetTypeReference#getTypeElement() by stub
2014-05-21 15:38:15 +04:00
Pavel V. Talanov
faa30da399
Fix KotlinImportOptimizer after change to imports
2014-05-21 15:38:14 +04:00
Pavel V. Talanov
bb26e08b7b
JetTypeReference#getAttributeAnnotations() by stubs
2014-05-21 15:38:13 +04:00
Pavel V. Talanov
2e23d27b0d
Stubs for JetAnnotation
2014-05-21 15:38:12 +04:00
Pavel V. Talanov
7e59f0d68c
Rename: AnnotationStub -> AnnotationEntryStub
2014-05-21 15:38:11 +04:00
Pavel V. Talanov
a604efebd9
JetNamedFunction#hasBody() by stub
2014-05-21 15:38:10 +04:00
Pavel V. Talanov
66aae37bc6
Refactor: add hasBody() to JetDeclarationWithBody interface
...
Use it where appropriate
2014-05-21 15:38:09 +04:00
Pavel V. Talanov
e7fd8c4118
Add PsiJetFunctionStub#hasBody()
2014-05-21 15:38:08 +04:00
Pavel V. Talanov
737177a56e
JetNamedFunction#hasBlockBody() by stub
2014-05-21 15:38:07 +04:00
Pavel V. Talanov
1592e649d7
Add PsiJetFunctionStub#hasBlockBody()
2014-05-21 15:38:06 +04:00
Pavel V. Talanov
ab0b529f05
JetValueParameter#getTypeReference() by stub
2014-05-21 15:38:05 +04:00
Pavel V. Talanov
581ecda0f2
JetNamedFunction#getReceiverTypeRef and getReturnTypeRef by stub
2014-05-21 15:38:04 +04:00
Pavel V. Talanov
56e3500eaa
Stubs for JetUserType
2014-05-21 15:38:03 +04:00
Pavel V. Talanov
2b3175a0bf
Stubs for JetTypeReference
2014-05-21 15:38:02 +04:00
Pavel V. Talanov
be2f77d0f9
Stubs for JetNullableType
2014-05-21 15:38:01 +04:00
Pavel V. Talanov
1d3a3aea09
Introduce helper method to get stub or psi children as list
...
Add ArrayFactory to JetStubElement
Remove redundant array factories
2014-05-21 15:38:00 +04:00
Pavel V. Talanov
eb27020340
Stubs: reduce the amount of boilerplate code
...
Extract a common type for placeholder stub elements
2014-05-21 15:37:59 +04:00
Pavel V. Talanov
512d1c05df
Minor: make JetTypeElement an interface
2014-05-21 15:37:58 +04:00
Pavel V. Talanov
c504082eb7
JetTypeParameterListOwnerStub#getTypeConstraintList() by stub
2014-05-21 15:37:57 +04:00
Pavel V. Talanov
5c0202c735
Stubs for JetTypeConstraintList
2014-05-21 15:37:56 +04:00
Pavel V. Talanov
3b5ee6fdf0
JetDeclaration#getModifierList() by stub
...
JetClass#getPrimaryConstructorModifierList() by stub
2014-05-21 15:37:55 +04:00
Pavel V. Talanov
97d19d4b16
Stubs for JetModifierList
2014-05-21 15:37:54 +04:00
Pavel V. Talanov
78c1717eed
JetFile#getImportList() and JetImportList#getImports() by stubs
2014-05-21 15:37:53 +04:00
Pavel V. Talanov
2ab81d3b79
JetTypeParameterListOwnerStub#getTypeParameterList by stub
2014-05-21 15:37:52 +04:00
Pavel V. Talanov
b19288cd47
Stubs for JetImportDirective
2014-05-21 15:37:51 +04:00
Pavel V. Talanov
684ead7b58
Stubs for JetImportList
2014-05-21 15:37:50 +04:00
Pavel V. Talanov
43e22ab5c1
Make JetSimpleNameExpression#getReceiverExpression extension function and move it to util class
2014-05-21 15:37:49 +04:00
Pavel V. Talanov
e84eebec5b
Make JetSimpleNameExpression a trait
2014-05-21 15:37:48 +04:00
Pavel V. Talanov
6413691c33
Rewrite JetSimpleNameExpression and inheritors to Kotlin
2014-05-21 15:37:47 +04:00
Pavel V. Talanov
c2f28a16b4
Make JetReferenceExpression an interface
2014-05-21 15:37:46 +04:00
Pavel V. Talanov
00eabde4ec
Make JetSimpleNameExpression abstract, create subclasses for each element type
...
It's not a good practice to have one PSI class to correspond to several element types
2014-05-21 15:37:45 +04:00
Andrey Breslav
5c1cb6cbd1
Minor. More specific return type
2014-05-21 15:26:05 +04:00
Andrey Breslav
773cb9efbe
Signature comparison used to find super functions in SignaturesPropagationData
...
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Andrey Breslav
44849f8504
Move JvmMethodSignature to frontend.java
2014-05-21 15:26:04 +04:00
Mikhael Bogdanov
a622638e45
Code clean
2014-05-21 13:56:09 +04:00
Mikhael Bogdanov
6ad2814b01
Suppot inlining default methods, inlining function into its default.
2014-05-21 13:56:09 +04:00
Mikhael Bogdanov
b3fef4a7a0
Substitute Call with JetElement in InliningContext to support default inlining (there is no call)
2014-05-21 13:56:08 +04:00
Mikhael Bogdanov
086208f7b9
Code clean
2014-05-21 13:56:08 +04:00
Mikhael Bogdanov
d73ffc2f48
Diagnostic update to support default parameters in inline methods
2014-05-21 13:56:08 +04:00
Andrey Breslav
3bd1329846
Fix file name case
2014-05-21 13:38:08 +04:00
Andrey Breslav
269e4ae828
SwapBinaryExpression: implementation cleaned up, tests renamed
...
#KT-4868 Fixed
2014-05-21 12:56:43 +04:00
Lingzhang
acf1dc1912
KT-4868 Bug Fix for Swap Binary Expression Intention
2014-05-21 12:56:39 +04:00
Natalia Ukhorskaya
7e66d67b95
EvaluateExpression: pass invokePolicy flag to eval4j
2014-05-21 12:26:58 +04:00
Natalia Ukhorskaya
51b95181f0
Eval4j: add invokePolicy flag to jdiEval
2014-05-21 12:26:58 +04:00
Alexander Udalov
9c04c9ea38
Fix stdlib tests on JVM
...
#KT-5064 Open
2014-05-21 02:04:36 +04:00
Alexander Udalov
af3d56b44e
Fix JVM type mapping of arrays of type variables
...
#KT-4262 Fixed
#KT-5056 Fixed
2014-05-20 19:22:53 +04:00
Alexander Udalov
4e8d6d4882
Report ABI version errors before diagnostics and other errors
...
Otherwise they're difficult to find in the end of the compiler messages
2014-05-20 19:22:53 +04:00
Valentin Kipyatkov
c56b5bfd61
Added 2 tests
2014-05-20 18:56:48 +04:00
Valentin Kipyatkov
5ce3df4845
KT-5025 Unnecessary qualifier inserted for class
...
#KT-5025 Fixed
2014-05-20 18:56:48 +04:00
Natalia Ukhorskaya
58b82baa2b
Remove unnecessary error report from extract function
2014-05-20 16:12:55 +04:00
Natalia Ukhorskaya
d263621ef5
Evaluate expression: refactor error messages
2014-05-20 16:12:53 +04:00
Natalia Ukhorskaya
47ecfd0f8d
Evaluate expression: rethrow exceptions from evaluate expression
2014-05-20 15:38:14 +04:00
Svetlana Isakova
cab8709f1c
Rename: JetNodeTypes.LABEL_REFERENCE -> LABEL
...
There is LABEL_REFERENCE node in LabeledExpression, but it isn't a reference there
2014-05-20 15:07:03 +04:00
Svetlana Isakova
e0f37bbef0
Generate parse error on label without name '@'
2014-05-20 15:07:03 +04:00
Svetlana Isakova
f109cfc303
Replaced PrefixExpression with LabeledExpression
...
where labeled expression is used
Added 'visitLabeledExpression'
2014-05-20 15:07:02 +04:00
Svetlana Isakova
04729f5985
Added JetLabeledExpression; added support to parser
2014-05-20 15:07:01 +04:00
Svetlana Isakova
f187c4f093
Minor: added annotation, used util method
2014-05-20 15:07:01 +04:00
Svetlana Isakova
07c0d87a8f
Rename
...
JetLabelQualifiedExpression -> JetExpressionWithLabel
JetLabelQualifiedInstanceExpression -> JetInstanceExpressionWithLabel
2014-05-20 15:07:00 +04:00
Svetlana Isakova
9b70ab7d16
Removed AT, ATAT tokens
...
Checks 'in LABELS token set' replaced with LABEL_IDENTIFIER equality
2014-05-20 15:07:00 +04:00
Svetlana Isakova
012953529c
Don't parse @, @@ as independent tokens
...
Regenerated lexer
2014-05-20 15:06:59 +04:00
Svetlana Isakova
69e5444ddf
Added tests on labels
...
#KT-1703 Fixed
#KT-361 Fixed
#KT-3920 Fixed
#KT-3988 Fixed
#KT-4247 Fixed
#KT-4586 Fixed
#KT-4603 Fixed
#KT-591 Fixed
2014-05-20 15:06:59 +04:00
Svetlana Isakova
a02af7344e
LabelResolver refactoring: rename public methods
...
resolveLabel -> resolveControlLabel
resolveThisLabel -> resolveThisOrSuperLabel
+ small improvements
2014-05-20 14:58:50 +04:00
Svetlana Isakova
8c8db832f1
LabelResolver refactoring: removed 'reportUnresolved' parameter
2014-05-20 14:58:50 +04:00
Svetlana Isakova
2952ff558a
Made LabelResolver a singleton
2014-05-20 14:58:50 +04:00
Svetlana Isakova
f3f2bf5123
Removed cache for labeled elements
...
Resolve labels on the fly
2014-05-20 14:58:50 +04:00
Svetlana Isakova
3bcdbee2bf
Removed LabelName class, used Name instead
2014-05-20 14:58:49 +04:00
Alexander Udalov
98f80fe1e0
Increase ABI version after changes to FunctionImpl* classes
2014-05-19 19:50:59 +04:00
Alexander Udalov
54c21ffbf3
Delete K*FunctionNImpl classes
...
In favor of KFunctionImpl, KMemberFunctionImpl and KExtensionFunctionImpl
2014-05-19 19:50:59 +04:00
Alexander Udalov
8f7c0f0b65
Introduce KFunctionImpl, KMemberFunctionImpl, KExtensionFunctionImpl
...
Old 23*3 classes will be dropped, since they have no value.
Simplify JvmFunctionImplTypes significantly because of that
2014-05-19 19:50:59 +04:00
Alexander Udalov
ccead8e337
Replace some usages of ERROR_CLASS with new instance creation
...
Because when some class is unresolved, we can still hold some information such
as its FQ name, for debugging purposes and better error messages
2014-05-19 19:50:59 +04:00
Alexander Udalov
54a44b1533
Introduce AbstractTypeParameterDescriptor
...
- pull the logic up from TypeParameterDescriptorImpl and
AbstractLazyTypeParameterDescriptor (it was mostly duplicated)
- delete some unused methods
2014-05-19 19:50:59 +04:00
Alexander Udalov
31e8622471
Remove suspicious JetTypeImpl constructors
...
Most of the time they were used for classes without type parameters, and
getDefaultType() is supposed to be used there (additionally it may be cached)
2014-05-19 19:50:59 +04:00
Alexander Udalov
3ffa7cdcf8
Minor optimization in KotlinBuiltIns.isSpecialClassWithNoSupertypes
2014-05-19 19:50:58 +04:00
Alexander Udalov
5fdb9e6218
Change logic of loading "suppress" annotation class descriptor
...
Instead of loading the descriptor and checking equals(), we now check if the
annotation is in fact "suppress" by simply comparing its FQ name. This allows
us to suppress warnings while compiling built-ins: the problem is that
built-ins have its own "suppress" annotation class (defined in the sources)
which differs from the one loaded by the compiler (from kotlin-compiler.jar)
2014-05-19 19:50:58 +04:00
Alexander Udalov
5488a8402f
Move and rename KFunctionImpl classes
...
Move from package "kotlin.reflect" to "kotlin.reflect.jvm.internal". They are
internal detail of the compiler and should not be used directly (especially now
that "kotlin.reflect" is in default import paths).
Also rename "KFunctionImplN" to "KFunctionNImpl", because this name makes more
sense
2014-05-19 19:50:58 +04:00
Alexander Udalov
de8b2b3668
Fix generic signature for SAM adapters and constructors
...
SAM-related code in codegen was using JavaClassDescriptor directly, which has
an erased signature. Create and use a new abstraction SamType which has a full
generic signature of a type which was used in the SAM construct
2014-05-19 19:50:58 +04:00
Alexander Udalov
51a16fe491
Drop FunctionImplN and ExtensionFunctionImplN
...
We have FunctionImpl and ExtensionFunctionImpl classes now (2 classes, not 46)
2014-05-19 19:50:58 +04:00
Alexander Udalov
41eb0deaa0
Introduce FunctionImpl and ExtensionFunctionImpl classes
...
Old FunctionImpl0,1,2,... will be dropped since they had no purpose
2014-05-19 19:50:58 +04:00
Alexander Udalov
845e3323f9
Create error type if reflection class isn't found
...
Introduce a new diagnostic fired when reflection types aren't found in the
classpath
2014-05-19 19:50:57 +04:00
Alexander Udalov
9503056dd5
Add default import "kotlin.reflect"
2014-05-19 19:50:57 +04:00
Alexander Udalov
0c2c203e96
Move KFunctionN classes to package "kotlin.reflect"
2014-05-19 19:50:57 +04:00
Alexander Udalov
3dc92c209f
Don't compile Java sources of built-ins
...
Module 'builtins' no longer has (and is not supposed to have) Java sources
2014-05-19 19:50:57 +04:00
Alexander Udalov
c7a7f31e82
Introduce module 'reflection', move KFunctionN to it
...
Metadata for KFunction classes is now longer serialized along with built-in
classes. This effectively means that it's no longer possible to find KFunction
classes via dependency on built-ins. There should be a kotlin-runtime library
in the specified classpath for reflection types to be resolvable.
A lot of tests were moved and changed, because tests on callable references
require stdlib in classpath from now on
2014-05-19 19:50:57 +04:00
Alexander Udalov
c1cd8bf069
Use module instead of KotlinBuiltIns in ReflectionTypes
2014-05-19 19:50:56 +04:00
Alexander Udalov
357fe5cb17
Pass module to GenerationState
...
- get rid of a hack there which was used to obtain any module, to be used in
ReflectionTypes
- delete unused getError() in LightClassConstructionContext which was always
null
- fix some minor warnings
2014-05-19 19:50:56 +04:00
Alexander Udalov
b27b8bf8b2
Extract DescriptorUtils.getContainingModule()
2014-05-19 19:50:56 +04:00
Alexander Udalov
a26ed665d9
Don't log stack trace for warning
...
These stack traces are confusing and create a feeling that an exception was
thrown
2014-05-19 19:50:56 +04:00
Alexander Udalov
972ef525ed
Regenerate tests
2014-05-19 19:48:30 +04:00
Alexander Udalov
7b21c5c8c3
Fix .gitignore
...
Specific paths needs to be excluded only from the root directory. Otherwise you
couldn't for example create a directory named 'dependencies' somewhere in tests
2014-05-19 19:45:55 +04:00
Andrey Breslav
7bce9060e2
Better handling of PackageTypes in KotlinBuiltIns
2014-05-19 19:28:14 +04:00
Andrey Breslav
a05c8a3d96
Minor. Duplication eliminated
2014-05-19 18:56:38 +04:00
Andrey Breslav
38954fc2ba
Utility method used instead of manual creation of an injector
2014-05-19 18:56:38 +04:00
Andrey Breslav
f72dcb8ee2
Fix for EA-53605 - UOE: PackageType.throwException
2014-05-19 17:02:18 +04:00
Andrey Breslav
8885d5709e
Private inside a package should be visible only inside this package in the same module
2014-05-19 13:02:25 +04:00
Andrey Breslav
9983a567d4
Multi-module diagnostic tests supported
...
Test added for internal visibility
2014-05-19 13:02:25 +04:00
Andrey Breslav
236f38a26b
Support modules in multi-file tests
2014-05-19 11:39:37 +04:00
Andrey Breslav
0ccb82344d
Error message fixed
2014-05-19 11:39:36 +04:00
Zack Grannan
42f186b33f
Added String Concat -> Interpolation Intention (KT-4750)
2014-05-16 19:00:25 +04:00
Mikhael Bogdanov
380f1875b8
Don't generate default method implementation in package facade (just delegation)
2014-05-16 18:34:07 +04:00
Nikolay Krasko
391d40e792
Fix error alignment for binary expression parts
2014-05-16 17:10:04 +04:00
Nikolay Krasko
d4ddf06ebd
Fix problem with alignment in assignments and other binary expressions
2014-05-16 17:10:04 +04:00
Nikolay Krasko
356cb80e7f
Indent for multideclarations
2014-05-16 17:10:03 +04:00
Nikolay Krasko
b958e0d6b8
Allow empty blocks for classes and function literals
2014-05-16 17:10:02 +04:00
Nikolay Krasko
3d588acd2d
Add space between 'when' and '('
2014-05-16 17:10:02 +04:00
Nikolay Krasko
6b8ab1a604
Minor: remove warning
2014-05-16 17:10:01 +04:00
Nikolay Krasko
9eb2615ac3
Don't remove linebreak after smb. else's statement }
2014-05-16 17:10:00 +04:00
Nikolay Krasko
8eb8e5a928
Fix spacing after return (KT-4947)
...
#KT-4947 Fixed
2014-05-16 17:10:00 +04:00
Nikolay Krasko
3f96b4775f
Better indententation on enter in lambdas
2014-05-16 17:09:59 +04:00
Nikolay Krasko
109f7992b4
Format functions with function literal arguments (KT-2934)
...
#KT-2934 Fixed
2014-05-16 17:09:58 +04:00
Nikolay Krasko
eeea34ec9e
Refactoring: rename class
2014-05-16 17:09:58 +04:00
Nikolay Krasko
47400f90ce
Refactoring: rename method, extract method, static import
2014-05-16 17:09:57 +04:00
Nikolay Krasko
2b847cd885
Formatting enum delegations lists
2014-05-16 17:09:57 +04:00
Nikolay Krasko
5839fda22f
Fix recovery in enum initializers
2014-05-16 17:09:56 +04:00
Nikolay Krasko
ad0e6dadf4
Minor: code clean up
2014-05-16 17:09:55 +04:00
Nikolay Krasko
650a3533f1
Refactoring: use extension functions to modify API
2014-05-16 17:09:55 +04:00
Nikolay Krasko
2a693bcada
Formatting index calls
2014-05-16 17:09:54 +04:00
Nikolay Krasko
cd3aa06a83
Fix 'In multiline class declaration the indent before parent's name is destroyed' (KT-3848)
...
#KT-3848 Fixed
2014-05-16 17:09:53 +04:00
Nikolay Krasko
850987748e
Fix 'Formatting after braceless class declaration' (KT-3858)
...
It's irrelevant that element is incompleted when new node is being add to the middle
#KT-3858
2014-05-16 17:09:53 +04:00
Nikolay Krasko
5e50b98103
Fix comment to KT-3370 about no formatting of spaces around colon in objects
...
#KT-3370 Fixed
2014-05-16 17:09:52 +04:00
Nikolay Krasko
17699f7f0e
Fix 'Formatter doesn't remove redundant spaces between modifiers, name, and opening brace'
...
#KT-3370 Fixed
2014-05-16 17:09:52 +04:00
Nikolay Krasko
d49d42a409
Add spaces around elvis operator
2014-05-16 17:09:51 +04:00
Nikolay Krasko
45013ce8af
Fix formatting for multiline binary expressions
...
#KT-4797 Fixed
2014-05-16 17:09:50 +04:00
Nikolay Krasko
055859888e
Refactoring: class rename with minor code enhancements
2014-05-16 17:09:50 +04:00
Nikolay Krasko
195d4c54bf
Indent for ?. calls (KT-3913)
...
#KT-3913 Fixed
2014-05-16 17:09:49 +04:00
Nikolay Krasko
c42908eff7
Rewrite tests for formatting during typing with auto generator
2014-05-16 17:09:48 +04:00
Nikolay Krasko
13dce4dd11
Run formatter in function context for converted expression and statements
2014-05-16 17:09:48 +04:00
Nikolay Krasko
f11e35f988
Don't check trailing spaces because idea removes them by default
2014-05-16 17:09:47 +04:00
Natalia Ukhorskaya
da4e62e4be
Gradle plugin: add compatibility with android-gradle-plugin 0.10.+
...
#KT-4984 Fixed
2014-05-16 16:37:29 +04:00
Mikhael Bogdanov
35802640cb
Object transformation: store captured field before super constructor call
2014-05-16 15:56:02 +04:00
Mikhael Bogdanov
dce8d5d3e1
Inline context refactoring & proper generation of outer class info
2014-05-16 15:55:58 +04:00
Mikhael Bogdanov
b025d0b76c
Rename LambdaTransformert to AnonymousObjectTransformer
2014-05-16 15:55:11 +04:00
Mikhael Bogdanov
30e921fa89
Diagnostic: support anonymous objects in inline functions
2014-05-16 15:55:11 +04:00
Mikhael Bogdanov
c5e9ea0d29
Support anonymous object constructor transformation and inline
2014-05-16 15:55:08 +04:00
Mikhael Bogdanov
9181302ce4
Distinguish captured field from general one
2014-05-16 13:33:57 +04:00
Mikhael Bogdanov
9007ba9c53
Anonymous object transformation
2014-05-16 13:33:57 +04:00
Mikhael Bogdanov
6fb0050575
KT-4982 this$0 is not initialized in the anonymous object
...
#KT-4982 Fixed
2014-05-16 13:33:39 +04:00
Nikolay Krasko
5d6b4d641b
Replace "InvalidArgumentException" with "IllegalArgumentException"
2014-05-16 13:10:05 +04:00
Andrey Breslav
5ab979864b
Temporarily revert changes that create separate class descriptors for each PSI class
2014-05-16 12:27:14 +04:00
Natalia Ukhorskaya
9be8501b60
Remove NotNull annotation
2014-05-15 18:02:34 +04:00
Natalia Ukhorskaya
9785c15736
Minor: rename
2014-05-15 17:19:12 +04:00
Natalia Ukhorskaya
fff278e1c6
Support block code fragments in KotlinResolveCache
2014-05-15 17:13:16 +04:00
Andrey Breslav
5815c8c729
Expression code fragments supported in KotlinResolveCache
2014-05-15 16:14:45 +04:00
Alexey Sedunov
34e5460d8a
Follow up for PR #458 : Generate test data
2014-05-15 15:33:10 +04:00
Natalia Ukhorskaya
355a3eb4e1
Make SpecifyTypeExplicitlyAction inapplicable for code fragments
2014-05-15 13:54:28 +04:00
Natalia Ukhorskaya
fd8d292c02
Add getSignificantElement method in JetCodeFragment
2014-05-15 13:54:27 +04:00
Natalia Ukhorskaya
8c0f99001b
Evaluate expression: check for syntactic errors
2014-05-15 13:54:27 +04:00
Natalia Ukhorskaya
d70770afb2
Completion and highlighting for blockCodeFragment
2014-05-15 13:54:26 +04:00
Natalia Ukhorskaya
511d270032
Evaluate expression: evaluate block of code (CODE_BLOCK mode)
2014-05-15 13:54:25 +04:00
Natalia Ukhorskaya
0677075335
Parser for JetBlockCodeFragment
2014-05-15 13:54:25 +04:00
Natalia Ukhorskaya
787f428133
Minor: make properties private
2014-05-15 13:54:24 +04:00
Natalia Ukhorskaya
0725f63028
Minor, fix warning
2014-05-15 13:54:23 +04:00
Natalia Ukhorskaya
f45f1c0d6a
Evaluate expression: clarify error message when there are conflicts from extract function
2014-05-15 13:54:23 +04:00
Natalia Ukhorskaya
a0549f0ff5
Evaluate expression: allow to call invisible members
...
#KT-4935 Fixed
2014-05-15 13:54:22 +04:00
Natalia Ukhorskaya
5237674139
Make call return JetElement instead of PsiElement
2014-05-15 13:54:22 +04:00
Natalia Ukhorskaya
11e4754638
Deprecated java methods are not shown as deprected in kotlin
...
#KT-4993 Fixed
2014-05-15 13:54:21 +04:00
Natalia Ukhorskaya
d4211c355e
Eval4j: get value from top of stack, not after local variables
2014-05-15 13:54:20 +04:00
Zalim Bashorov
3fce2b8f22
Update to IDEA 135.863 EAP
2014-05-14 20:53:36 +04:00
Andrey Breslav
4cb23eb1f1
A test for the case of finding binary class for a nested Java class
2014-05-14 18:58:57 +04:00
Andrey Breslav
a861e5bc5e
A test for the case fixed in 291741754b
...
When Java binaries refer to Kotlin binaries, and then some Kotlin source refers to the same Kotlin binary class, we should load this class consistently
2014-05-14 18:58:57 +04:00
Alexander Udalov
888a6c0c9b
Add tests on Kotlin against compiled Java+Kotlin
...
The original purpose was to create a test that parameter names are inherited on
a K-J-K hierarchy when "K-J" is compiled to bytecode, but that's not possible
right now because of KT-4509
2014-05-14 18:58:57 +04:00
Andrey Breslav
291741754b
Guard loading top-level classes with a check that they are not Kotlin binaries
2014-05-14 17:15:01 +04:00
Andrey Breslav
3a9f577d1d
All bounds may be specified in 'where' clause
...
Exception fixed in AlternativeMethodSignatureData
2014-05-13 20:19:43 +04:00
Andrey Breslav
788994283e
KT-5007 "Specify Kotlin signature" action doesn't work
...
Globally cached BindingContext used
(cherry picked from commit 5a641fc)
2014-05-13 19:39:32 +04:00
Andrey Breslav
64f0a8d420
Provide access to package fragments generated for static members of Java classes
2014-05-13 19:39:32 +04:00
Andrey Breslav
87750d633c
JavaDescriptorResolver supports resolving classes by PSI elements, not by FqNames
2014-05-13 19:39:31 +04:00
Valentin Kipyatkov
6c5d974284
Completion: added a test
2014-05-13 16:40:48 +04:00
Valentin Kipyatkov
c9bde2de0e
Smart completion: added a test
2014-05-13 16:40:48 +04:00
Valentin Kipyatkov
2d850f41f1
Smart completion: fixed addition of tail chars after true, false and null
2014-05-13 16:40:47 +04:00
Valentin Kipyatkov
0e86e628a3
KT-5012 Autocompletion is completing to FQN and not the value
...
#KT-5012 Fixed
#KT-5006 Fixed
2014-05-13 16:40:47 +04:00
Jeremy Kaplan
b3842285e8
Implemented Operator To Function intention action.
...
Converts +a, --a, a * b, a..b, a %= b, a in b, etc. to their function call counterparts.
2014-05-12 21:04:51 +04:00
Pradyoth Kukkapalli
5550924dc5
New Intention Action: Invert If Condition
...
Inverts the conditional expression in an if expression.
2014-05-12 19:48:43 +04:00
Andrey Breslav
aa20af3cf3
Minor. Unused code removed
...
Follow-up for db00500404 (commitcomment-6242775)
2014-05-12 19:02:17 +04:00
Alexander Udalov
7c44938151
Drop unused AnalyzerFacadeForEverything
2014-05-12 18:03:02 +04:00
Alexander Udalov
5a0055cbeb
Fix message case in JetBundle.properties
...
Intention names should be lowercase, family names should have each word
except prepositions capitalized
2014-05-12 16:47:00 +04:00
Alexey Sedunov
31a1ec0f05
Improve JetNameValidatorImpl performance
2014-05-12 13:03:03 +04:00
Alexey Sedunov
5cfb8bbf99
Extract Function: Allow the user to proceed with extraction when non-critical errors are found
...
#KT-4941 Fixed
2014-05-12 13:03:01 +04:00
Alexey Sedunov
1e49dcda27
Extract Function: Make member/top-level function private by default
2014-05-12 12:55:09 +04:00
Alexey Sedunov
3ac3edd1bd
Extract Function: Allow to select fragments which start with comment
2014-05-12 12:55:08 +04:00
Alexey Sedunov
243ba62b65
Extract Function: Allow to combine throws with other exit points
2014-05-12 12:55:07 +04:00
Alexey Sedunov
2cfd7de8d9
Fix containment check
2014-05-12 12:55:06 +04:00
Alexey Sedunov
1f36ad0bfc
Fix warnings
2014-05-12 12:55:04 +04:00
Alexey Sedunov
1e964551f3
Extract Function: Enable visibility selection when target container is class/object
2014-05-12 12:55:03 +04:00
Alexey Sedunov
5fc1725b33
Extract Function: Type parameters inference
2014-05-12 12:55:02 +04:00
Zalim Bashorov
399c9c1175
JS backend: fixed compiler crash when use compareTo in infix call.
...
#EA-54661 fixed
2014-05-08 19:57:28 +04:00
Zalim Bashorov
a578fc6762
JS backend: fixed infix calls.
...
#KT-3998 fixed
#EA-56241 fixed
2014-05-08 19:57:28 +04:00
Zalim Bashorov
898275e658
JS backend: added tests for infix calls.
...
#KT-3998 in progress
#EA-56241 in progress
2014-05-08 19:57:28 +04:00
Zalim Bashorov
235b03c407
Minor in JS backend: added useful message to assert(for EA-48931) and drop unnecessary code.
2014-05-08 19:57:27 +04:00
Tal Man
814b558bcf
Inspection to report negated binary expressions that can be simplified
2014-05-08 19:02:58 +04:00
Alexander Udalov
22e21b4db0
Unextend InlineCodegen from ParentCodegenAware
2014-05-08 18:42:35 +04:00
Alexander Udalov
13728e1598
Minor, pull non-null getParentContext() to MethodContext
2014-05-08 17:48:40 +04:00
Alexander Udalov
5fe7bfdd83
Move 'earlierScripts' from ScriptCodegen to ScriptContext
...
To get rid of a questionable usage of getParentCodegen() in ExpressionCodegen
2014-05-08 17:48:40 +04:00
Alexander Udalov
6bd46d38f5
Add missing copyrights
2014-05-08 17:38:51 +04:00
Alexander Udalov
271f2f562c
Delete unused parameter in SamWrapperCodegen
2014-05-08 17:21:11 +04:00
Alexander Udalov
8041cac9dd
Remove GenerationStateAware
2014-05-08 16:45:16 +04:00
Alexander Udalov
985e9a5f31
Make JvmFunctionImplTypes lazy
...
It shouldn't compute all FunctionImpls at least until first asked
2014-05-08 16:45:16 +04:00
Alexander Udalov
3a0aac4857
Simplify type mapping logic in CodegenBinding
...
- inline asmType to calling getAsmType, which does something more
- refactor getJvmInternalName to use getAsmType as well
- simplify getAsmType and fix a probable bug in mapping singletons nested in
enums (which wasn't reproduced, though a test is added)
- delete unnnecessary ASM_TYPE recording for enum entries in
CodegenAnnotatingVisitor
2014-05-08 16:45:15 +04:00
Alexander Udalov
372bf17982
Remove BindingTraceAware, TypeMapperAware, BindingContextAware
...
- delete suspicious caching logic from CodegenBinding.getAsmType(), which makes
JetTypeMapper now depend only on BindingContext
- inline all of these classes into GenerationStateAware and the latter into
JetTypeMapper
2014-05-08 16:45:15 +04:00
Alexander Udalov
fb54ecf443
Rename FunctionTypesUtil -> JvmFunctionImplTypes
...
It's not an util class anymore
2014-05-08 16:45:15 +04:00
Alexander Udalov
c7277250d9
Use ReflectionTypes instead of KotlinBuiltIns in type checker
2014-05-08 16:45:15 +04:00
Alexander Udalov
6004c6cefe
Introduce ReflectionTypes, use it in JVM back-end
...
Make FunctionTypesUtil a component
2014-05-08 16:45:14 +04:00
Alexander Udalov
3ac89030c7
Make CodegenBinding.ASM_TYPE a collective slice
...
Change Type->JetFile mapping logic in PsiCodegenPredictor to be less hackish,
but probably the compiler will start requiring a little more memory due to a
collective slice multimap
2014-05-08 16:45:14 +04:00
Alexander Udalov
d737932bc7
Remove usages of CodegenBinding.initTrace
...
This is a low level JVM back-end detail; clients should be using
GenerationState instead
2014-05-08 16:45:14 +04:00
Alexander Udalov
d42598a935
Move default inline flag to JVM back-end
...
- other back-ends are likely to have its own value of this flag
- get rid of DEFAULT_INLINE_FLAG_FOR_TEST
- the main goal was to simplify the default GenerationState constructor, which
now always uses default inline flag value
2014-05-08 16:45:14 +04:00
Tal Man
9679e3ce4a
insert type intention now only applicable in function names (KT-4950)
...
#KT-4950 Fixed
2014-05-08 14:11:21 +04:00
Tal Man
0032fb3575
Bug fix in intention to move lambda outside parentheses, handles commas better
2014-05-07 19:33:40 -04:00
Pradyoth Kukkapalli
65e670ef15
Bug Fix: KT-4613
...
Fix replace with infix function intention to be inapplicable in the
case of package function calls, such as “kotlin.io.println(“”).”
2014-05-07 15:25:39 -04:00
Valentin Kipyatkov
442f47bbe5
Removed unused constructor
2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
dab6045f6a
Fixed Code completion does not work inside function variable invocation
...
#KT-4978 Fixed
2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
7bb84c139d
Smart completion: fixed logic in elvis operator
2014-05-07 22:50:23 +04:00
Valentin Kipyatkov
ab563bd891
Added utility extension methods to not use TypeUtils
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
a65bd1a74d
Added test data for future use
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
1b034c5fc3
Smart completion works for block's result
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
45f518a907
Smart completion after ?: works incorrectly
...
#KT-4926 Fixed
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
5e34791e68
Smart completion should not suggest variants for private signatures
...
#KT-4899 Fixed
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
57c41ce0b0
Smart completion: added test for KT-4929 fixed by svtk
2014-05-07 22:50:22 +04:00
Valentin Kipyatkov
0920ab2c25
Fixed mock jdk
2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
e7c87b2391
Minor rename
2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
d781626201
Smart completion: only overloads with all previous arguments matched are considered
2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
717977af61
No more java lookup elements in code completion (except for one case)
2014-05-07 22:50:21 +04:00
Valentin Kipyatkov
33de0e8393
Smart completion for then and else branches of if
...
#KT-4910 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
7aa11a4207
Smart completion: auto-cast to non-null type is not recognized for field from constructor
...
#KT-4906 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
3c75e9ec28
Smart completion: "null" when nullable value expected
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
32405e57e6
Smart completion: checking constructor's visibility + true and false for Boolean
...
#KT-4916 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
9ae59db329
Smart completion: more correct Tab key handling
...
#KT-4954 Fixed
2014-05-07 22:50:20 +04:00
Valentin Kipyatkov
5f931be39b
Smart completion after == and !=
...
#KT-4912 Fixed
2014-05-07 22:50:19 +04:00
Alexander Udalov
74da6929a6
Update to IDEA 135.815 EAP
2014-05-07 21:12:56 +04:00
Pradyoth Kukkapalli
33fd82cf45
New Intention: Replace for loop with forEach
...
Replaces an expression of the form “for (i in list) { … }” with an
expression of the form “list.forEach { i -> … }”
2014-05-07 14:01:37 +04:00
Pradyoth Kukkapalli
dbb28c571b
New Intention Action: Replace a call to forEach function with for loop.
...
Replaces an expression of form x.forEach { … } with for (a in x) { … }.
2014-05-07 14:00:50 +04:00
Alexander Udalov
bd056d037f
Init slice debug names for CodegenBinding
2014-05-07 03:30:24 +04:00
Alexander Udalov
02e805b06e
Minor, rename accidentally named "context1" back to "context"
2014-05-07 03:30:24 +04:00
Alexander Udalov
68313172c2
Don't use KFunctionN types in smart completion
...
FunctionN should be enough
2014-05-07 03:30:14 +04:00
Alexander Udalov
c2594d7695
Delete "println" from production code in KotlinResolveCache
2014-05-07 03:28:48 +04:00
Alexander Udalov
d271be7f60
Add a test for an obsolete issue
2014-05-07 03:08:24 +04:00
Zalim Bashorov
d02e4bd1ec
Minor in JS backend: added test for the overriding in data class.
2014-05-06 15:45:28 +04:00
Peter Rybin
ab81d2e261
Supporting data class for JS backend
2014-05-06 15:45:28 +04:00
Peter Rybin
535cc3eed8
Inline methods.
2014-05-06 15:45:27 +04:00
Peter Rybin
59a09c04af
Extract data class generation logic into backend-independent module
2014-05-06 15:45:27 +04:00
Peter Rybin
00e65c8771
Add JVM prefix to CodegenUtil name to give way for backend-independent CodegenUtil
2014-05-06 12:51:57 +04:00
Alexander Udalov
981b6fdaff
Don't render stack trace in a warning
...
These stack traces are confusing: they make it seem as if an exception was
thrown
2014-05-05 20:43:35 +04:00
Alexander Udalov
42d167d17e
Add missing copyrights across the project
2014-05-05 20:43:35 +04:00
Alexander Udalov
b7746cbee7
Move module 'serialization' to core/
2014-05-05 20:43:34 +04:00
Alexander Udalov
16daeb9544
Misc refactorings in KotlinBuiltIns
...
- delete fields which were supposed to be used for caching, but mistakenly were
never used
- delete/inline unused methods and constants
- delete useless logic related to root package fragment: package fragment
providers are only supposed to find packages they're aware of
2014-05-05 20:42:35 +04:00
Alexander Udalov
52070dcf9e
Minor, static import BindingContext.* in ExpressionCodegen
2014-05-05 17:51:09 +04:00
Alexander Udalov
e4f4ea4027
Minor, add ExpressionCodegen.resolvedCall() utility
...
To obtain a resolved call by an expression with a non-null assertion
2014-05-05 17:31:32 +04:00
Alexander Udalov
fc3db8db38
Minor, get rid of ExpressionCodegen.asmTypeOrVoid()
2014-05-05 17:22:48 +04:00
Alexander Udalov
51b01b5d7d
Replace some REFERENCE_TARGET calls with RESOLVED_CALL
...
Also don't do unnecessary and failing casts in CodegenAnnotatingVisitor for SAM
adapters
#KT-3173 Fixed
#KT-3999 Fixed
#KT-4682 Fixed
2014-05-05 16:49:23 +04:00
Natalia Ukhorskaya
13f7ca51b0
Regenerate tests
2014-05-05 16:17:37 +04:00
Natalia Ukhorskaya
020c127831
Fix typo in inspection description
2014-05-05 16:16:50 +04:00
Natalia Ukhorskaya
475d87f48b
Merge remote-tracking branch 'origin/pr/460'
2014-05-05 16:15:45 +04:00
Natalia Ukhorskaya
98532f321d
Evaluate expression: add ability to import class
2014-05-05 16:12:38 +04:00
Natalia Ukhorskaya
3f95cdb7bb
Return firstChildNode for codeFragments in doParseContents as expected
2014-05-05 16:12:36 +04:00
Natalia Ukhorskaya
54cc5d1440
Make JetCodeFragment implements JavaCodeFragment
2014-05-05 16:12:35 +04:00
Natalia Ukhorskaya
876878a54c
Delete interface for JetTypeCodeFragmentImpl
2014-05-05 16:12:33 +04:00
Natalia Ukhorskaya
8bbbe8f0f6
Convert JetCodeFragment to Kotlin
2014-05-05 16:12:32 +04:00
Natalia Ukhorskaya
eb8b5c0823
Remove interface for JetExpressionCodeFragment
2014-05-05 16:12:30 +04:00
Natalia Ukhorskaya
429be58685
Rename JetCodeFragmentImpl to JetCodeFragment
2014-05-05 16:12:29 +04:00
Nikita Skvortsov
4bcfec1f7b
cleanup Gradle API deprecation warnings to make plugin compatible with upcoming Gradle 2.0. This includes moving minimum compatible version from 1.4 to 1.6
2014-05-04 14:30:52 +04:00
Nikita Skvortsov
573f6b61fd
update gradle-api artifact to version 1.6 this is required to make kotlin gradle plugin compatible with upcoming Gradle 2.0
2014-05-04 13:46:21 +04:00
Tal Man
ab2ca539fe
Inspection to report explicit type arguments that can be removed from function calls
2014-05-01 10:56:46 -04:00
Andrey Breslav
0004948023
Per-file caching introduced in KotlinResolveCache for granular analysis
2014-04-30 20:00:20 +04:00
Andrey Breslav
a128eacf53
KotlinCacheService extracted to a separate file
2014-04-30 19:43:12 +04:00
Andrey Breslav
f64f792ede
CompositeBindingContext introduced
2014-04-30 18:04:21 +04:00
Andrey Breslav
3be8da5607
Minor. More convenient function used
2014-04-30 16:30:17 +04:00
Andrey Breslav
db00500404
Unused code removed
2014-04-30 16:30:17 +04:00
Andrey Breslav
775c941f8a
hasSynthesizedParameterNames() pulled up into CallableDescriptor
2014-04-30 16:30:17 +04:00
Svetlana Isakova
73cd776715
Added test for KT-4640
...
#KT-4640 Obsolete
2014-04-30 13:54:21 +04:00
Svetlana Isakova
b33147d3eb
Do not complete type inference for all candidates for inner calls
2014-04-30 13:34:35 +04:00
Svetlana Isakova
69f3a64408
Added test for KT-4929
...
Smart completion should work for generic method argument
#KT-4929 Fixed
2014-04-30 13:34:35 +04:00
Svetlana Isakova
3df6eb8ffa
Refactored ResolutionResultsCacheImpl
...
Used map instead of trace to store data
Rewrote it to Kotlin
2014-04-30 13:34:34 +04:00
Svetlana Isakova
5a84ed4497
KT-4866 Resolve does not work inside brackets with unresolved reference before
...
#KT-4866 Fixed
2014-04-30 13:34:34 +04:00
Svetlana Isakova
1632025913
Added check that resolved calls are completed in diagnostics
...
to tests
2014-04-30 13:34:34 +04:00
Svetlana Isakova
775606f80a
Do not remove trivial substitutions
...
to avoid substituting a new type parameter by default instead of leaving the same
#KT-4887 Fixed
2014-04-30 13:34:34 +04:00
Svetlana Isakova
808cf75060
Fixed bug: resolution task wasn't recreated
...
The old resolved calls were used
2014-04-30 13:34:34 +04:00
Svetlana Isakova
a57b4f6459
Render inferred and not inferred type parameters
...
while rendering a resolved call
2014-04-30 13:34:34 +04:00
Svetlana Isakova
aa40fd6b56
Refactoring: extracted 'renderParameter' function
2014-04-30 13:34:33 +04:00
Svetlana Isakova
02647820bc
Rewrote rendering a resolved call to kotlin
2014-04-30 13:34:33 +04:00
Svetlana Isakova
b89f260d25
Fixed bug: do not lose all candidates when updating status
...
to success
2014-04-30 13:34:33 +04:00
Svetlana Isakova
b915ff2faf
Invoke 'markCallAsCompleted' directly after completing inference for call
2014-04-30 13:34:33 +04:00
Svetlana Isakova
18ccd0d230
Removed 'getCallToCompleteTypeArgumentInference'
2014-04-30 13:34:33 +04:00
Svetlana Isakova
a2ddce65f4
Used MutableResolvedCall instead of ResolvedCallImpl
...
during resolve process
2014-04-30 13:34:33 +04:00
Svetlana Isakova
703e4d7c4e
Refactoring: separated VariableAsFunctionResolvedCall interface and implementation
2014-04-30 13:34:32 +04:00
Svetlana Isakova
cdd88cdaa7
Rename: ResolvedCallWithTrace -> MutableResolvedCall
2014-04-30 13:34:32 +04:00
Svetlana Isakova
90bf5ad823
Refactoring: use ResolvedCall instead of ResolvedCallWithTrace where possible
2014-04-30 13:34:32 +04:00
Svetlana Isakova
e59fa2083e
Substituted special error type for not inferred parameter
...
Rendered it as T (of red color) in the renderer HTML_FOR_NOT_INFERRED_TYPE_PARAMETERS
instead of '???' without information about type parameter
2014-04-30 13:34:32 +04:00
Svetlana Isakova
4a8255a606
Trace usage in renderer replaced with usage of argument to parameter map
2014-04-30 13:34:31 +04:00
Svetlana Isakova
928b28e080
Complete type inference for nested calls
...
inside non resolved invocation
2014-04-30 13:34:31 +04:00
Svetlana Isakova
2db392036c
Complete type inference for all candidates
2014-04-30 13:34:31 +04:00
Svetlana Isakova
e747b08e81
Refactoring: removed ResolutionResultsCache.MemberType
2014-04-30 13:34:31 +04:00
Svetlana Isakova
636e818f35
Refactoring: moved code
...
to 'completeTypeInferenceDependentOnExpectedType'
2014-04-30 13:34:31 +04:00
Svetlana Isakova
f03f9684ad
Refactoring: moved code
...
Moved check for not generic call to CandidateResolver
2014-04-30 13:34:31 +04:00
Svetlana Isakova
efa00782a4
Reformat html test data for DiagnosticMessageTest
2014-04-30 13:34:30 +04:00
Svetlana Isakova
1e8a8d2861
Added argument to parameter mapping to resolved call
2014-04-30 13:34:30 +04:00
Svetlana Isakova
022c68cfb2
Set all candidates (empty collection) if no candidates found
2014-04-30 13:34:30 +04:00
Andrey Breslav
cb127a5a62
Diagnostics rewritten in Kotlin
2014-04-29 19:12:56 +04:00
Andrey Breslav
71ad59fdf8
Minor. Unused slice and comments removed
2014-04-29 19:12:56 +04:00
Andrey Breslav
a1b0b07824
Support top-down analysis starting from anonymous initializers
2014-04-29 19:12:56 +04:00
Andrey Breslav
bac82935c3
Minor. Unused method removed
2014-04-29 19:12:56 +04:00
Andrey Breslav
6509868ba4
Ignore multi-declarations in LazyTopDownAnalyzer
2014-04-29 19:12:55 +04:00
Andrey Breslav
550c0ed998
Report "UNSUPPORTED" on usages of typedef
2014-04-29 19:12:55 +04:00
Andrey Breslav
469042dea1
Support top-down analysis starting from import directives
2014-04-29 19:12:55 +04:00
Andrey Breslav
9f8fd5c5ae
Support top-down analysis starting from package directives
2014-04-29 19:12:55 +04:00
Andrey Breslav
31e859356f
A test that fails in lazy mode (currently disabled)
2014-04-29 19:12:55 +04:00
Andrey Breslav
5c23021163
Minor. Rename
2014-04-29 19:12:55 +04:00
Andrey Breslav
4bbde707c0
Minor. Unneeded getContainingJetFile() calls removed
2014-04-29 19:12:54 +04:00
Andrey Breslav
64f60b3458
Minor. getAnalysisResults(x).getBindingContext() replaced by getBindingContext(x)
2014-04-29 19:12:54 +04:00
Andrey Breslav
112109f93e
Minor. Unused method removed
2014-04-29 19:11:48 +04:00
Andrey Breslav
23205c17c0
Utilities for analyzing expressions in given context introduced
2014-04-29 19:11:48 +04:00
Andrey Breslav
a708b915db
Explicit predicate passed to JetNameValidatorImpl
2014-04-29 19:11:48 +04:00
Andrey Breslav
c6bd4a22ef
Iterators replaced with streams where appropriate
2014-04-29 19:11:47 +04:00
Andrey Breslav
19719f9747
Deprecated _tmp functions replaced by library ones
2014-04-29 19:11:47 +04:00
Andrey Breslav
4181bcc319
JavaCallableMemberDescriptor.hasSynthesizedParameterNames() introduced
2014-04-29 19:11:47 +04:00
Nikolay Krasko
9482706b81
Fix compilation on JDK 1.6 and stay compatible with JDK 1.7
...
Move ClassCandidateListCellRenderer back to Java because JList. JList has one type parameter in 1.7 and no parameters in 1.6.
Kotlin unlike Java can't support both cases without modifications in code.
2014-04-29 14:47:33 +04:00
Steven Allen
1415ac1c04
Convert CreateFunctionFromUsageFix to Kotlin.
2014-04-29 14:47:32 +04:00
Steven Allen
1a04b887a4
Fix JetSimpleNameExpression.getReceiverExpression
...
The receiver of `in` expressions is on the right, not the left.
2014-04-29 14:47:31 +04:00
Andrey Breslav
4f1061c337
Better memory cleanup in tests
2014-04-29 13:37:02 +04:00
Natalia Ukhorskaya
68c77e6384
SmartStepInto from kotlin to java functions
2014-04-28 14:24:01 +04:00
Natalia Ukhorskaya
5a2f1ca65f
Add package directive with fileName for InspectionTests to avoid names clashing
2014-04-28 14:12:57 +04:00
Svetlana Isakova
335587c74e
Update to IDEA 135.760 EAP
2014-04-25 21:02:45 +04:00
Denis Zharkov
cb1e762fc4
Optimizations of When expression with int constants:
...
Added test with dense constants (tableswitch should be used)
2014-04-25 18:17:37 +04:00
Denis Zharkov
298742ae69
Optimizations of When expression with int constants: heuristics from openJDK for decision about using tableswitch/lookupswitch
2014-04-25 18:17:37 +04:00
Denis Zharkov
a83d600f5e
Optimizations of When expression with int constants: pull request review fixes
2014-04-25 18:17:36 +04:00
Denis Zharkov
3bc1c45fde
Refactored tests for switch optimization of When expression
2014-04-25 18:17:36 +04:00
Denis Zharkov
95345a9bd4
Tests for switchOptimization: shuffled and added sparse version
2014-04-25 18:17:36 +04:00
Denis Zharkov
ad14ee9061
Switch in when-expression: choice between lookupswitch and table switch (heuristically)
2014-04-25 18:17:36 +04:00
Denis Zharkov
1952781e4b
SwitchOptimization: generating `lookupswitch' opcode for 'when' in case of integral types
2014-04-25 18:17:36 +04:00
Denis Zharkov
c73533d214
Switch Optimization
2014-04-25 18:16:24 +04:00
Ross Hanson
ecaa7b61dd
KT-4568 Bugfix: Reformatted code to adhere to style guides. Removed unreachable cases in when expression for ConvertNegatedExpression. Fixed last element access. Changed array list to simple list.
2014-04-25 16:59:50 +04:00
Ross Hanson
a5f7ac63a8
KT-4568: Cleaned up some of the code in ConvertNegatedBooleanSequence to match the other DeMorgan intention
2014-04-25 16:59:49 +04:00
Ross Hanson
4de6960443
KT-4568 Bug Fix: Refactored the convertNegatedExpressionWithDemorgansLaw intention to better handle longer and more complex expressions. Fixed bug and added appropriate test cases as well.
2014-04-25 16:59:49 +04:00
Alexander Udalov
de273c0418
Minor, use kotlin.Pair instead of intellij
2014-04-24 18:17:50 +04:00
Lingzhang
6066d19de5
Added KT-4579 makeTypeExplicitInLambda and makeTypeImplicitInLambda intentions
2014-04-24 18:11:43 +04:00
Natalia Ukhorskaya
1ef785eb1a
Eval4j: delete IDEA project files
2014-04-24 16:48:17 +04:00
Natalia Ukhorskaya
73f1ea3bcc
Eval4j: fix ReadMe
2014-04-24 16:48:02 +04:00
Natalia Ukhorskaya
f23d95031c
Remove MockPsiDocumentManager: it is registered in CoreProjectEnvironment
2014-04-24 16:38:50 +04:00
Natalia Ukhorskaya
805da98fa1
Remove hamcrest library, it is included in idea full
2014-04-24 16:38:48 +04:00
Natalia Ukhorskaya
aefed988a3
Add run configuration for Eval4j tests
2014-04-24 16:38:34 +04:00
Natalia Ukhorskaya
a8ea10de27
add common test suite for eval4j
2014-04-24 16:37:14 +04:00
Natalia Ukhorskaya
1e0a4ddbdd
Eval4j: always cast int to byte, short, boolean and char when they are expected
2014-04-24 16:35:47 +04:00
Andrey Breslav
5536f4da07
Test data generated from both files separated in 717f03f474
2014-04-24 16:22:43 +04:00
Alexander Udalov
1efdd33dbd
Refactor codegen hierarchy
...
- pull generate() and a bunch of abstract methods from ClassBodyCodegen up to
MemberCodegen
- implement these methods in ScriptCodegen and PackagePartCodegen
- make MemberCodegen generic on the type of the element it is generating
2014-04-24 16:10:16 +04:00
Alexander Udalov
ff8e282c4a
Simplify mapToCallableMethod
2014-04-24 16:10:16 +04:00
Alexander Udalov
722c15b747
Simplify mapOwner/mapToCallableMethod
2014-04-24 16:10:15 +04:00
Alexander Udalov
61675de305
Optimize PropertyMetadataImpl instance creation
...
Create all property metadatas in <clinit> and save them to a static array
$propertyMetadata. Getter/setter of each delegated property will then just
obtain the corresponding instance from that array
#KT-4232 Fixed
2014-04-24 16:10:15 +04:00
Alexander Udalov
925b27238c
Minor, simplify StackValue.ArrayElement
2014-04-24 16:10:15 +04:00
Alexander Udalov
678520364a
Refactor property initialization codegen
...
Move a lot of the code from ImplementationBodyCodegen up to MemberCodegen, make
methods non-static (consequently get rid of a lot of parameters), reuse the
same code in PackagePartCodegen
2014-04-24 16:10:14 +04:00
Alexander Udalov
6803fec053
Simplify clinit codegen, delete code duplication
...
Logic for <clinit> generation was present both in PackagePartCodegen and in
ClassBodyCodegen, move it to MemberCodegen
2014-04-24 16:10:14 +04:00
Alexander Udalov
be47897e18
Minor, ValueArgument.asElement returns JetElement
2014-04-24 16:10:14 +04:00
Alexander Udalov
f7235e9d82
Fix abstract nested class in enums in JVM back-end
...
It caused InstantiationError because the enum had an incorrect ACC_ABSTRACT
flag
2014-04-24 16:10:13 +04:00
Alexander Udalov
129b643898
Minor, reformat in ImplementationBodyCodegen
2014-04-24 16:10:13 +04:00
Alexander Udalov
7f873026be
Remove code duplication in property accessor codegen
2014-04-24 16:10:12 +04:00
Alexander Udalov
55836884d5
Minor refactorings in JetTypeMapper: renames, inlines, etc.
2014-04-24 16:10:12 +04:00
Alexander Udalov
d913dfb1aa
Correctly map declaration owner in JVM codegen
...
"context.contextKind()" was incorrect in
ExpressionCodegen.intermediateValueForProperty(), because it represents the
context of the call site, not the context of the property declaration
#KT-4878 Fixed
2014-04-24 16:10:12 +04:00
Alexander Udalov
fbf9f5f7d0
Don't generate bridges for equals(), hashCode(), toString()
...
Otherwise an assertion is failing in the algorithm which is related to an
inconsistency of java.lang.Object inheritance in JDR (KT-4890)
2014-04-24 16:10:12 +04:00
Alexander Udalov
6b348bfc6e
Make Ref fields volatile
...
Otherwise local shared variables are not safe to use from several threads
2014-04-24 16:10:11 +04:00
Alexander Udalov
af421f53da
Rename FQNAMES -> FQ_NAMES
2014-04-24 16:10:11 +04:00
Zalim Bashorov
525709bced
Added MIN_JAVA_VERSION directive for intentions and fixed failed test(convertIfToAssert/inapplicableCauseSent.kt).
2014-04-24 15:37:35 +04:00
Tal Man
f61db2decc
Intention to transform an if an AssertionError throw into an assert
2014-04-24 15:36:34 +04:00
Ilya Ryzhenkov
d06b9abd4f
Add platform independent part of Range tests to JS stdlib test run
2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
717f03f474
Split tests into platform independent and JVM parts to run subset of tests in JS
2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
ee8a7d6825
Include Ranges extension functions and Numbers NaN checks for JS
2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
a6c01f82b2
Make isNaN check language independent, working in JVM & JS
2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov
a825b13a4b
Restore tests on streams, add test for filterNotNull
2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
87745c05ae
Fix filterNotNull and mapNotNull for streams.
2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
118126c744
Add toList() operation on Maps
2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
5537ff5f3c
Add toSortedList operation for Streams
2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
9a7758bf4e
Remove bogus filterIsInstance* on strings.
2014-04-24 12:59:42 +04:00
Ilya Ryzhenkov
6562ee4967
Rename "collection" parameter to "destination" in *To() functions.
2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
e43d08d228
Fix typo
2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
89c1260627
Fix formatting in Engine and templates
2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
f14ca2cf89
Extension method to convert Enumeration to List
2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
cbc0e6404e
Support String in generators, and migrate generated functions.
2014-04-24 12:59:41 +04:00
Ilya Ryzhenkov
d9d5631a16
Optimize selection functions, add guard checks.
2014-04-24 12:59:41 +04:00
Amal Samally
a3ad79e5d9
KT-4614: Add String.format(Locale, args)
2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
d54fb97c5d
Make all *Array.fill() extensions returning an array #KT-4760 Fixed
2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
1db035a0aa
Slice functions for arrays and lists.
2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
aee199b5b0
Add reverse() function to js version of StringBuilder
2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
962a738f1e
Fix js RangeIterator and NumberProgression.
2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov
df310ac362
Minor: restore generated line break so that file do not get dirty on every regeneration
2014-04-24 12:59:40 +04:00
mikhael.bogdanov
629ca66d93
CollectionElement.dupReceiver simplification
2014-04-24 12:25:52 +04:00
mikhael.bogdanov
f57bcbb411
Removed redundant dupReceiver: local and expression stack value don't have it
2014-04-24 12:25:45 +04:00
Valentin Kipyatkov
ae9f6fa5fc
Fix compilation
2014-04-23 19:27:47 +04:00
Valentin Kipyatkov
cd2cf2d987
Code completion: minor changes after code review
2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
6808e82b81
Code completion: another way of import insertion on class name completion.
...
#KT-4905 Fixed
2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
7905d32c14
Smart completion: static members insertion reworked to support single lambda parameter, more correct reference shortening in range
2014-04-23 19:23:11 +04:00
Valentin Kipyatkov
e8805f69bf
Code completion: template item for function taking lambda with 2 or more parameters (KT-4855) + better handling of type instantiation in smart completion
2014-04-23 19:21:28 +04:00
Natalia Ukhorskaya
0057843c08
debugger: create KotlinCodeFragment only on expression mode of evaluate expression
2014-04-23 18:52:05 +04:00
Natalia Ukhorskaya
931b628988
Editor for evaluate expression: implement highlighting and completion using ResolveElementCache
2014-04-23 18:10:02 +04:00
Natalia Ukhorskaya
2eff4e2300
Create ExpressionCodeFragment only for expression mode in evaluate expression
2014-04-23 18:10:01 +04:00
Natalia Ukhorskaya
f54aee150e
Debugger: replace one read action with lock for extract variable and for analyze file
2014-04-23 18:10:00 +04:00
Natalia Ukhorskaya
2ffcc5124e
Debugger: use extract method to get function arguments
2014-04-23 18:09:59 +04:00
Natalia Ukhorskaya
084c72f91c
Debugger tests: specify expression for evaluate expression test when test failed
2014-04-23 18:09:58 +04:00
Natalia Ukhorskaya
fa482bca80
Use lazy analysis for debug file
2014-04-23 18:09:57 +04:00
Natalia Ukhorskaya
45d78dae5a
Debugger: implement findExpression method correctly to make work Alt+Click in debugger
2014-04-23 18:09:56 +04:00
Natalia Ukhorskaya
bd737a32fb
Debugger: add imports from file on breakpoint
2014-04-23 18:09:55 +04:00
Natalia Ukhorskaya
347e6d9058
Debugger: Implement EvaluatorBuilder for evaluate expression for kotlin files
2014-04-23 18:09:53 +04:00
Natalia Ukhorskaya
417ec25fb8
Debugger: implement CodeEditor for evaluate expression action
2014-04-23 18:09:52 +04:00
Natalia Ukhorskaya
2309751ee9
CodeFragment: find inner expression correctly
2014-04-23 18:09:51 +04:00
Natalia Ukhorskaya
a1fa366e8f
Make JetExpressionCodeFragmentImpl implement JavaCodeFragment
2014-04-23 18:09:49 +04:00
Natalia Ukhorskaya
bc20e31685
Convert JetExpressionCodeFragmentImpl to kotlin
2014-04-23 18:09:48 +04:00
Natalia Ukhorskaya
133aea9c4b
Debugger: add test for evaluate expression
2014-04-23 18:09:47 +04:00
Natalia Ukhorskaya
b9ed52e630
Debugger: compile TINY_APP in test once
2014-04-23 18:09:46 +04:00
Natalia Ukhorskaya
70ade1e931
Add JDK for debugger tests
2014-04-23 18:09:45 +04:00
Natalia Ukhorskaya
2337042d83
Add kotlin-runtime as library, not only to classpath
2014-04-23 18:09:44 +04:00
Natalia Ukhorskaya
3b5ef0c866
Extract helper functions
2014-04-23 18:09:43 +04:00
Natalia Ukhorskaya
85caff9df4
Add copyright
2014-04-23 18:09:42 +04:00
Natalia Ukhorskaya
9fea5460a8
Find method in class that is on stack, not in method owner class
2014-04-23 18:09:41 +04:00
Natalia Ukhorskaya
4f84d4d2db
Load classes mentioned in method arguments before invokeMethod
2014-04-23 18:09:40 +04:00
Natalia Ukhorskaya
964b81ce6a
CHECKCAST always succeeds on null
2014-04-23 18:09:38 +04:00
Natalia Ukhorskaya
92edc8299e
Cast method arguments to method parameter types
2014-04-23 18:09:37 +04:00
Natalia Ukhorskaya
56e0746814
Support checkcast instruction for array
2014-04-23 18:09:36 +04:00
Natalia Ukhorskaya
ca877f1413
Use ASM5
2014-04-23 18:09:34 +04:00
Natalia Ukhorskaya
c9fc9aa005
Add annotations from eval4j
2014-04-23 18:09:33 +04:00
Natalia Ukhorskaya
86414bbb7f
Remove annotations from eval4j module
2014-04-23 18:09:32 +04:00
Natalia Ukhorskaya
86fffab86f
Fix separators for JdiTests
2014-04-23 18:09:30 +04:00
Natalia Ukhorskaya
ae3419879d
Fix errors caused by new kotlin version
2014-04-23 18:09:29 +04:00
Natalia Ukhorskaya
32132a8b3e
Rename org.objectweb.asm to org.jetbrains.org.objectweb.asm
2014-04-23 18:09:28 +04:00
Natalia Ukhorskaya
68397d9421
Add module eval4j
2014-04-23 18:09:27 +04:00
Natalia Ukhorskaya
a99ec0c5fa
Merge remote-tracking branch 'eval4j/master'
2014-04-23 18:08:55 +04:00
Andrey Breslav
34f437cc00
Analyze all relevant files in JetPositionManager
2014-04-23 15:21:08 +04:00
Andrey Breslav
94693bf8dc
Unused method removed
2014-04-23 14:06:15 +04:00
Andrey Breslav
93d3eab9f9
More granular locks in KotlinResolveCache
2014-04-23 14:06:14 +04:00
Andrey Breslav
04b28b14e5
Synchronization logic extracted into a method
2014-04-23 14:06:14 +04:00
Andrey Breslav
35b2d6536e
Unneeded synchronization removed
2014-04-23 14:06:14 +04:00
Andrey Breslav
3275e52290
Got rid of unneeded caching in KotlinCacheService
2014-04-23 14:06:13 +04:00
Andrey Breslav
af9694738e
JvmResolveUtil extracted for methods that are used only for tests
2014-04-23 14:06:13 +04:00
Andrey Breslav
2a3d1c1b18
AnalyzerFacadeWithCache.getLazyResolveSessionForFile() inlined
2014-04-23 14:06:12 +04:00
Andrey Breslav
9b01eb15ce
KotlinCacheManager removed in favor of KotlinCacheService
2014-04-23 14:06:12 +04:00
Andrey Breslav
523faed696
AnalyzerFacadeWithCache simply redirects to KotlinCacheService now
2014-04-23 14:06:12 +04:00
Andrey Breslav
00ebd967e2
AnalyzerFacadeWithCache.analyzeFileWithCache() is inlined
2014-04-23 14:06:11 +04:00
Andrey Breslav
7ee483fbc8
getDeclarationsFromProject() is replaced by lazy resolve
2014-04-23 14:06:11 +04:00
Andrey Breslav
54f3dd20b3
KotlinCacheManagerUtil usages replaced by lazy resolve
2014-04-23 14:06:10 +04:00
Andrey Breslav
1a92964250
JavaDescriptorResolver is cached by KotlinResolveCache
...
Accessible via JavaResolveExtension
2014-04-23 14:06:10 +04:00
Andrey Breslav
ed79be6d2d
AnalyzerFacade.Setup introduced
2014-04-23 14:06:10 +04:00
Andrey Breslav
45a90a8f20
Eager methods removed from AnalyzerFacade
2014-04-23 14:06:09 +04:00
Andrey Breslav
d45347688d
Create consolidated caching service to provide all lazily resolved data
...
Other caches are to be removed later
2014-04-23 14:06:09 +04:00
Andrey Breslav
4d425aff11
Methods pulled up into the interface
2014-04-23 14:06:09 +04:00
Andrey Breslav
143b78d031
KotlinCacheManagerUtil uses lazy resolve
2014-04-23 14:03:14 +04:00
Andrey Breslav
0ce4e5e113
Minor. One utility method reused in the other
2014-04-23 14:03:14 +04:00
Andrey Breslav
99b5fa1f47
Minor. Method replaced by a more convenient one from the same class
2014-04-23 14:03:13 +04:00
Zalim Bashorov
82e26ff856
Generated tests
2014-04-22 22:33:09 +04:00
Zack Grannan
aec5ae5dd4
Added IfThenToDoubleBangIntention
2014-04-22 22:33:08 +04:00
Zack Grannan
8476a790bd
Added DoubleBangToIfThenIntention
2014-04-22 22:33:08 +04:00
Zack Grannan
f58e1811e4
Added methods to IfThenUtils
2014-04-22 22:33:08 +04:00
Zack Grannan
e5054a4a54
Modified IfThenToElvis to not apply when using '!!' would be better
2014-04-22 22:33:08 +04:00
Zack Grannan
9f63f7c488
Updated AbstractJetInspectionTest to use runtime if necessary
2014-04-22 22:33:08 +04:00
Zack Grannan
f4beffd451
Added getOperationToken method to JetUnaryExpression
2014-04-22 22:33:07 +04:00
Alexey Sedunov
a600606cac
Extract Function: UI support for validation
2014-04-22 18:45:56 +04:00
Alexey Sedunov
0e9676173b
Extract Function: Implement validation
2014-04-22 18:45:55 +04:00
Alexey Sedunov
e052a64767
Introduce Variable: Compare receivers (both implicit and explicit) when looking for expression occurrences
...
#KT-4819 Fixed
2014-04-22 18:45:54 +04:00
Zalim Bashorov
40ee454e67
Merge pull request #450 from wutalman/assert_to_if
...
KT-4576: (Bug fix) Intention to transform an if an AssertionError throw into an assert
2014-04-22 17:30:22 +04:00
Valentin Kipyatkov
19aa35ffeb
Smart completion: minor changes
2014-04-22 14:15:07 +04:00
Valentin Kipyatkov
e017f4d952
Smart completion: auto-popup parameter info when comma is inserted
2014-04-22 11:44:32 +04:00
Valentin Kipyatkov
134496d182
Smart completion: special items with "!!" and "?:" for nullable members
2014-04-21 22:14:20 +04:00
Valentin Kipyatkov
710e61dea7
Fixed duplicated "Shorten FQ names" checkbox in live templates
2014-04-21 22:06:16 +04:00
Valentin Kipyatkov
cedf6b2b54
Renamed method
2014-04-21 22:06:16 +04:00
Valentin Kipyatkov
0e28cf1561
Minor code corrections after review
2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
e3682befe0
Fixed some tests
2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
28e0f3013b
Smart completion: no fq-names in types
2014-04-21 22:06:15 +04:00
Valentin Kipyatkov
4968377969
Smart completion: lambda item uses template to allow change parameter names
2014-04-21 22:06:15 +04:00
Andrey Breslav
767eb04930
JetElement.getContainingJetFile() introduced
2014-04-21 21:55:00 +04:00
Nikolay Krasko
da0efe2a9e
Refactoring: rename method and optimize cycles in methods
2014-04-21 18:47:05 +04:00
Nikolay Krasko
3a5592ee34
Performance hit in getModulesWithKotlinFiles(Project) after git update (KT-4809)
...
- Wait for indices are ready
- Try to do only one final check
- Better method to check Kotlin files are present in modules
#KT-4809 Fixed
#KT-4875 Fixed
2014-04-21 18:47:05 +04:00
Pavel Talanov
9127902a28
Merge pull request #433 from kuity/ReplaceInfixCallFix
...
Bug Fix for KT-4652 Replace with Infix Call
2014-04-21 04:44:44 -07:00
Tal Man
3713f50800
Intention to convert assert into an if with throw - bug fix for when the call is dot qualified
2014-04-20 12:45:31 -04:00
Andrey Breslav
feece3c326
Temporarily disabling a blinking test
2014-04-18 21:28:24 +04:00
Andrey Breslav
1d3cc306c4
Allow to only resolve declaration headers in classes, without forcing everything to be resolved
2014-04-18 21:28:24 +04:00
Andrey Breslav
b2ea2e1a15
Prohibit inheritance loops through containing classes
...
Example
class A : B {
trait C
}
class B : A.C
Here we have a loop in the hierarchy: A -> B -> A.C => A
"=>" represents class nesting
2014-04-18 21:28:24 +04:00
Andrey Breslav
fef2968e1d
Order the computations in LazyTopDownAnalyzer
...
- First, all class descriptors are created
- Then, all functions and properties
- Then the rest
2014-04-18 21:28:24 +04:00
Andrey Breslav
b017b87093
Minor. Unused methods removed
2014-04-18 21:28:24 +04:00
Andrey Breslav
f58aca5ddf
Excluding top-level members of library source files when analyzing them lazily
2014-04-18 21:28:24 +04:00
Andrey Breslav
d4eb5e58c5
Minor. Methods made static
2014-04-18 21:28:23 +04:00
Andrey Breslav
5e2630bc12
Unused parameter removed
2014-04-18 21:28:23 +04:00
Andrey Breslav
fdc42c6c1d
Debugger behavior fixed: backend relies on all relevant files being analyzed, not only one
2014-04-18 21:28:23 +04:00
Andrey Breslav
9da2cbd5e8
Duplicating diagnostics removed from test data
2014-04-18 21:28:23 +04:00
Andrey Breslav
f0a29f190b
USELESS_HIDDEN_IMPORT diagnostic fixed for LAZY mode
2014-04-18 21:28:23 +04:00
Andrey Breslav
a3638eacef
Blinking class object tests fixed
...
Now lazy descriptors for all class objects are retained by the owning class
2014-04-18 21:28:22 +04:00
Andrey Breslav
e4e60bc377
Function object replaced by a normal function
...
+ unneededly public member made protected
2014-04-18 21:28:22 +04:00
Andrey Breslav
ebd44816d0
Function object replaced by a normal function
2014-04-18 21:28:22 +04:00
Andrey Breslav
54d3f6df19
Minor. Unused constant removed
2014-04-18 21:28:22 +04:00
Andrey Breslav
1d7bd354d5
Use lazy analysis for highlighting and other purposes
2014-04-18 21:28:22 +04:00
Andrey Breslav
4839f7a230
Make lazy analysis accessible to clients
2014-04-18 21:28:22 +04:00
Andrey Breslav
7d688e5bec
LazyTopDownAnalyzer extracted as a separate component
2014-04-18 21:28:21 +04:00
Andrey Breslav
3184b9ddba
Special factory method for local analysis
...
- No need to pass the same flags all the time
- No need to check for local mode when in LAZY mode
2014-04-18 21:28:21 +04:00
Andrey Breslav
b02195e9ae
LAZY flag is moved to TopDownAnalysisParameters
2014-04-18 21:28:21 +04:00
Andrey Breslav
bb87a6bb59
Only create lazy annotations for descriptors from code
2014-04-18 21:28:21 +04:00
Andrey Breslav
c57243035e
Factory method introduced for TopDownAnalysisParameters
2014-04-18 21:28:21 +04:00
Alexander Udalov
cdceaec79f
Fix unjustified descriptorToDeclaration in bridge codegen
...
Delegated and synthesized members don't usually have a declaration as well as
fake overrides
2014-04-18 17:18:51 +04:00
Alexey Sedunov
45073c5a1c
Do not show description hint for declaration with diagnostic message
...
#KT-4815 Fixed
2014-04-18 14:38:20 +04:00
Alexey Sedunov
e5777129e2
Introduce utility functions for operations on search scopes
2014-04-18 14:38:19 +04:00
Alexey Sedunov
191ea2533e
Dot not lengthen references to declarations contained in the moving element
2014-04-18 14:38:17 +04:00
Alexey Sedunov
5f92c22df3
Smart Selector: Do not suggest expressions contained in the super-expression
...
#KT-4824 Fixed
2014-04-18 14:38:17 +04:00
Nikolay Krasko
068c9636fc
Refactoring: rename TEXT to FQNAMES_IN_TYPES
2014-04-18 13:25:58 +04:00
Nikolay Krasko
962044f887
Use render with short types names in completion lookup elements
2014-04-18 13:18:18 +04:00
Nikolay Krasko
f6276cc10b
Fix ClassCastExceptions from LocalVariableDescriptor to PropertyDescriptor (EA-55534).
2014-04-18 13:18:18 +04:00
Nikolay Krasko
37c6727413
Report message with context for KT-4464
2014-04-18 13:18:17 +04:00
Lingzhang
6feee57d5e
Bug Fix for KT-4652 Replace with Infix Call
2014-04-18 02:15:02 -04:00
Alexander Udalov
5e138a606b
Report "cannot infer visibility" for delegated members
2014-04-17 19:51:32 +04:00
Alexander Udalov
369472a6e2
Log.warn when descriptors reach TO_STRING diagnostic renderer
2014-04-17 19:51:32 +04:00
Alexander Udalov
a5cc894ecd
Fix "name in constraint is not a type parameter" diagnostic message
...
TO_STRING renderer was used for PSI elements, so things like "CLASS", "FUN"
were displayed in the message
2014-04-17 19:51:32 +04:00
Alexander Udalov
72dfca1698
Fix "cannot override invisible member" diagnostic message
...
Fix "cannot has", delete "in class ..." as it's already present in the message
(function ... defined in class ...)
2014-04-17 19:51:32 +04:00
Alexander Udalov
1deb55bfde
Add positioning strategy for diagnostics on illegal fake overrides
...
"funcitonTypes.kt" test data file was changed because now that there is a
positioning strategy, it takes the liberty of filtering out those diagnostics
that were reported on syntactically invalid elements
2014-04-17 19:51:31 +04:00
Alexander Udalov
146498ec32
Sort out renderers for diagnostics
...
- change NAMED to be Renderer<Named> and render Named's name. It was used in
multiple places with arbitrary arguments, not only Named: change renderers in
those places to TO_STRING
- add STRING, which is Renderer<String> and renders string itself. Change all
places where strings were used with either TO_STRING or NAMED to STRING
- change NOT_AN_ANNOTATION_CLASS diagnostic to be reported on descriptor, not
any string
- change "unused variable/parameter" diagnostics to be reported on
VariableDescriptor, not Object
2014-04-17 19:51:31 +04:00
Alexander Udalov
4c973b79ee
Get rid of poorly named NotInferredVisibilitySink
...
Also make TraceBasedErrorReporter invoke OverrideResolver to report "cannot
infer visibility", because there's some additional logic there
2014-04-17 19:51:31 +04:00
Alexander Udalov
5ae339d940
Fix "Cannot infer visibility" for fake overrides
...
#KT-4785 Fixed
2014-04-17 19:51:31 +04:00
Alexander Udalov
55b28fcd0e
Minor, provide a nicer API in OverrideResolver for plugin
2014-04-17 19:51:30 +04:00
Alexander Udalov
34e7584aec
Move some utilities from OverridingUtil to OverrideResolver
...
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes
Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Alexander Udalov
3dffd428ad
Refactor OverrideResolver and OverridingUtil
...
Fix warnings, simplify code. Untangle a very complex code related to
diagnostics on multiple default values and different names of parameters in
supertypes; fix a bug there, add test
2014-04-17 19:51:30 +04:00
Alexander Udalov
adec89f74d
Don't print descriptors' toString() in diagnostic messages
...
Use DescriptorRenderer.TEXT instead, it doesn't print the debug information
2014-04-17 19:51:29 +04:00
Alexander Udalov
5be2a4945b
Render FQ name of default package as "root package" in OverloadResolver
2014-04-17 19:51:29 +04:00
Alexander Udalov
4f9f5d231b
Fix incorrect diagnostic message for CONFLICTING_OVERLOADS
...
- the member and the container were mixed up
- don't output "defined in" part of the message, because we tell later where
it's already defined in
- fix an instability of the diagnostic order in OverloadResolver by using
LinkedHashSet
2014-04-17 19:51:29 +04:00
Alexey Sedunov
0d90dcf010
Extract Function: Add test data
2014-04-17 19:01:20 +04:00
Alexey Sedunov
4dec0508a6
ExtractionTest: Change test data layout
2014-04-17 19:01:17 +04:00
Alexey Sedunov
24d8557a5a
Translate AbstractJetExtractionTest to Kotlin
2014-04-17 19:01:15 +04:00
Alexey Sedunov
a951734ec2
Generalize "Introduce variable" test
2014-04-17 19:01:13 +04:00
Alexey Sedunov
074471c0ed
Get rid of unnecessary write action
2014-04-17 19:01:11 +04:00
Alexey Sedunov
6006f53e68
Auto-generate test class for "Introduce variable" refactoring
2014-04-17 19:01:09 +04:00
Alexey Sedunov
a72d785d62
Use lazy analysis in JetNameValidatorImpl
2014-04-17 19:01:07 +04:00
Alexey Sedunov
1fe6df268a
Extract Function: UI and refactoring handler
2014-04-17 19:01:04 +04:00
Alexey Sedunov
424c5f296f
Extract Function: Analysis and code generation
2014-04-17 19:01:02 +04:00
Alexey Sedunov
cceaa3b66f
Fix bug in ShortenReferences visitor (do not skip PSI elements after modication)
2014-04-17 19:01:00 +04:00
Alexey Sedunov
95b4ec2058
Drop ReturnInstruction
2014-04-17 19:00:58 +04:00
Alexey Sedunov
3952a121fb
Pseudocode: Track PSI elements which correspond to jump instructions
2014-04-17 19:00:56 +04:00
Alexey Sedunov
103165d674
Move Maybe class and its inheritors to util package
2014-04-17 19:00:54 +04:00
Alexey Sedunov
cf55102697
Move "Introduce..." classes to separate package
...
Rename Jet -> Kotlin
2014-04-17 19:00:52 +04:00
Valentin Kipyatkov
f11a05e504
Smart completion: auto popup parameter info for constructor
2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
df299655a7
Smart completion: one more working test and one more test to fix later
2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
164fb84cbe
Smart completion: ExpectedTypeInfo renamed to ExpectedInfo
2014-04-17 14:39:31 +04:00
Valentin Kipyatkov
9609a9fff1
Smart completion: refactored one big class into a set of smaller ones
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
c53da996c4
Smart completion: refactored static members processing
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
ad791d0480
Smart completion: some code improvements
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
f682dc36e0
Smart completion: lambda items
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
1ba4c656a5
Smart completion: bugfix - no function reference after dot
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
5bff98c164
Smart completion: minor code refactoring
2014-04-17 14:39:30 +04:00
Valentin Kipyatkov
73329af7b1
Smart completion: refactored all code into a class to avoid passing the same data into many functions
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
06b1f1ec2f
Smart completion: code improvements and refactorings after code review
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
6b1ecc3fb0
Smart completion: "::functionName" items when value of function type is expected
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
7d5b86e000
Smart completion: no duplicates among static members
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
4b5d175aa7
Smart completion: no more duplicates among type instantiation items
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
5d8c5cfa31
Smart completion inserts closing parenthesis as well
2014-04-17 14:39:29 +04:00
Valentin Kipyatkov
f984dbc5b6
Smart completion to insert comma when in argument list
2014-04-17 14:39:28 +04:00
Zalim Bashorov
7b8f2fe396
Updated to IDEA 135.689 (13.1.2 EAP)
2014-04-17 13:28:03 +04:00
Alexander Udalov
3b7c743acc
Minor fix in assert<->if+throw intention description
2014-04-17 03:20:14 +04:00
Zalim Bashorov
23922c1387
Fixed line separators for fix maven build on Windows.
2014-04-16 20:33:42 +04:00
Zalim Bashorov
361c81bbe5
IDEA plugin: fixed using SimplifyNegatedBinaryExpressionIntention and dependent tests.
...
+ minor reformat.
2014-04-16 18:14:11 +04:00
Tal Man
9cff3ba049
Intention to convert assert to an if with throw
2014-04-15 19:26:39 -04:00
Alexey Sedunov
db38f420f3
Move Refactoring: Do not replace references to local declaration with qualified names. Update and fix test data
...
#KT-4851 Fixed
2014-04-15 16:19:28 +04:00
Svetlana Isakova
58b8eab620
Merge pull request #406 from wutalman/explicit_type_arguments
...
KT-4583 Intention for removing explicit type arguments at function calls
2014-04-15 12:09:15 +04:00
Andrey Breslav
d28ca5bdfa
Empty parameter list should go before '->' in a lambda
...
Example:
val x = { -> foo() }
2014-04-14 19:15:08 +04:00
Tal Man
b9e248b006
Intention for removing explicit type arguments at function calls
2014-04-14 11:14:09 -04:00
Alexander Udalov
4a60c59f39
Minor, fix KotlinSignature of DFS methods
2014-04-14 16:02:10 +04:00
Alexander Udalov
79e7ee91e4
Generate bridges for trait implementations properly
...
The intent was to keep the bridge codegen model as simple as possible: we
should be able to figure out all necessary bridges only by a minimal interface
that FunctionHandle provides (isAbstract, isDeclaration, getOverridden)
Add different tests for bridges
#KT-318 Obsolete
2014-04-11 21:57:47 +04:00
Alexander Udalov
4a12ea9bda
Don't generate bridges in light classes mode
2014-04-11 21:57:46 +04:00
Alexander Udalov
b0db6a4526
Rewrite bridge generation to Kotlin, make it abstract
2014-04-11 21:57:46 +04:00
Alexander Udalov
fc838dbb53
Refactor ImplementationBodyCodegen.getTraitImplementations()
...
Make it static, extract a method which finds an implementation in a trait for a
fake override
2014-04-11 21:57:46 +04:00
Alexander Udalov
5967befa6a
Minor, catch all exceptions in asm verification in tests
...
E.g. ClassFormatError
2014-04-11 21:57:45 +04:00
Alexander Udalov
28940256e3
Minor, add bytecode text test on bridges for fake overrides
2014-04-11 21:57:45 +04:00
Alexander Udalov
478766815d
Consider all real functions, not only declarations in bridge codegen
...
There should be bridges to all of the functions present in bytecode
2014-04-11 21:57:45 +04:00
Alexander Udalov
04c237cc22
Generate bridges for fake overrides when needed
...
#KT-3985 Fixed
#KT-4145 Fixed
2014-04-11 21:57:44 +04:00
Alexander Udalov
2c2c918447
Refactor bridges algorithm in codegen
...
- fix a typo (which apparently didn't matter)
- queue now always contains originals, no need to invoke getOriginal()
- no need to add current descriptor's original anymore, this was a hack working
around a problem with trait-impl which was fixed by another change
- a small optimization: don't do anything for constructors
2014-04-11 21:57:44 +04:00
Alexander Udalov
320a17739d
Minor, move and rename getExceptions
...
Should only be used in FunctionCodegen from now on, because every method
generation should go through FunctionCodegen
2014-04-11 21:57:43 +04:00
Alexander Udalov
11386c0f7a
Simplify codegen for trait methods with implementations
...
- use existing framework (FunctionCodegen.generateMethod) which will take care
of all subtleties of method generation (bridges, annotations, thrown
exceptions, etc)
- call to "generateThisOrOuter" was not needed, since when we're generating
delegation to TImpl, "this" is always "ALOAD 0"
2014-04-11 21:57:43 +04:00
Alexander Udalov
089cba5791
Warn about unwrapFakeOverride in a comment
2014-04-11 21:39:56 +04:00
Evgeny Gerashchenko
b9ddc107ba
Merge pull request #443 from Stebalien/fix-eqeqeq
...
Accepted, thank you
2014-04-11 21:06:42 +04:00
Steven Allen
6de114366f
Correctly unparse EQEQEQ and EXCLEQEQEQ into === and !== (instead of == and !=).
...
Reported by Pradyoth Kukkapalli on the kotlin-students mailing list.
2014-04-11 12:46:26 -04:00
Natalia Ukhorskaya
ed7a156553
Merge remote-tracking branch 'origin/pr/435'
...
Conflicts:
idea/src/META-INF/plugin.xml
idea/tests/org/jetbrains/jet/plugin/codeInsight/JetInspectionTestGenerated.java
2014-04-11 12:11:44 +04:00
Natalia Ukhorskaya
f6a4cce3ae
Merge pull request #434 from zgrannan/if_then_to_elvis_inspection
...
KT-4555 Inspection to detect if's that are foldable to elvis operator
2014-04-11 11:59:42 +04:00
Zack Grannan
867925d5a1
Added ifThenToSafeAccessInspection
2014-04-10 15:44:59 -07:00
Zack Grannan
328607a3ab
Added ifThenToElvisInspection
...
Conflicts:
idea/src/META-INF/plugin.xml
2014-04-10 14:43:18 -07:00
Tal Man
cfc16b410e
Intention for adding explicit type arguments at function calls
2014-04-10 16:28:42 +04:00
Natalia Ukhorskaya
f8db722011
Merge pull request #392 from wutalman/simplify_booleans
...
KT-4569: Intention to simplify boolean expressions with constants #KT-4569 Fixed
2014-04-10 11:00:16 +04:00
Natalia Ukhorskaya
c8abe91c25
Move files to subdirectory before merge them to kotlin/master
2014-04-10 10:25:01 +04:00
Tal Man
0feb0d35e6
Intention to simplify boolean expressions that have expressions in them that can be simplified to constants
2014-04-09 14:47:13 -04:00
Tal Man
aeb5bae556
Refactoring of CompileTimeConstant, introduce flag to represent a constant being referenced by a variable
2014-04-09 14:47:05 -04:00
Pavel Talanov
32651ec05f
Merge pull request #431 from gavinkeusch/split_if_new
...
KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword
2014-04-09 09:10:50 -07:00
gavinkeusch
216ea4940d
KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword
2014-04-08 11:29:30 -07:00
Evgeny Gerashchenko
c32bb67365
Updated to IDEA 135.667 (13.1.2 EAP)
2014-04-08 19:29:44 +04:00
Alexey Sedunov
f5fb2ea0ab
Reuse intention test data in inspection tests
2014-04-08 15:34:51 +04:00
asedunov
32a2e63ae5
Merge pull request #386 from pk382/operator-assign-intention
...
Intention: Convert between "+=" and "a = a + b"
#KT-4563 Fixed
2014-04-08 11:03:08 +02:00
Pradyoth Kukkapalli
eb3ddf50bf
New Intention Action: Replace with traditional assign.
...
This takes an expression of the form a += b and converts it to an
expression form a = a + b.
2014-04-07 09:43:02 -04:00
Pradyoth Kukkapalli
249af96d3c
New Intention Action: Replace with operator assign
...
Replaces a statement of the form a = a + b with a statement of the form
a += b.
2014-04-07 09:43:01 -04:00
Andrey Breslav
8777ab9ee8
Extra instructions added
2014-04-05 12:39:33 +03:00
Nikolay Krasko
f41f48b112
Use lazy resolve in name suggester
2014-04-05 04:41:31 +04:00
Nikolay Krasko
dd45da01d1
Fix "Extract variable" for anonymous object suggests name "nonameprovided" (KT-4813)
...
#KT-4813 Fixed
2014-04-05 04:41:31 +04:00
zarechenskiy
43b41f6db9
Implement formatMethod in JavaSignatureFormatter without PSI
2014-04-04 17:40:37 +04:00
zarechenskiy
fe48051041
Remove acces to JavaPropertyInitializerEvaluator through ServiceLoader by injecting it in GenerateInjectors
2014-04-04 17:40:37 +04:00
zarechenskiy
2e4028ba3a
Move method createArrayType to JavaType and drop JavaElementFactory
2014-04-04 17:40:36 +04:00
zarechenskiy
735df2e340
Drop getExternal method from JavaSignatureFormatter
2014-04-04 17:40:36 +04:00
zarechenskiy
d7337fbe94
Remove PSI in TraceBasedExternalSignatureResolver, AlternativeFieldSignatureData, AlternativeMethodSignatureData
2014-04-04 17:40:35 +04:00
Alexander Udalov
77b2b29641
Show uninitialized descriptor's name in DeclarationDescriptor.toString()
2014-04-04 17:40:34 +04:00
Nikolay Krasko
5606c21f89
Remove synchronous VFS refresh to avoid deadlocks (KT-4584)
...
#KT-4584 Fixed
2014-04-04 02:10:31 +04:00
Nikolay Krasko
48570ebc64
Automatically enable Kotlin plugin if it was disabled
2014-04-04 02:10:30 +04:00
Nikolay Krasko
6e8c1df5ee
Minor: fix always null warning
2014-04-04 02:10:29 +04:00
Nikolay Krasko
a7bc9ec96c
Minor: use directive with current ABI version in test data
2014-04-04 02:10:29 +04:00
Alexander Udalov
8006fcc819
Minor, add assertion message
2014-04-03 19:33:22 +04:00
Alexander Udalov
750d3e8de7
Drop MutableClassDescriptorLite
...
Inline it into MutableClassDescriptor
2014-04-03 19:13:11 +04:00
Alexander Udalov
cbe6e49a93
Consider outer classes when topsorting hierarchy
...
- when building a topsorted hierarchy, consider not only edges to the class'
superclasses, but also from inner/nested classes to their container. This
effectively means that a class cannot inherit from its nested class. Similar
cases (see the tests) are disallowed in Java.
- filter classes by their presence in TopDownAnalysisContext, not by being a
MutableClassDescriptor (otherwise analysis for local classes ends up trying
to do something with outer superclasses)
- delete outdated comment: topsort is needed not only for better diagnostics,
but also for correct order of fake overrides construction
2014-04-03 19:12:56 +04:00
Alexander Udalov
9b2291d381
Fix StackOverflowError on cyclic hierarchy Java<->Kotlin
...
Report errors not only when superclasses are MutableClassDescriptorLite, but
any classes
#KT-2115 Fixed
2014-04-03 19:04:12 +04:00
Alexander Udalov
4241eb9661
Regenerate tests
2014-04-03 19:02:56 +04:00
Alexander Udalov
a485f24217
Don't serialize signature to string to check against toString/hashCode/equals
2014-04-03 01:24:39 +04:00
Alexander Udalov
9fbe2c7cbc
Minor, remove read check in WriteThroughScope
...
Without this, it's difficult to debug errors related to writing to the already
locked scope: if you set a conditional breakpoint in checkMayRead() on a
scope's toString(), its toString() will call getContainingDeclaration(), which
will call checkMayRead() again, resulting in StackOverflowError
2014-04-03 01:24:38 +04:00
Zalim Bashorov
96d5a1d0e6
JS backend: test both versions of Map(Complex and Primitive)
2014-04-02 17:50:40 +04:00
Zalim Bashorov
336ff43b26
JS backend: - test both versions of Set(Complex and Primitive)
...
- added size in PrimitiveSet
- fixed contains in PrimitiveSet
#KT-4796 fixed
2014-04-02 17:50:40 +04:00
Zalim Bashorov
6c1ed450a2
Added the directive for allow to use runtime classes in intention tests.
2014-04-02 16:00:09 +04:00
Andrey Breslav
4f44c7ba9c
Unused mechanism removed
...
Incomplete traces are not needed for light classes any more, because light classes use lazy resolve
2014-04-02 15:48:58 +04:00
Andrey Breslav
96a812b36e
Minor. Rename method BodiesResolveContext.getClasses()
...
This is done to avoid the clash of meanings with TopDownAnalysisContext.getAllClasses()
2014-04-02 15:48:58 +04:00
Andrey Breslav
98e6b7ddbe
Top-down analysis accounts for script classes too
2014-04-02 15:48:57 +04:00
Andrey Breslav
0f422df98f
In non-lazy mode, script classes are normal MutableClassDescriptors
2014-04-02 15:48:57 +04:00
Andrey Breslav
989079e4fc
Properties from primary constructors added to getAllDescriptors()
2014-04-02 15:48:56 +04:00
Andrey Breslav
9f70364aff
Add 'rv' property to getAllDescriptors() in script classes
2014-04-02 15:48:56 +04:00
Andrey Breslav
363fdf4045
Account for script classes in getAllDescriptors()
2014-04-02 15:48:56 +04:00
Andrey Breslav
d51fd634df
Script classes are public in LAZY mode
2014-04-02 15:48:55 +04:00
Pavel V. Talanov
6ba8e4c4b1
Switch JetMultifileBasicCompletionTest to generated approach
2014-04-02 13:37:18 +04:00
Pavel V. Talanov
4c634d5c67
Use common infrastructure for JetMultifileBasicCompletionTest
2014-04-02 13:37:17 +04:00
Pavel V. Talanov
4275fa9cd3
Make JetCompletionMultiTestBase extend JetFixtureCompletionBaseTestCase
2014-04-02 13:37:16 +04:00
Pavel V. Talanov
3fdb548a9d
Introduce JetModifierKeywordToken to mark keywords which can be used as modifiers
...
Change JetModifierList and JetModifierListOwner api to accept only those tokens
2014-04-02 13:37:15 +04:00
Andrey Breslav
f0bab0c6d1
Annotations on lazy classes are resolved lazily
2014-04-02 13:28:48 +04:00
Zalim Bashorov
b43958f4b3
Fixed tests after adding error checking for intention tests.
2014-04-01 20:49:24 +04:00
Zalim Bashorov
8d19c7309b
Minor: use canonical path to expected file in intention tests.
2014-04-01 18:52:31 +04:00
Zalim Bashorov
3375ed90a4
IDEA plugin: added the error checking to intentions tests.
2014-04-01 17:28:55 +04:00
Andrey Breslav
d5eea09146
Imports moved from under the script node to top level
2014-04-01 12:36:52 +04:00
Andrey Breslav
7bdc56d895
Script-related code extracted to subclasses
2014-04-01 12:36:52 +04:00
Andrey Breslav
64a80baacc
Support script return value field in LAZY mode
2014-04-01 12:36:51 +04:00
Andrey Breslav
b8119a57ab
Script parameters supported in LAZY mode
2014-04-01 12:36:51 +04:00
Andrey Breslav
1335152625
ResolveSession caches script descriptors
2014-04-01 12:25:33 +04:00
Andrey Breslav
77261330b9
Only use script parameters from definition
...
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
2014-04-01 12:25:33 +04:00
Andrey Breslav
086e16f67f
ResolveSession knows about script classes
2014-04-01 12:25:33 +04:00
Andrey Breslav
b48d9884ee
Minor. Better assertion message
2014-04-01 12:25:33 +04:00
Andrey Breslav
d909a03453
Minor. ScriptNameUtil works on scripts, not files
2014-04-01 12:25:32 +04:00
Andrey Breslav
caa80a0552
DeclarationProvider now returns ClassLikeInfo's instead of PSI
2014-04-01 12:25:32 +04:00
Andrey Breslav
06e901e2c7
Minor. Missing final added
2014-04-01 12:25:32 +04:00
Andrey Breslav
7933f07bdd
Avoid rewrites between script body checking and class members
2014-04-01 12:25:32 +04:00
Andrey Breslav
6ac2e2da8a
Support scripts in LAZY mode
2014-04-01 12:25:32 +04:00
Andrey Breslav
5166c73060
Property descriptor initialization moved to DescriptorResolver
2014-04-01 12:25:32 +04:00
Andrey Breslav
214465a81c
Extract method
2014-04-01 12:25:31 +04:00
Andrey Breslav
76e286aacc
ScriptParameterResolver extracted
2014-04-01 12:25:31 +04:00
Andrey Breslav
e683a28689
Minor. Extract method
2014-04-01 12:25:31 +04:00
Andrey Breslav
f81bf5ea73
Do not add functions and properties with inferred types as script class memebrs
2014-04-01 12:25:31 +04:00
Andrey Breslav
9a1f8b9cc6
Trace is not injected into ScriptBodyResolver any more
2014-04-01 12:25:31 +04:00
Andrey Breslav
5ef329b713
Store scope for body resolution in ScriptDescriptor
2014-04-01 12:25:31 +04:00
Andrey Breslav
3e957031b9
Minor. Method moved to where it belongs
2014-04-01 12:25:30 +04:00
Andrey Breslav
efd752290e
Minor. Extract method
2014-04-01 12:25:30 +04:00
Andrey Breslav
e24a90a73a
Minor. Logic moved up the call stack
2014-04-01 12:25:30 +04:00
Andrey Breslav
bbf9523c04
getValueParameters() removed from ScriptDescriptor
2014-04-01 12:25:30 +04:00
Andrey Breslav
04f21eee50
getReturnType() removed from ScriptDescriptor
2014-04-01 12:25:30 +04:00
Andrey Breslav
39c06e19e4
Minor. Comment removed
2014-04-01 12:25:30 +04:00
Andrey Breslav
19e5e322fe
Cast moved to the call-site
2014-04-01 12:25:29 +04:00
Andrey Breslav
7191763c17
Extract interface: ScriptDescriptor
2014-04-01 12:25:29 +04:00
Mikhael Bogdanov
e2f3a589e7
KT-3308 Support local generic functions in codegen
...
#KT-3308 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
4269729b0a
KT-3214: Verify error when get array convention is used with varargs
...
#KT-3214 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
596dc68ea4
KT-4340: Jvm backend generates invalid synthetic accessor for private extension property
2014-04-01 11:18:15 +04:00
Natalia Ukhorskaya
33b1813dd7
Remove KT-4617 workaround
2014-04-01 11:12:23 +04:00
Natalia Ukhorskaya
32a6205d81
SmartStepInto in top level functions. Add test for debugger
...
#KT-4737 Fixed
2014-04-01 10:41:34 +04:00
Nikolay Krasko
4aa3dff2a2
Update to ASM5
2014-04-01 02:55:05 +04:00
Nikolay Krasko
95fd870988
Update to idea 135.666 EAP with asm5 library
2014-04-01 02:55:00 +04:00
Evgeny Gerashchenko
04a6b10f7a
Minor. Renamed annotationDeserializer → deserializers.
2014-03-31 22:39:59 +04:00
Evgeny Gerashchenko
dadc8351b6
Added tests for compiling Java against TraitImpl and extension members.
2014-03-31 22:39:58 +04:00
Evgeny Gerashchenko
93dfc00880
Minor. Renamed enum constants for clarification.
2014-03-31 22:39:58 +04:00
Natalia Ukhorskaya
4a79bfa16d
Generate static accessors fro protected functions in different packages
...
#KT-4617 Fixed
2014-03-31 21:27:13 +04:00
Mikhael Bogdanov
5b5ecca12a
Inline test: check that no any inline method is called directly
2014-03-31 20:04:23 +04:00
Mikhael Bogdanov
0d239a3e0e
Moving local fun callee generation to CallReceiver
2014-03-31 20:04:10 +04:00
Mikhael Bogdanov
7dc662f613
Optimization for const closures: access it via GETSTATIC
2014-03-31 20:04:09 +04:00
Mikhael Bogdanov
c7c1e33655
Move local fun callee generation to pushArgumentsWithCallReceiver.
...
Local fun callee generation via resolvedCall.resultingDescriptor not call
2014-03-31 20:03:43 +04:00
Mikhael Bogdanov
94e4c2f0c1
Move call receiver wrapping and generation to pushArgumentsWithCallReceiver
2014-03-31 20:00:46 +04:00
Mikhael Bogdanov
e1e2855887
Removed obsolete pop operation
2014-03-31 19:59:24 +04:00
Mikhael Bogdanov
b3f4b79cdf
Fixed misspelling in defaulCallGenerator
2014-03-31 19:59:24 +04:00
Mikhael Bogdanov
ff4ff29d28
CallReceiver calcType and put method identical simplification
2014-03-31 19:59:24 +04:00
Zalim Bashorov
fd165f055f
Minor in JS backend:
...
- use constants from Namer in JsAstUtils#createPackage;
- dropped extra JsInvoke node when create IIF;
- create new JsName for Kotlin object in IIF scope.
2014-03-31 16:07:55 +04:00
Zalim Bashorov
0a546ebb40
Merge pull request #428 from alextkachman/kotlin-as-var
...
added Kotlin as parameter for module wrapping function
2014-03-31 15:58:18 +04:00
Zalim Bashorov
0d61fbb8f7
Merge pull request #427 from alextkachman/master
...
Avoid unnecessary null checks in'!!' and 'as'
2014-03-31 15:57:24 +04:00
gavinkeusch
a6a1bb2b7c
KT-4574 New Intention: Split If - converts if statement containing one or more conjunction operators into two nested if statements
2014-03-31 14:40:00 +04:00
Nikolay Krasko
7c94e8a9af
Rename kotlin properties with all usages
...
#KT-4317 Fixed
#KT-4316 Fixed
2014-03-31 14:09:51 +04:00
Nikolay Krasko
b779141845
Refactoring: move methods about override to OverridingUtil
2014-03-31 14:09:50 +04:00
Nikolay Krasko
a39537f040
Update Kotlin icons
2014-03-31 14:09:49 +04:00
Alex Tkachman
82a25c8b07
added Kotlin as parameter for module wrapping function. this is for better obfuscation
2014-03-31 10:25:02 +03:00
Alex Tkachman
371dfc6ec4
avoid unnecessary null checks when receiver of '!!' or 'as' operator is not nullable
2014-03-29 21:28:00 +03:00
Alexander Udalov
09a8e284e5
Minor fix in kotlin-stdlib-gen
...
This change was forgotten in e3fffe2
2014-03-28 22:45:35 +04:00
Alexander Udalov
d75a20bd7c
Minor, fix warning
2014-03-28 21:56:04 +04:00
Alexander Udalov
1e611f4df1
Minor refactoring in TypeUtils
...
Move out unneeded things in runtime, fix warnings
2014-03-28 21:56:04 +04:00
Alexander Udalov
d08da465d4
Module 'serialization' doesn't depend on intellij-core anymore
2014-03-28 21:44:07 +04:00
Alexander Udalov
59c04f5aff
Module 'util.runtime' doesn't depend on intellij-core anymore
2014-03-28 21:44:07 +04:00
Alexander Udalov
d719222bc4
Delete CommonSuppliers, use Guava directly
2014-03-28 21:44:07 +04:00
Alexander Udalov
7c4079fd32
Tear down SubstitutionUtils and move to frontend
2014-03-28 21:44:00 +04:00
Alexander Udalov
e3fffe275b
Fix implementation of Iterable<T>.take
...
#KT-4780 Fixed
2014-03-28 19:08:48 +04:00
Evgeny Gerashchenko
829cd95469
KT-4770 Javac fails against Kotlin inner class
...
#KT-4770 fixed
2014-03-28 16:46:26 +04:00
Andrey Breslav
bcc6843835
Render file name and position in errors from JS library stubs
2014-03-28 13:18:46 +04:00
Nikolay Krasko
c74542c72e
Download idea for verify to non-default folder
2014-03-28 12:48:56 +04:00
Alexander Udalov
ea4daed0ac
Use FqNameUnsafe instead of FqName in JVM intrinsics
...
#KT-4777 Fixed
2014-03-27 22:46:44 +04:00
Alexander Udalov
94084fb8e1
Regenerate tests
2014-03-27 22:43:55 +04:00
Valentin Kipyatkov
19bb3ca92a
Fixed test (ran GenerateInjectors)
2014-03-27 16:11:36 +04:00
Nikolay Krasko
59137d61fd
Remove verify directory before creating (make steps more independent)
2014-03-27 15:44:08 +04:00
Valentin Kipyatkov
50bb90a1e3
Smart completion: support for overloaded method calls
2014-03-27 15:21:57 +04:00
Alexey Sedunov
15364ceae6
Fix bug in test generation (as introduced by earlier commit)
2014-03-27 13:00:37 +04:00
Alexander Udalov
0deea6b83c
Add test for obsolete issue
...
#KT-1936 Obsolete
2014-03-27 03:06:59 +04:00
Evgeny Gerashchenko
3962064bd2
Fixed compilation of KDoc
2014-03-26 23:55:12 +03:00
Andrey Breslav
708694a09d
Resolve annotation arguments only once
2014-03-26 21:10:29 +04:00
Andrey Breslav
298ddcf0ad
Do not resolve annotation arguments when only a type is requested
...
This replaces the logic that always did complete constructor call resolution by a request to typeResolver when only a type is needed
2014-03-26 21:10:29 +04:00
Andrey Breslav
1cdfab761a
Lazy annotation resolution supported
2014-03-26 21:10:29 +04:00
Andrey Breslav
bb17adc8d7
LazyAnnotations implementation
2014-03-26 21:10:29 +04:00
Andrey Breslav
72b2fa77f7
Test for recursively annotated class object added
2014-03-26 21:10:29 +04:00
Andrey Breslav
b3fb2e2314
Register files in package in LAZY mode
2014-03-26 21:10:29 +04:00
Andrey Breslav
311e7ab5fe
Make RecursiveDescriptorProcessorTest happy, it relies on the order of interfaces
2014-03-26 21:10:28 +04:00
Andrey Breslav
3560a9da73
Minor. Extract method
2014-03-26 21:10:28 +04:00
Andrey Breslav
cbb24a7d4e
Multiple rewrites to the same key in a map replaced by one write
2014-03-26 21:10:28 +04:00
Andrey Breslav
27d4e583a8
Unneeded field removed
2014-03-26 21:10:28 +04:00
Andrey Breslav
368381a861
Minor. Rename method
2014-03-26 21:10:28 +04:00
Andrey Breslav
f6439ade55
Minor. Extract method
2014-03-26 21:10:28 +04:00
Andrey Breslav
df1f0886c5
Inject a project into TDA for proper lazy session initialization
2014-03-26 21:10:27 +04:00
Andrey Breslav
4b5a192e4c
Don't add primary constructors parameters for properties
2014-03-26 21:10:27 +04:00
Andrey Breslav
bf2cc99109
Don't add delegated members from error types
2014-03-26 21:10:27 +04:00
Andrey Breslav
34c6eaec56
Correct scope for property accessors in lazy resolve
2014-03-26 21:10:27 +04:00
Andrey Breslav
4dfb6763b2
Alias importing fixed for the lazy case
2014-03-26 21:10:27 +04:00
Evgeny Gerashchenko
9ecd680fd4
Rewritten PackageFragmentDescriptor to Kotlin.
2014-03-26 00:41:54 +04:00
Evgeny Gerashchenko
00c0c1acd1
Introduced base PackageFragmentDescriptorImpl class,
2014-03-26 00:30:56 +04:00
Evgeny Gerashchenko
b736d1602e
Got rid of conustructors zoo in value parameter and getter/setter descriptors.
2014-03-25 21:35:09 +04:00
Evgeny Gerashchenko
cf61446d69
Fixed order of containing and original in property descriptors.
2014-03-25 21:35:09 +04:00
Evgeny Gerashchenko
48f8aa279b
Extracted "preserve original" flag.
2014-03-25 21:34:11 +04:00
Evgeny Gerashchenko
1aaea21f63
Got rid of constructors/initializers zoo in property descriptors
2014-03-25 21:33:15 +04:00
Evgeny Gerashchenko
eaad1f9f50
Got rid of constructors/initializers zoo in simple function descriptors
2014-03-25 21:33:14 +04:00
Evgeny Gerashchenko
8d38e74bd9
Got rid of constructors/initializers zoo in constructor descriptors
2014-03-25 21:33:09 +04:00
Nikolay Krasko
23e6ae02bd
Update versions pattern in order to support several numbers in version
2014-03-25 19:02:49 +04:00
Nikolay Krasko
d577656815
Download latest android studio by default
2014-03-25 19:02:49 +04:00
Alexey Sedunov
cceb66d632
Implement structural grouping of Kotlin declaration usages
...
#KT-4742 Fixed
2014-03-25 18:01:06 +04:00
Alexey Sedunov
5d4527d7aa
Parser: Fix recovery of constructor parameter list
...
#KT-4739 Fixed
2014-03-25 16:49:46 +04:00
Alexey Sedunov
028a71273c
Fix test data of QuickFixTest
2014-03-25 16:49:44 +04:00
Alexey Sedunov
1bbec14cc0
Inspections: Explicit "get"
2014-03-25 16:49:43 +04:00
Alexey Sedunov
a0bc6a7b39
Base classes for Kotlin inspections
2014-03-25 16:49:40 +04:00
kuity
48b9dcf5ae
Added KT-4549 SwapBinaryExpression Intention
2014-03-25 15:55:53 +04:00
Andrey Breslav
80737bdfcf
Fix PSI behavior for "val x : ()?' case
2014-03-25 15:55:53 +04:00
Evgeny Gerashchenko
6725b4f1b0
Minor. Unified code.
2014-03-25 14:34:59 +04:00
Evgeny Gerashchenko
5360451022
Minor. Renamed methods.
2014-03-25 14:34:58 +04:00
Evgeny Gerashchenko
33e59103ec
Fixed test when JDK 8 is system default.
2014-03-25 14:34:58 +04:00
Evgeny Gerashchenko
74ff77eca4
Added test case to K2JvmCliTest.
...
Test is already present.
2014-03-25 14:34:57 +04:00
Evgeny Gerashchenko
a502374a62
Added incremental compilation flag. For publishing intermediate implementation.
2014-03-25 14:34:53 +04:00
Evgeny Gerashchenko
3553f0701c
Minor. Got rid of useless parameter.
2014-03-25 14:31:45 +04:00
Evgeny Gerashchenko
a44f0c2f2d
Removed dependency on asm in descriptor.loader.java
...
Conflicts:
compiler/backend/src/org/jetbrains/jet/codegen/JavaSerializerExtension.java
2014-03-25 14:31:45 +04:00
Evgeny Gerashchenko
9f8a16fb1a
Unified copying of property and method proto data.
2014-03-25 14:31:44 +04:00
Evgeny Gerashchenko
733de56178
Supported properties in partial compilation of package.
2014-03-25 14:31:44 +04:00
Evgeny Gerashchenko
98401d109f
Minor. Dictionary.
2014-03-25 14:31:43 +04:00
Evgeny Gerashchenko
9e815f8560
Extracted Java signature deserialization logic from BaseDescriptorDeserializer.
...
Java signature deserializer returns asm Method instead of MemberSignature
2014-03-25 14:31:42 +04:00
Evgeny Gerashchenko
5e9e0acc34
Introduced trait for deserialized callable and implementations.
2014-03-25 14:31:42 +04:00
Evgeny Gerashchenko
cb0a85bc50
Simplified code in functions hierarchy.
...
Minimized constructors variety and reduced code duplication.
2014-03-25 14:31:41 +04:00
Evgeny Gerashchenko
537c03fb1a
Added test checking that initialization order in package part is not violated.
2014-03-25 14:31:41 +04:00
Evgeny Gerashchenko
d62bc07437
Partial compilation of package (only functions supported).
2014-03-25 14:31:38 +04:00
Evgeny Gerashchenko
00c2bd60e5
Code cleanup in PackageCodegen.
...
Converted set to one element (because it's always one element). Checking for all files to be in one package FQ name is redundant.
2014-03-25 14:26:49 +04:00
Evgeny Gerashchenko
5c8253c099
Rendering class or package proto when JPS test fails.
2014-03-25 14:26:48 +04:00
Evgeny Gerashchenko
5f77a4548e
Extracted util method reading class header from bytes.
2014-03-25 14:26:48 +04:00
Evgeny Gerashchenko
e1a47deeae
Checking class files contents after make and rebuild.
2014-03-25 14:26:47 +04:00
Evgeny Gerashchenko
5acd054c72
Baby steps for incremental compilation.
2014-03-25 14:26:47 +04:00
Evgeny Gerashchenko
9e22c29825
Moved general JPS test data to common directory.
2014-03-25 14:26:47 +04:00
Ross Hanson
55e888604e
KT-4568: Created the ConvertNegatedExpressionWithDemorgansLaw intention. Converts an expression of the form !(a &&,|| b) to its expanded equivalent under DeMorgan's law.
2014-03-25 10:25:47 +04:00
Ross Hanson
2147a88ed8
KT-4568: Created the ConvertNegatedBooleanSequence intention. This intention takes an expression of the form !a &&,|| !b &&,|| ... and converts it to the DeMorgan equivalent !(a &&,|| b ...).
2014-03-25 10:25:47 +04:00
Nikita Skvortsov
4088f4a00e
remove unneeded resources
2014-03-24 20:14:27 +04:00
Nikita Skvortsov
84314711c6
continue renaming tests
2014-03-24 20:14:26 +04:00
Nikita Skvortsov
d2de398d3e
clearly rename test projects
2014-03-24 20:14:24 +04:00
Nikita Skvortsov
0ee97faca1
allow modifying test resources path
2014-03-24 20:14:23 +04:00
Zalim Bashorov
5825b0e9b3
Update to IDEA 13.1.1(135.480)
2014-03-24 18:38:25 +04:00
Tal Man
1c2082fd19
Don't create empty parentheses when lambda is the only argument
2014-03-24 18:20:01 +04:00
Ilya Ryzhenkov
796611702c
Test indentation on new line in scripts.
2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
64b4c2d49b
Fix scripting formatter to avoid extra indent in invisible block node.
2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
480dd6767c
Convert module scripting to .ktm extension.
2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
98c54f39bb
Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
...
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
4ba423ee16
Retain original file extension to test formatting in scripts
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
9239fa2ece
ScriptName now returns FqName, fully qualified with package name. Update usages and convert to internal format as needed.
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
d08f2bc7ab
Do not dispose classLoader so that dependent types can be loaded on demand, like closures.
2014-03-24 18:17:49 +04:00
Ilya Ryzhenkov
e49f4a0722
Marked scripting points with // SCRIPT: markers.
2014-03-24 18:17:49 +04:00
Pavel V. Talanov
618aea6218
Increase stub version before pushing into master
2014-03-24 17:51:55 +04:00
Pavel V. Talanov
5bc8cc1f9a
Stub tests: test for parameters with fq name
2014-03-24 17:51:53 +04:00
Pavel V. Talanov
cbaa515a00
Minor: remove redundant toString override
2014-03-24 17:51:51 +04:00
Pavel V. Talanov
a1dbf221b3
Use instance methods instead of JetPsiUtil for getting fq names
...
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
2014-03-24 17:51:49 +04:00
Pavel V. Talanov
37538f9524
Delete JetStubResolveTest
...
This test does not seem meaningful anymore
Since DeclarationProvider based on stubs is used in IDE, it is covered by a vast number of tests(anything that uses lazy resolve)
2014-03-24 17:51:47 +04:00
Pavel V. Talanov
c4de1898ce
Minor: remove unused method
2014-03-24 17:51:45 +04:00
Pavel V. Talanov
4a5d88c51d
Refactor: extract duplicated logic to util class
...
Introduce PackageIndexUtil
2014-03-24 17:51:43 +04:00
Pavel V. Talanov
97b4c57f0e
Minor: fix misleading method name
2014-03-24 17:51:41 +04:00
Pavel V. Talanov
ece6c8ebfe
Stubs tests: treat NO_NAME_FOR_LAZY_RESOLVE specially
2014-03-24 17:51:40 +04:00
Pavel V. Talanov
246466bdc5
Implement stub based package declaration provider for lazy resolve
...
Implement StubPackageMemberDeclarationProvider
Introduce DeclarationProviderFactoryService to provide difference factories in CLI and Plugin
When indexing treat top level declarations without name specially so that they can be found in index
Implement PluginDeclarationProviderFactoryService which uses file based approach for non indexed files and stub based for others
2014-03-24 17:51:38 +04:00
Pavel V. Talanov
fd5aea7c14
Refactor: use generated approach for stubs test
...
Remove meaningless assertion
Add comment to NotStorePropertyFromDelegate test
2014-03-24 17:06:07 +04:00
Pavel V. Talanov
105949de53
Refactor: fix stubs and psi having redundant constructor parameters
2014-03-24 17:06:06 +04:00
Pavel V. Talanov
b2f2d43919
Stubs for JetClassBody
2014-03-24 17:06:05 +04:00
Pavel V. Talanov
c6484ab4c3
Use of getFqName instead of JetPsiUtils
2014-03-24 17:06:04 +04:00
Pavel V. Talanov
4ef86bdf9f
Add getFqName() to JetNamedDeclaration interface
...
Use stubs to get fq name in stubbed implementations
2014-03-24 17:06:03 +04:00
Pavel V. Talanov
4c1c69a560
Prevent toString for PSI from mutating
2014-03-24 17:06:02 +04:00
Pavel V. Talanov
22b714cef8
Refactor: rename short name indices
2014-03-24 17:06:01 +04:00
Pavel V. Talanov
1859ce6124
Minor: fix misleading parameter name
2014-03-24 17:06:00 +04:00
Pavel V. Talanov
8d07bc60d0
Refactor: remove redundant getElementType overrides is PSI
2014-03-24 17:05:59 +04:00
Pavel V. Talanov
24364dd63b
Get rid of JetNodeTypes#LOOP_PARAMETER
2014-03-24 17:05:58 +04:00
Pavel V. Talanov
8e264a1419
Test for formatting loop parameter with explicit type
2014-03-24 17:05:58 +04:00
Alexander Udalov
0b5e9527d1
Add a code conformance test against com.beust.jcommander.internal.*
2014-03-24 16:40:07 +04:00
Alexander Udalov
d704b37240
Minor, delete outdated suppressions, fix warnings
2014-03-24 16:40:07 +04:00
Alexander Udalov
a78509432e
Don't build j2k on 'ant dist'
...
It was only used in kotlin-web-demo some time ago
2014-03-24 16:40:07 +04:00
Svetlana Isakova
8f1c7aa8f6
Refactoring: made 'resolveFunctionCall' return OverloadResolutionResults
...
not OverloadResolutionResultsImpl
2014-03-24 16:09:31 +04:00
Svetlana Isakova
9c21fb3b1f
Minor: removed "? extends"
2014-03-24 16:09:31 +04:00
Svetlana Isakova
77880f667a
Collect all resolved candidate calls if required
2014-03-24 16:09:31 +04:00
Svetlana Isakova
e6a71563ba
Added collectAllCandidates flag to ResolutionContext
2014-03-24 16:09:31 +04:00
Svetlana Isakova
d2f70b772d
refactoring: extracted method doResolveCallAndRecordDebugInfo
2014-03-24 16:09:31 +04:00
Nikolay Krasko
b05fb38dcd
Fix ArrayIndexOutOfBoundsException in named parameters completion
2014-03-24 15:19:26 +04:00
Nikolay Krasko
de891ebc6e
Use JB colors to avoid problems with different color schemes
...
- Fix KT-4725 Project wizard: bad font color
- Some warnings fixed
#KT-4725 Fixed
2014-03-24 15:19:25 +04:00
Nikolay Krasko
287c1f4c71
Test for Complete class names in expression position (KT-2821, KT-3779)
...
#KT-2821 Fixed
#KT-3779 Fixed
2014-03-24 15:19:24 +04:00
Natalia Ukhorskaya
8511c683c6
Fix SmartStepInto tests on ubuntu
2014-03-24 13:50:12 +04:00
Alexey Sedunov
46045a5538
Move top-level declarations to separate file: UI
2014-03-21 19:53:50 +04:00
Alexey Sedunov
5aa75ba3e1
Move top-level declarations to separate file: Refactoring processor and tests
2014-03-21 19:53:49 +04:00
Alexey Sedunov
6ddcd51af2
Rename test data directories
2014-03-21 19:53:47 +04:00
Pavel V. Talanov
6524adee0f
KT-4735: Exception from type checker prevents copy/paste
...
#KT-4735 Fixed
2014-03-21 19:20:23 +04:00
Natalia Ukhorskaya
fdef0b03fe
Fix compilation
2014-03-21 17:21:42 +04:00
Natalia Ukhorskaya
e8d2ba197e
Debugger: implement Smart Step Into
...
#KT-4639 Fixed
2014-03-21 16:08:01 +04:00
Andrey Breslav
3bc35adf09
Respect versions in site generator
2014-03-20 20:12:57 +04:00
Mikhael Bogdanov
35174b459a
Enable Inline flag for light classes
2014-03-20 17:50:54 +04:00
Mikhael Bogdanov
ca4609dd2a
Support inline true/false options
2014-03-20 17:50:52 +04:00
Nikolay Krasko
0b1470b5e5
Remove com.beust.jcommander.internal.Lists usage
2014-03-20 16:38:55 +04:00
Alexander Udalov
7d311cdfa0
Support named arguments for Java constructors annotated with KotlinSignature
2014-03-20 12:49:16 +04:00
Alexander Udalov
d2dc54c14f
Add test on named arguments completion for Kotlin library
2014-03-20 12:25:58 +04:00
Alexander Udalov
1c25723764
Don't suggest non-stable parameter names in completion
2014-03-20 12:19:26 +04:00
Svetlana Isakova
b33e3fc9d6
Merge pull request #371 from Stebalien/push-not-in-intention
...
Add an intention to simplify negated expressions.
2014-03-20 11:15:36 +03:00
Andrey Breslav
2a724a6eb4
Filename case fixed
2014-03-20 11:28:32 +04:00
Mikhael Bogdanov
9577c5c6ff
Fixed wrong argument usage and ClassCastException
2014-03-20 10:45:55 +04:00
Svetlana Isakova
d90e6460d1
Added asserts about unfinished state
...
to ResolutionTaskHolder
2014-03-20 10:06:03 +04:00
Svetlana Isakova
3a14ab0af3
Removed ExpressionAsFunctionDescriptor
2014-03-20 10:06:03 +04:00
Svetlana Isakova
75fbecceda
Improved error reporting for invoke on expression
2014-03-20 10:06:02 +04:00
Svetlana Isakova
db253ae7e1
Added CallableDescriptorCollectors
...
to use it instead List<CallableDescriptorCollector>
2014-03-20 10:06:02 +04:00
Svetlana Isakova
8f269f1806
Refactoring: made explicitExtensionReceiverForInvoke final
2014-03-20 10:06:01 +04:00
Svetlana Isakova
f311da3f8f
Supported invoke on expressions on js backend
2014-03-20 10:06:00 +04:00
Svetlana Isakova
f9ebf217a4
Added 'call' reference to ResolvedCall
2014-03-20 10:06:00 +04:00
Svetlana Isakova
a829da185d
Resolve invoke on any kind of expressions, not only on simple name expressions
2014-03-20 10:05:24 +04:00
Svetlana Isakova
c7087d170e
Refactoring: extracted isInvokeCallOnVariable
2014-03-20 10:05:24 +04:00
Svetlana Isakova
a194756327
Report resolve call errors on JetExpression, not on JetReferenceExpression
2014-03-20 10:05:24 +04:00
Svetlana Isakova
495d6326e5
Refactoring: do not store reference expression in resolution task
...
Sometimes there is no reference for the call (like '{ ... } ()').
A fake reference can be created, but the case when an error is reported on it can't be easily supported.
There were two usages of this reference: tracing and receiver for invoke.
Tracing strategy is created beforehand. Receiver for invoke uses the callee expression (from variable call), not the reference.
2014-03-20 10:05:23 +04:00
Svetlana Isakova
446aed5cf1
Rename
...
receiverForVariableAsFunctionSecondCall -> explicitExtensionReceiver
receiverFromVariable -> calleeExpressionAsThisObject
2014-03-20 10:05:23 +04:00
Svetlana Isakova
0a9dbbea79
Remove duplicates from implicit receiver hierarchy while building tasks
2014-03-20 10:05:23 +04:00
Alexander Udalov
1c5df773c5
Disallow named arguments for Java methods
...
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Alexander Udalov
5fa1774cc1
Support hasStableParameterNames in KotlinSignature and propagation
...
#KT-1924 In Progress
#KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Alexander Udalov
7fcd42f40c
Fix annoying parameter name override warning
...
Some corner cases still remain: KotlinSignature, propagation, deserialized
delegates to Java interfaces
#KT-1239 Obsolete
#KT-1924 In Progress
#KT-2081 Fixed
2014-03-19 23:24:27 +04:00
Alexander Udalov
80a374a6e4
Minor, fix typo in diagnostic message
2014-03-19 23:24:27 +04:00
Alexander Udalov
b6b1f2a94a
Minor, package "test" in compileJavaAgainstKotlin testData
2014-03-19 23:24:27 +04:00
Alexander Udalov
7b7619d1f3
Refactor CompileKotlinAgainstCustomBinariesTest
...
Make all filenames start with lowercase letter (instead of half lower / half
upper)
2014-03-19 23:24:27 +04:00
Evgeny Gerashchenko
f61470943a
KT-4683 KotlinNullPointerException at remove braces intention
...
#KT-4683 fixed
EA-54686 fixed
EA-54687 fixed
2014-03-19 23:20:24 +04:00
Nikolay Krasko
7b8e6fa462
Add kotlin templates for project create wizard
...
#KT-4689 Fixed
2014-03-19 21:08:29 +04:00
Ilya Ryzhenkov
a3b45b919c
Temporarily replace usages of extension on iterators in compiler by _tmp() calls
2014-03-19 20:25:16 +04:00
Ilya Ryzhenkov
f07b7cc58d
Functions on iterators are deprecated
2014-03-19 20:25:16 +04:00
Ilya Ryzhenkov
33415c2333
Uncomment test for TreeSet
2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
fb7034a472
Clean TODOs and commented code which works.
2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
266f6ad81a
Clean TODOs, add custom Iterable implementation test.
2014-03-19 20:25:15 +04:00
Ilya Ryzhenkov
ceb2aa57f9
Make two overloads of copyOf to preserve nullness when size doesn't change
2014-03-19 20:25:14 +04:00
Ilya Ryzhenkov
108fdc0097
Make stream plus operation actually streaming (lazy).
2014-03-19 20:25:14 +04:00
Ilya Ryzhenkov
c5b0351aa7
Minor. Formatting
2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
94c88695bb
Function moved to stdlib
2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
0267e2910d
Test data fixed after stdlib updtae
2014-03-19 20:25:13 +04:00
Ilya Ryzhenkov
6650b641ea
Teach JetTestFunctionDetector to understand subclasses
2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov
06873e9d09
Library paths updated after migration to new stdlib generators
2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov
e37d8174c3
New stdlib generators
2014-03-19 20:25:11 +04:00
Ilya Ryzhenkov
0980f5e40a
Minor. Typo fixed
2014-03-19 20:25:11 +04:00
Ilya Ryzhenkov
b60fd5acc1
Stable order in generated code for JS library
2014-03-19 20:25:10 +04:00
Ilya Ryzhenkov
552776f00b
Output fixed for builtins serializer
2014-03-19 20:25:10 +04:00
Steven Allen
d198465522
Add an intention to simplify negated binary expressions
...
Given an expression of the form `!(a op b)`, replace it with `a !op b`.
For example:
!(a < b) -> a >= b
!(a is Int) -> a !is int
2014-03-19 12:10:28 -04:00
Steven Allen
626ec6519c
Give tokens a value when possible
...
When a token can only have one value, store that value along with the
token. This is useful for unparsing kotlin.
2014-03-19 11:40:38 -04:00
Mikhael Bogdanov
fa67ab481b
VarRemapper -> LocalVarRemapper
2014-03-19 19:20:36 +04:00
Mikhael Bogdanov
86a02b54fa
Fix for debugger to support inlined lambdas
2014-03-19 19:20:36 +04:00
Mikhael Bogdanov
93367ffd3b
Generate local variable table for inlined lambda
2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
75c57f9827
VarRemapper.ParamRemapper class merged into VarRemapper
2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
f000d208a6
Removed generateLocalVarTable method
2014-03-19 19:20:35 +04:00
Mikhael Bogdanov
d059467727
Write line numbers for inlined lambdas
2014-03-19 19:20:35 +04:00
Nikolay Krasko
3b60dfa45b
Refactoring: rename weight result enums
2014-03-19 17:59:43 +04:00
Nikolay Krasko
607314989c
KT-1633 support completion of named function parameters
2014-03-19 17:59:41 +04:00
Nikolay Krasko
5a5f234377
Update dependency to 13.1 (135.475)
2014-03-19 17:53:32 +04:00
Andrey Breslav
3255aaf231
Minor. Grammar rules fixed
2014-03-19 17:41:49 +04:00
Zalim Bashorov
d728f6ba92
JS backend: using JetPsiFactory instead of JetFileUtils. Drop JetFileUtils.
2014-03-19 17:36:45 +04:00
Zalim Bashorov
9bc5cc60ee
JS stdlib: added some JSDoc annotations to handwritten js files.
2014-03-19 17:36:44 +04:00
Zalim Bashorov
31d8a75b1a
Minor in JS backend: moved the Kotlin.modules declaration from koltin_lib.js to koltin_lib_ecma5.js
2014-03-19 17:36:43 +04:00
Zalim Bashorov
c10e7dd94b
JS backend: fixed extra code generation for increment, decrement and operations with assignment.
2014-03-19 17:36:43 +04:00
Alexey Sedunov
482d228253
Allow to move Kotlin file if it contains single top-level class/object
2014-03-19 15:31:30 +04:00
Alexey Sedunov
2f0d0c4d26
Move top-level declarations: Refactoring UI
2014-03-19 15:31:30 +04:00
Alexey Sedunov
abcba89ad3
Move top-level declarations: Implement refactoring processor
2014-03-19 15:31:29 +04:00
Alexey Sedunov
5836bb41b6
Move file/directory-related refactorings to separate package
2014-03-19 15:31:27 +04:00
Alexey Sedunov
1772e453e5
Unwrap light elements before filtering out non-source search targets
2014-03-19 15:31:26 +04:00
Alexey Sedunov
05d93df8b8
Unwrap light elements before getting FqName
2014-03-19 15:31:26 +04:00
Alexey Sedunov
acaa900ee9
Introduce reference shortening mode
2014-03-19 15:31:25 +04:00
Alexey Sedunov
a0ab7f6f22
Add utility function for Kotlin file creation
2014-03-19 15:31:24 +04:00
Alexey Sedunov
e2d0ecc437
Extract utility function
2014-03-19 15:31:23 +04:00
Alexey Sedunov
a094ea6550
Rename class
2014-03-19 15:31:22 +04:00
Mikhael Bogdanov
e4cdde4ebf
Rename transformation methods to folding
2014-03-19 11:41:24 +04:00
Mikhael Bogdanov
001945cd12
Fix for duplicated fields in regenerated lambda
2014-03-19 11:41:05 +04:00
Mikhael Bogdanov
961cb7d349
Added nullability annotations
2014-03-19 10:42:41 +04:00
Tal Man
baac1b9b0b
Fix to a bug in the intention to move lambda expressions inside parentheses, type arguments were being deleted
2014-03-18 19:25:50 +04:00
Nikolay Krasko
5362b81ea5
Don't search in random directories for existent libraries
...
#KT-4644 In Progress
2014-03-18 16:16:24 +04:00
Nikolay Krasko
3911a6f54b
Search library kinds
...
#KT-4644 In Progress
2014-03-18 16:16:24 +04:00
Nikolay Krasko
6b0298b933
Silently disable other incompatible framework
...
#KT-4644 In Progress
2014-03-18 16:16:23 +04:00
Nikolay Krasko
8ddbdab8c8
Support library create with relative paths
...
#KT-4644 In Progress
2014-03-18 16:16:22 +04:00
Nikolay Krasko
16018ccfe8
Minor: add @TestOnly annotation
2014-03-18 16:16:22 +04:00
Zalim Bashorov
71bfa51ab2
JS backend: fix access to class object members from containing class with implicit receiver.
...
#KT-4130 Fixed
2014-03-18 13:09:49 +04:00
Zalim Bashorov
1ba0b01456
Minor in JS backend: dropped unnecessary aliasing in ExpressionVisitor when translate local named function.
2014-03-18 13:09:48 +04:00
Zalim Bashorov
8fd38e261f
JS backend: fix access to enum entries by implicit receiver and explicit this.
2014-03-18 13:09:47 +04:00
Andrey Breslav
6b72d44929
Report useless and hidden imports in LAZY mode
2014-03-17 21:55:18 +04:00
Andrey Breslav
66b4c8d1a9
CONFLICTING_UPPER_BOUNDS reported in LAZY mode
2014-03-17 21:55:18 +04:00
Andrey Breslav
db6a6470f9
FINAL_UPPER_BOUNDS checked for classes in LAZY mode
2014-03-17 21:55:18 +04:00
Andrey Breslav
f7c5dc179c
Eager resolve does not record class object bounds (which are unsupported anyways)
2014-03-17 21:55:17 +04:00
Andrey Breslav
9964ecc883
NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check for classes is moved to DescriptorResolver
2014-03-17 21:55:16 +04:00
Andrey Breslav
39de1f131b
Bind references to type parameters in contraints in LAZY mode
2014-03-17 21:55:16 +04:00
Andrey Breslav
2a82c15465
Report UNSUPPORTED on class object constraints in lazy resolve
2014-03-17 21:55:15 +04:00
Andrey Breslav
b72bcfd8ae
Type bounds check for class headers moved to DeclarationsChecker
2014-03-17 21:55:15 +04:00
Andrey Breslav
8be40c29cf
CYCLIC_INHERITANCE_HIERARCHY reworked
...
We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
2014-03-17 21:55:15 +04:00
Andrey Breslav
ed81102b2f
Minor. Name clash removed (workaround for KT-1)
2014-03-17 21:40:22 +04:00
Andrey Breslav
e70571bafb
Register properties declared in primary constructors in c.getMembers()
2014-03-17 21:40:22 +04:00
Andrey Breslav
1e0910f9c6
Redeclaration check supported in LAZY mode
2014-03-17 21:40:21 +04:00
Andrey Breslav
674d990ba1
More precise return type in ClassDescriptorWithResolutionScopes.getClassObjectDescriptor()
2014-03-17 21:40:21 +04:00
Andrey Breslav
c04ce4401f
getDeclaredCallableMembers() fixed for lazy classes
...
Otherwise synthesized members were not included
2014-03-17 21:40:21 +04:00
Andrey Breslav
d97a5a0d63
Report CLASS_OBJECT_NOT_ALLOWED in LazyClassDescriptor
2014-03-17 21:40:20 +04:00
Andrey Breslav
e97c5379af
Report MANY_CLASS_OBJECTS upon traversing PSI
2014-03-17 21:40:20 +04:00
Andrey Breslav
c3c769194d
Report UNSUPPORTED on annotations on type parameters of classes
2014-03-17 21:40:20 +04:00
Andrey Breslav
5251b3286e
Do not process annotations twice in LAZY mode
2014-03-17 21:40:19 +04:00
Andrey Breslav
81f2f79c79
Import directives are resolved in lazy mode
2014-03-17 21:40:19 +04:00
Andrey Breslav
8bf252f98c
MISSING_VAL_ON_ANNOTATION_PARAMETER reported in DeclarationsChecker
2014-03-17 21:40:19 +04:00
Andrey Breslav
999c987d6c
ANNOTATION_CLASS_WITH_BODY reported in DeclarationsChecker
2014-03-17 21:40:18 +04:00
Andrey Breslav
12f06d032b
checkModifiersAndAnnotationsInPackageDirectives() moved to DeclarationsChecker
2014-03-17 21:40:18 +04:00
Andrey Breslav
0243bacab0
checkSupertypesForConsistency() moved to declarations checker
2014-03-17 21:40:18 +04:00
Andrey Breslav
131d6ddd3d
DelegatingType extracted
2014-03-17 21:40:17 +04:00
Andrey Breslav
a3075f90db
Forced resolution improved to handle type parameter bounds
2014-03-17 21:40:17 +04:00
Andrey Breslav
5ea5d8a9c3
CONSTRUCTOR_IN_TRAIT check moved to DeclarationsChecker
2014-03-17 21:40:17 +04:00
Andrey Breslav
3e22928666
Files in TopDownAnalysisContext are stored explicitly
...
To avoid the necessity of registering mutable package fragments in order to register files
2014-03-17 21:40:16 +04:00
Andrey Breslav
5c7c494235
Package directives resolved in lazy TDA
2014-03-17 21:40:16 +04:00
Andrey Breslav
63d5855cb4
Minor. ClassDescriptorWithResolutionScopes instead of MutableClassDescriptor
2014-03-17 21:40:16 +04:00
Andrey Breslav
fd9cb59841
TopDownAnalyzer supports lazy mode
2014-03-17 21:40:15 +04:00
Alexey Sedunov
3f09b0e030
Update to IDEA 135.445
2014-03-17 19:51:35 +04:00
Alexander Udalov
8b18309b01
Don't write "ResolvedCall<? extends CallableDescriptor>"
...
ResolvedCall has a type parameter D which extends CallableDescriptor.
Hence in Java "ResolvedCall<? extends CallableDescriptor>" = "ResolvedCall<?>"
The same story with these classes:
- ResolutionTask
- CallCandidateResolutionContext
- OverloadResolutionResults
2014-03-17 19:09:09 +04:00
Alexander Udalov
7d6423fcf1
Minor, add assertion messages, fix warnings
2014-03-17 19:09:09 +04:00
Alexander Udalov
338bc2f9ec
Fix incorrect apidoc for 'kotlin'
...
KDoc was confused because now there are two package fragments for package
'kotlin' (built-ins and stdlib). KDoc's KPackage now has a list of descriptors,
not only one.
This fixes missing documentation for top-level members in package 'kotlin' in
the apidoc
#KT-2521 Fixed
2014-03-17 19:09:08 +04:00
Alexander Udalov
93db022059
Minor, fix wrong string template in KAnnotation.toString()
2014-03-17 19:09:08 +04:00
Alexander Udalov
00170357fd
Clean code in KDoc
...
Fix warnings, outdated TODOs, formatting, etc.
2014-03-17 19:09:08 +04:00
Alexander Udalov
0dfacd8b20
Make KDoc generate documentation on red code
...
KDoc is not a compiler, so it should not care whether or not the code is valid.
Therefore suppress the compiler's exit code, errors and warnings in KDoc plugin
2014-03-17 19:09:08 +04:00
Mikhael Bogdanov
b1d76d6ab0
Maven inline option support
2014-03-17 17:28:46 +04:00
Mikhael Bogdanov
0b11c717c6
Gradle inline option support
2014-03-17 17:28:46 +04:00
Mikhael Bogdanov
22daacefbe
Added inline flag to ant build tool
2014-03-17 17:28:46 +04:00
Natalia Ukhorskaya
e06e4b8e74
Merge pull request #416 from nskvortsov/KT-4690
...
Test common Gradle property for kotlin version
2014-03-17 13:24:01 +00:00
Natalia Ukhorskaya
a9d3543967
Gradle: do not add ext prefix for kotlin_version property
...
#KT-4690 Fixed
2014-03-17 16:30:25 +04:00
asedunov
85dbd8cf49
Merge pull request #410 from kuity/unnecessaryParensInWhenToIf
...
Fix KT-4385 "Unnecessary parentheses in "replace when with if"
2014-03-17 13:00:10 +01:00
Nikita Skvortsov
0b6947b722
Test common Gradle property for kotlin version
2014-03-17 15:26:25 +04:00
Natalia Ukhorskaya
0045edbebe
Android tests: revert sdk version to 4.1
2014-03-17 14:00:20 +04:00
Alexander Udalov
7a2fce4fba
Add regression tests for obsolete issues
...
#KT-2592 Obsolete
#KT-2768 Obsolete
2014-03-16 03:18:26 +04:00
Alexander Udalov
65edd6a16e
Make KotlinBinaryClassCache thread-local
2014-03-14 17:26:48 +04:00
Alexander Udalov
307f52895a
Refactor KotlinJvmBinaryClass, VirtualFileKotlinClass, etc.
...
VirtualFileKotlinClass now reads its header and name on creation. This is not
lazy enough and may be slower in some circumstances, but has the following
advantage: if anything is wrong in the header, a VirtualFileKotlinClass
instance will not be created at all, making it nearly impossible for the client
code to operate on invalid data causing all kinds of exceptions
2014-03-14 16:00:20 +04:00
Alexander Udalov
9bf0d014d5
Sort out "isSpecialAnnotation" method logic
...
Remove duplicate method, include all needed annotations (seems that some of
them were forgotten in either of the two methods)
2014-03-14 16:00:19 +04:00
Lingzhang
877b9f2d99
KT4385 Bug Fix for Unnecessary Parentheses in WhenToIfIntention
2014-03-13 21:26:03 -04:00
Zalim Bashorov
7b503bbe6f
Minor in JS backend: added regression tests.
...
#{KT-2219, KT-2470, KT-2507, KT-2222, KT-2995, KT-2221} Obsolete
2014-03-13 22:57:41 +04:00
Svetlana Isakova
604e062f91
Fixed assertion error for incomplete code.
2014-03-13 19:09:01 +04:00
Natalia Ukhorskaya
904217d793
Gradle: set output directory to tmp/kotlin-classes to exclude it in IDE.
...
This is a temporary workaround: should be removed when Android Studio will get excluded output directories from Gradle Model (see AndroidContentRoot.java:35)
#KT-4507 Fixed
2014-03-13 17:32:13 +04:00
Mikhael Bogdanov
6ac6bd0a7c
KT-4388: Unclear warning for inline function
...
#KT-4388 Fixed
2014-03-13 16:35:56 +04:00
Zalim Bashorov
a5e74d7db3
JS backend: switch to use Function.call for calling extension lambdas and local extension functions.
...
Main reason for this change is (simple) interop with native code when pass extension lambda to or from native code.
(#KT-4238, #KT-4345) Fixed
2014-03-13 14:17:09 +04:00
Zalim Bashorov
206be96509
JS backend: added tests which pass an extension lambda to native code and visa versa.
...
Added workarounds in some tests because Rhino wrongly implicitly converts first parameter of `Function.call` to `Object`. But it's contradicts to ES5 specification(par. 15.3.4.4).
(#KT-4238, #KT-4345) In progress
2014-03-13 14:17:09 +04:00
Zalim Bashorov
597fff45e3
Minor in JS backend: made stable order of function parameters for captured variables.
2014-03-13 14:17:09 +04:00
Mikhael Bogdanov
769f559adf
Wise exception propagation for inlines errors
2014-03-13 14:06:58 +04:00
Mikhael Bogdanov
f475f3ba31
Inline checkbox in BytecodeToolWindow
2014-03-13 14:06:57 +04:00
Natalia Ukhorskaya
53e41e94d9
Fix maven tests
2014-03-13 13:56:28 +04:00
Natalia Ukhorskaya
0340aba2ce
Tools: add new gradle-test module to root pom.xml
2014-03-13 13:56:27 +04:00
Mikhael Bogdanov
768c565d3f
Fix for rubish labels inside captured field access chains
2014-03-13 10:36:55 +04:00
Mikhael Bogdanov
c95001370a
Code clean
2014-03-13 10:36:54 +04:00
Mikhael Bogdanov
2dcc0bce46
Inline refactoring: more templates for captured fields
...
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Natalia Ukhorskaya
4a8bcc614a
Resolve compileTimeInitializer for variable in lazy resolve
2014-03-13 10:07:18 +04:00
Natalia Ukhorskaya
89d99d2848
Remove toInt() from rendering IntValue
2014-03-13 10:07:17 +04:00
Natalia Ukhorskaya
a80114d720
Use one method to create compile-time value
2014-03-13 10:07:16 +04:00
Natalia Ukhorskaya
201af666a9
Move isVar check for compile time initializer out of the setter
2014-03-13 10:07:14 +04:00
Natalia Ukhorskaya
000dd4478a
Rename
2014-03-13 10:07:13 +04:00
Natalia Ukhorskaya
df3ed5059c
StorageManager for compile-time initializer
2014-03-13 10:07:12 +04:00
Natalia Ukhorskaya
17259a052e
Write constant initializer for java properties
2014-03-13 10:07:11 +04:00
Natalia Ukhorskaya
74c4234c64
Add test for kotlin compiled property as annotation parameter
2014-03-13 10:07:10 +04:00
Natalia Ukhorskaya
9b5050dddd
Serialize compile time constant for property initializer
2014-03-13 10:07:08 +04:00
Natalia Ukhorskaya
bb7312b47f
Render property constant
2014-03-13 10:07:07 +04:00
Natalia Ukhorskaya
8c80b41606
Add compileTimeConstant to variable descriptor
2014-03-13 10:07:06 +04:00
Natalia Ukhorskaya
a2879f229a
Add serializer for compile-time constant initializer
2014-03-13 10:07:05 +04:00
Natalia Ukhorskaya
073d345841
Extract BaseDeserializer from AnnotationDeserializer. Move storage to separate class
2014-03-13 10:07:04 +04:00
Natalia Ukhorskaya
6089f5e3ef
Remove DescriptorSerializationTest
2014-03-13 10:07:03 +04:00
Natalia Ukhorskaya
9672026a53
Add a superclass for byte, short, int, long compile-time constants
2014-03-13 10:07:01 +04:00
Alexey Tsvetkov
1cd7fa65d7
JS backend: fixed compiler crash when use in elvis operator something which is expression in Kotlin and not in Javascript, e.g. return.
...
#KT-4159 fixed
2014-03-12 19:01:55 +04:00
Alexey Tsvetkov
21f87350b9
JS backend: added tests for KT-4159.
2014-03-12 19:01:55 +04:00
Nikolay Krasko
569f139d8a
Update to idea 135.406, support 135 and 136 branch
2014-03-12 18:39:32 +04:00
Zack Grannan
6156a56a4b
Generated tests
2014-03-12 16:02:57 +04:00
Zack Grannan
3862a3b5bc
Added ifThenToSafeAccessIntention
2014-03-12 16:02:56 +04:00
Zack Grannan
1f720c8559
Added safeAccessToIfThen intention
2014-03-12 16:02:55 +04:00
Zack Grannan
1ca4bb0e79
Added ifThenToElvisIntention
2014-03-12 16:02:55 +04:00
Zack Grannan
673369affe
Added elvisToIfThenIntention
2014-03-12 16:02:54 +04:00
Zack Grannan
6b5e46da50
Added IfThenUtils
2014-03-12 16:02:53 +04:00
Zack Grannan
fcbd7b357a
Modified doRefactoring to allow occurrences to be specified
2014-03-12 14:43:08 +04:00
Andrey Breslav
aa00862425
Double-checked locking fixed in LockBasedStorageManager
...
There were two problems here:
* a volatile field was read and then a local variable used, i.e. the field might have been changed in between the check and the return;
* this volatile read was unnecessary, because the whole purpose of `_value` local variable is to avoid it.
2014-03-12 13:55:24 +04:00
Andrey Breslav
667afc565e
Workaround for EA-54533 - UOE: DeserializedMemberScope.getDeclarationsByLabel
2014-03-12 13:51:04 +04:00
Natalia Ukhorskaya
3f2c43bab1
Remove unused resources
2014-03-12 11:31:09 +04:00
Natalia Ukhorskaya
94ccd8b2f2
Merge remote-tracking branch 'origin/pr/401'
...
Conflicts:
libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt
2014-03-12 11:28:23 +04:00
Natalia Ukhorskaya
f1d2c2de0b
Merge pull request #402 from nskvortsov/KT-4612
...
#KT-4612 Fixed
2014-03-12 06:59:43 +00:00
Zalim Bashorov
209f7e8d51
JS backend: minor -- dropped temporary hack after KT-4517 fixed.
2014-03-11 20:05:40 +04:00
Zalim Bashorov
344ce6c095
JS backend: fixed name clash between public function w/o parameters and non-public function with same name.
2014-03-11 20:05:39 +04:00
Zalim Bashorov
d99e3294d8
JS backend: minor refactoring in TranslationContext -- dropped extra constructors.
2014-03-11 20:05:39 +04:00
Zalim Bashorov
cdf42ef797
JS backend: dropped hack from UsageTracker.
2014-03-11 20:05:38 +04:00
Zalim Bashorov
3455f6adcd
JS backend: minor -- dropped some no longer necessary code.
2014-03-11 20:05:37 +04:00
Zalim Bashorov
a3cd1bbfda
JS backend : change the capturing variables and rewrite some classes.
...
#KT-4236 Fixed
#KT-4600 Fixed
#KT-4237 Fixed
#KT-4207 Fixed
#KT-4218 Fixed
2014-03-11 20:05:23 +04:00
Zalim Bashorov
434a6ed6e2
JS backend: minor -- fix typo in fromFakeClasses.kt
2014-03-11 20:04:05 +04:00
Zalim Bashorov
43d9c383ff
JS backend: don't use objects as definition place.
2014-03-11 20:04:05 +04:00
Zalim Bashorov
4c40f3971b
Minor: added TypeScript to codeStyleSettings.xml
2014-03-11 20:04:04 +04:00
Zalim Bashorov
fff38954dc
JS backend: dropped unnecessary utility methods getExpectedThisDescriptor and getExpectedReceiverDescriptor.
...
#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4263 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
2014-03-11 20:04:04 +04:00
Zalim Bashorov
e1484d76a7
JS backend: minor refactoring in AliasingContext.
2014-03-11 20:04:03 +04:00
Zalim Bashorov
48a28ed406
JS backend: don't aliasing captured variable foo as foo.v.
...
Moved isVarCapturedInClosure from CodegenBinding to BindingContextUtils.
2014-03-11 20:04:03 +04:00
Zalim Bashorov
d55548a1c8
Minor change in JS backend: improve exception message.
2014-03-11 20:04:03 +04:00
Zalim Bashorov
fb7165c7fa
JS backend: added regression tests for closure bugs.
...
#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
#KT-4263 Obsolete
2014-03-11 20:04:03 +04:00
Zalim Bashorov
a48dc25c46
JS backend: added more tests for closures.
2014-03-11 20:04:02 +04:00
Zalim Bashorov
ec71a90394
JS backend : added test for local extension function.
2014-03-11 20:04:02 +04:00
Zalim Bashorov
14ed970dc3
JS backend: added the support extension functions as expression.
2014-03-11 20:04:02 +04:00
Zalim Bashorov
396afb05cb
JS backend: minor refactorings
...
- dropped useless constructor and factory method from ClassTranslator.
- moved method which translate an object expression inside a class code to ClassTranslator.
- LiteralFunctionTranslator#getSuggestedName -> TranslationUtils#getSuggestedName
2014-03-11 20:04:01 +04:00
Zalim Bashorov
5f847bc7e7
JS backend: fixes after rename testFiles -> testData
2014-03-11 20:04:01 +04:00
Zalim Bashorov
442215e829
JS backend: testFiles -> testData
2014-03-11 20:04:00 +04:00
Zalim Bashorov
bcd579acdd
Minor change: reformat js libs.
2014-03-11 20:04:00 +04:00
Zalim Bashorov
38d1142c39
Minor change: reformat code in testData files.
2014-03-11 20:03:59 +04:00
Zalim Bashorov
7374d3ab76
Minor changes: drop the copyright comment from testData files.
2014-03-11 20:03:58 +04:00
Zalim Bashorov
f5b1b4252d
JS backend: use constants for default test package(foo) and default test function(box).
2014-03-11 20:03:58 +04:00
Zalim Bashorov
33360c2528
Dropped some TODOs
...
#KT-2564 Obsolete. Looks like, it's fixed in dcddd04 .
2014-03-11 20:03:58 +04:00
Zalim Bashorov
ffa2a84170
Stdlib: remove a workaround which related to KT-2028
2014-03-11 20:03:57 +04:00
Natalia Ukhorskaya
36387c533f
Fix kotlin-android plugin for android-gradle:0.9+
...
#KT-4667 Fixed
2014-03-11 17:21:37 +04:00
asedunov
5975c40e5d
Merge pull request #368 from Stebalien/add-operator-intentions
...
Add operator intentions
#KT-4558 Fixed
2014-03-11 12:17:27 +01:00
Steven Allen
84a8911822
Add replacement intentions for operator functions
...
Add intentions for replacing attribute calls that correspond to
overloadable operators with their respective operators.
This commit includes call replacements for:
* Binary Infix Operators: plus, minus, times, rangeTo, mod, div
* Unary Prefix Operators: plus, minus, not
* Array Index Operator: get
* In Operator: contains
2014-03-10 11:15:11 -04:00
Steven Allen
08a8d17e97
Add KotlinSignature annotation to RESOLVED_CALL
...
A ResolvedCall's CallableDescriptor cannot be null.
2014-03-10 10:46:29 -04:00
Steven Allen
7e1e697a5b
Avoid throwing unchecked exceptions
...
Make `ResolvedCall.getValueArgumentsByIndex` return null instead of
throwing an InvalidStateException when resolving invalid arguments.
Invalid arguments are a user error (the user specified the invalid
arguments in their code), not a program error.
2014-03-10 10:46:29 -04:00
Steven Allen
162ed64706
Add ability to test for expected intention text
...
If a testData file contains `// INTENTION_TEXT: ...`, the tested
intention's description must match `...`.
2014-03-10 10:46:28 -04:00
Steven Allen
8b88dff205
Add ability to test for expected errors in intentions
...
If an intention test contains `// SHOULD_FAIL_WITH: my_string`, the test
is expected to throw `IntentionTestException("my_string")`. This is
useful for testing whether or not a function that should be called, is
called (a pop-up dialog is displayed, etc.).
2014-03-10 10:46:28 -04:00
Mikhael Bogdanov
7fb9de2654
Fix for "NoSuchFieldError: this$0$inlined"
2014-03-09 11:21:00 +04:00
Svetlana Isakova
4771986b32
KT-4656 Wrong capturing a function literal variable.
...
#KT-4656 Fixed
Reference for calleeExpression is recorded only in 'doResolveCallOrGetCachedResults'.
2014-03-08 20:55:45 +04:00
Nikita Skvortsov
856e35cdf9
refactor tests, use common gradle integration tests module, deduplicate gradle binaries in test data
2014-03-08 18:57:38 +04:00
Nikita Skvortsov
84e832604d
Add message about general gradle failure
2014-03-08 18:56:12 +04:00
Nikita Skvortsov
5bfaf75978
Extract Gradle wrapper to avoid duplicating binary resources
2014-03-08 16:46:35 +04:00
Nikita Skvortsov
e5df62d78b
use gradle integration tests module
2014-03-08 16:45:44 +04:00
Nikita Skvortsov
1ba842d47f
fix test data
2014-03-08 16:44:48 +04:00
Nikita Skvortsov
6bdb37d745
Move Gradle Integration test classes to separate module for better re-use
2014-03-08 16:43:40 +04:00
Svetlana Isakova
92a4bb8c18
Reverted: More memory for the Ant build.
2014-03-08 12:31:19 +04:00
Nikolay Krasko
bbe9be5150
Fix 'No type in binding context for: <some class> from light class generation' exception
...
#KT-4668 Fixed
2014-03-08 02:55:29 +04:00
Svetlana Isakova
2964bb77b3
extracted method 'canBeReducedToBooleanConstant'
2014-03-07 21:15:12 +04:00
Svetlana Isakova
ec4df2ac0b
Formatting.
2014-03-07 21:08:19 +04:00
Svetlana Isakova
8045594abd
minor: moved methods
2014-03-07 21:08:19 +04:00
Svetlana Isakova
5d77ae075c
rename: in -> incoming, out -> outgoing
2014-03-07 21:08:19 +04:00
Svetlana Isakova
0a4abd2ebd
refactoring: inlined createEdges function
2014-03-07 21:08:19 +04:00
Svetlana Isakova
d2bdb3cb6d
removed InstructionDataMergeStrategy, InstructionDataAnalyzeStrategy
...
interfaces from PseudocodeTraverse
(use only in Java as type aliases to simplify function type parameters)
2014-03-07 21:08:19 +04:00
Svetlana Isakova
dab9f6997a
rollback: moved 'collectData' to PseudocodeTraverser
2014-03-07 21:08:18 +04:00
Svetlana Isakova
b7f7063bf4
improved postProcess
...
collect (and cache) reachable instructions for local declarations
after processing all parent instructions
2014-03-07 21:08:18 +04:00
Svetlana Isakova
fbbfb95861
added 'mergeDataWithLocalDeclarations' option
...
for collecting variable data for pseudocode
removed using data from outer context
for local declarations for 'variable initializers' analysis
2014-03-07 21:08:18 +04:00
Svetlana Isakova
eed3dec539
rewrote PseudocodeTraverser to kotlin
2014-03-07 21:08:18 +04:00
Svetlana Isakova
18eaf483d3
added test for pseudocode memory overhead
2014-03-07 21:08:18 +04:00
Svetlana Isakova
a050ebe9d1
rename to kt file
2014-03-07 21:08:17 +04:00
Svetlana Isakova
de4a5bbb5b
refactoring: extracted local function updateEdgeDataForInstruction
2014-03-07 21:08:17 +04:00
Svetlana Isakova
7d46ff951e
Jump after 'for' cycle to loop parameter change.
...
Not to the cycle body.
2014-03-07 21:08:17 +04:00
Svetlana Isakova
e34385bbcf
added tests to DataFlowTest
...
to be able to compare difference in the next commit
2014-03-07 21:08:17 +04:00
Svetlana Isakova
35c6a656c9
Store only data for variables declared in current lexical scope.
...
Remove data for other variables (when leaving a scope).
2014-03-07 21:08:17 +04:00
Svetlana Isakova
9dd23d9289
refactoring: PseudocodeVariableDataCollector
...
added a reference to pseudocode
2014-03-07 21:08:17 +04:00
Svetlana Isakova
006f3ccbe9
Added/updated tests for LexicalScope.
2014-03-07 21:08:16 +04:00
Svetlana Isakova
2cfcd1783b
Added LexicalScope.
...
Each instruction has a reference to a lexical scope it was generated in.
The lexical scope is: block, for loop, catch clause, a declaration of: function, function literal, class/object, etc.
2014-03-07 21:08:16 +04:00
Svetlana Isakova
6857694d1a
added 'getParent' to Pseudocode
...
fixed DataFlowInfoTest:
variable data shouldn't be built for locals as independent declarations
2014-03-07 21:08:16 +04:00
Svetlana Isakova
88f2c32724
added DataFlowInfoTest
2014-03-07 21:08:16 +04:00
Svetlana Isakova
ab9e470ea9
check edges directions only in ControlFlowTest
2014-03-07 21:08:16 +04:00
Svetlana Isakova
547ee304b6
returned AbstractControlFlowTest
...
as a subclass of AbstractPseudocodeTest
moved code to it
2014-03-07 21:08:16 +04:00
Svetlana Isakova
9cb8d17be7
rename AbstractControlFlowTest -> AbstractPseudocodeTest
...
to make later ControlFlowTest a subclass and preserve a history of the file
2014-03-07 21:08:15 +04:00
Svetlana Isakova
8efd31ffe0
refactoring: added 'getInstructionData' parameter
...
to 'dumInstructions'
to be able to dump any instruction data later
2014-03-07 21:08:15 +04:00
Svetlana Isakova
04947fa6a9
refactoring: extracted 'checkPseudocode'
2014-03-07 21:08:15 +04:00
Svetlana Isakova
5de4c5965c
removed unused methods
2014-03-07 21:08:15 +04:00
Svetlana Isakova
b9c7e1e328
refactoring: extracted methods
...
computeInstructionColumnWidth,
computeNextInstructionsColumnWidth
2014-03-07 21:08:15 +04:00
Svetlana Isakova
010937525b
extracted CFGraphToDotFilePrinter
2014-03-07 21:08:15 +04:00
Svetlana Isakova
1fc4573a8c
removed duplication of pseudocode in tests
...
for local functions
2014-03-07 21:08:15 +04:00
Svetlana Isakova
ec47821567
restructured control flow tests
2014-03-07 21:08:14 +04:00
Svetlana Isakova
fe349da4d5
rename constants
...
LAST_READ -> READ
LAST_WRITTEN -> WRITTEN_AFTER_READ
2014-03-07 21:08:14 +04:00
Svetlana Isakova
58db8d1331
formatting
2014-03-07 21:08:14 +04:00
Svetlana Isakova
69e4346961
minor: added @NotNull annotation
2014-03-07 21:08:14 +04:00
Svetlana Isakova
11c953c220
rewrote PseudocodeVariableDataCollector to kotlin
2014-03-07 21:08:14 +04:00
Svetlana Isakova
1f37a2120e
rename to kt file
2014-03-07 21:08:14 +04:00
Svetlana Isakova
4a4e237539
made PseudocodeVariableDataCollector know about variables
...
(not about abstract data)
2014-03-07 21:08:13 +04:00
Svetlana Isakova
b79df51dab
extracted PseudocodeVariableDataCollector
2014-03-07 21:08:13 +04:00
Svetlana Isakova
77bc6c44a1
formatting
2014-03-07 21:08:13 +04:00
Svetlana Isakova
c2b10dc274
removed initial map for start instruction
2014-03-07 21:08:13 +04:00
Andrey Breslav
b1a12608b8
Unused definitions removed from lexer
2014-03-07 19:38:58 +04:00
Andrey Breslav
2a0ccb95b1
Support quotes at the end of a raw string
...
Fix for KT-4650 Can't use double quote at the end of the raw string
#KT-4650 Fixed
2014-03-07 19:38:58 +04:00
Alexey Sedunov
3cd1af3ba1
Forbid nulls in getPackageNames() collection
...
#KT-4666 Fixed
2014-03-07 19:24:38 +04:00
Alexey Sedunov
8b0e8ed398
Keep original expression when attempting to bind reference to empty FqName
2014-03-07 19:24:37 +04:00
Alexey Sedunov
ca65e27214
Minor refactoring
2014-03-07 19:24:36 +04:00
Alexey Sedunov
09574d72b8
Translate JetSimpleNameReference to Kotlin
2014-03-07 19:24:35 +04:00
Alexey Sedunov
c9d10cfcd3
Do not postpone reference lengthening
...
Do not shorten references located in import/package directives
2014-03-07 19:24:34 +04:00
Alexey Sedunov
5327031300
Update references when moving Kotlin file
...
#KT-1696 Fixed
2014-03-07 19:24:33 +04:00
Alexey Sedunov
e4df997ad0
Fix warnings
2014-03-07 19:24:31 +04:00
Alexey Sedunov
99b8c47276
Extract reference resolver from ShortenReferences
2014-03-07 19:24:30 +04:00
Natalia Ukhorskaya
d9d045cbb2
Fix line separators for windows in tests
2014-03-07 18:05:12 +04:00
Mikhael Bogdanov
1fdd3bd615
Android test fix
2014-03-07 16:29:08 +04:00
Mikhael Bogdanov
e54ece8d12
Field access chain update on lambda regeneration
2014-03-07 16:12:10 +04:00
Mikhael Bogdanov
632061b324
Support nested chain of non-inline lambdas inside inline one
2014-03-07 14:53:50 +04:00
Nikita Skvortsov
b700296620
Fix KT-4168 use proper buildscript classpath
2014-03-07 14:38:25 +04:00
Alexander Udalov
4937812414
Rewrite KotlinClassHeader to Kotlin
2014-03-07 03:43:41 +04:00
Alexander Udalov
39cd3b1e13
Add tests that there's no PSI for all kinds of synthetic classes
2014-03-07 03:43:28 +04:00
Alexander Udalov
0b2c832343
Write KotlinSyntheticClass to anonymous and local classes
2014-03-07 03:08:19 +04:00
Alexander Udalov
cbfb626d50
Write KotlinSyntheticClass to generated classes for functions
...
That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
2014-03-07 03:08:18 +04:00
Alexander Udalov
8e71fe376f
Minor, add toString() to OutputFile for debugging
2014-03-07 03:08:17 +04:00
Alexander Udalov
36936e0a6b
Minor fix in tests for sources appearing in libraries
2014-03-07 03:08:16 +04:00
Alexander Udalov
64ac223895
Move DebugProtoBuf to module "compiler-tests"
...
To help debug serialization-related code in compiler tests
2014-03-07 03:08:16 +04:00
gavinkeusch
2f613638c2
KT-4562 New Intention: Add and Remove braces from control statements that have single line bodies
2014-03-06 23:45:45 +04:00
Nikolay Krasko
b6a9772508
Configuration for Android Studio debug created
2014-03-06 20:03:15 +04:00
Pavel V. Talanov
d05697d3ac
Optimize Imports tests: add test for qualified expression with nested enum
2014-03-06 18:45:37 +04:00
Zalim Bashorov
ad1642f802
Update to IDEA 134.1445 EAP
2014-03-06 16:13:06 +04:00
Pavel V. Talanov
6f9b3f1bae
Optimize Imports: simplify code
2014-03-06 16:01:07 +04:00
Pavel V. Talanov
809be9b069
Optimize Imports: do not keep imports of unimportable entities
2014-03-06 16:01:06 +04:00
Pavel V. Talanov
c87cc0dde1
Optimize Imports tests: Switch to generated approach
...
Move test and rename test data
Delete unused testdata
Rewrite OptimizeImportOnFlyTest
2014-03-06 16:01:05 +04:00
Pavel V. Talanov
3155a66319
Move, rewrite and rename JetImportOptimizer
...
Rewrite it to Kotlin and rename to KotlinImportOptimizer, move to imports package
Create ImportsUtils.kt
2014-03-06 16:01:04 +04:00
Pavel V. Talanov
f5c8557ff7
Rewrite optimize imports using JetReference#resolveToDescriptors
...
#KT-4451 Fixed
2014-03-06 16:01:03 +04:00
Pavel V. Talanov
6f2ed9a5a9
Add JetMultiDeclarationReference
...
A reference to component* functions
2014-03-06 16:01:02 +04:00
Mikhael Bogdanov
00764d0ae1
Don't generated redundant class files
2014-03-06 13:02:32 +04:00
Nikolay Krasko
ea5788f86c
Assert with framework statements
...
Should work even if -ea is not enabled
2014-03-05 17:31:26 +04:00
Tuomas Tynkkynen
8ce0d43118
Add intention for converting an implicit 'it' parameter to an explicitly named parameter
...
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword. Add an intention action for
converting an implicit 'it' parameter to an explicitly named one.
For example, 'array(1, 2, 3).filter { it % 2 == 0 }'
-> 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
2014-03-05 17:31:25 +04:00
Tuomas Tynkkynen
c6d6a32314
Add intention for replacing explicit function literal parameter with 'it'
...
Kotlin's function literals have a shortcut for one-argument literals:
the single argument doesn't need to be explicitly named, but can be
referred via the 'it' contextual keyword.
For example, 'array(1, 2, 3).filter { x -> x % 2 == 0 }'
-> 'array(1, 2, 3).filter { it % 2 == 0 }'
Add an intention action for this transformation.
2014-03-05 17:31:21 +04:00
Andrey Breslav
1dd57b5f6e
Merge declarationsByLabel in chained scopes
2014-03-05 14:37:26 +04:00
Andrey Breslav
19bc996d1b
Minor. Unused field removed
2014-03-05 14:37:26 +04:00
Andrey Breslav
f752527e48
Test data fixed after adding a new intention
2014-03-05 12:02:14 +04:00
Pavel V. Talanov
dab6716664
Minor: fix test data for PropertyMetadata completion test
2014-03-04 21:20:01 +04:00
Pavel V. Talanov
bc79855cf5
Minor: additional logging when failing to read file in VirtualFileKotlinClass
2014-03-04 21:20:00 +04:00
Pavel V. Talanov
0cfac5f9c7
Decompiler: show java file with a comment when kotlin file has incompatible abi version
...
Introduce JetDecompilerForWrongAbiVersion
2014-03-04 21:19:59 +04:00
Pavel V. Talanov
825dacfd13
Migrate to newer API
2014-03-04 21:19:58 +04:00
Pavel V. Talanov
7db9d31a70
Decompiler: allow java decompiler to process trait impl classes
2014-03-04 21:19:57 +04:00
Pavel V. Talanov
50d59c789a
Decompiler: do not create decompiled files for inner classes and anonymous functions
...
Rewrite DecompiledUtils to Kotlin
2014-03-04 21:19:56 +04:00
Pavel V. Talanov
80bc7b286a
Test for reference to nested class in library
2014-03-04 21:19:55 +04:00
Pavel V. Talanov
733da8caec
Test checking that no PSI is built for synthetic classes produced by compiler
2014-03-04 21:19:54 +04:00
Pavel V. Talanov
47a0715c8b
Minor: Add assertion in DecompiledTextFactory
2014-03-04 21:19:53 +04:00
Pavel V. Talanov
b5c119200f
Decompiler: remove project from decompilation API
...
Remove JetDecompiledData, DecompiledText is enough
Move JetDecompiled to upper level, rename to JetClsFile
Move caches into JetClsFile and JetClassFileViewProvider
Rewrite JetClassFileViewProvider and JetClsFile to Kotlin
DecompiledDataFactory -> DecompiledTextFactory
2014-03-04 21:19:52 +04:00
Pavel V. Talanov
5bd9955785
Decompiler: switch to using non-project based decompiled text builder
...
Move ProjectBasedResolverForDecompiler to test root (since only used for validating)
2014-03-04 21:19:51 +04:00
Pavel V. Talanov
32ecdfede0
Decompiler: Test that checks consistency between project-based and non-project-based decompilers
2014-03-04 21:19:50 +04:00
Pavel V. Talanov
b2b7e6996b
Decompiler: Introduce DeserializerForDecompiler
...
Component which can "resolve" descriptors without project
It builds dummy descriptors for dependencies which are enough to build decompiled text
2014-03-04 21:19:50 +04:00
Pavel V. Talanov
2499e95d38
Refactor DecompiledDataFactory
2014-03-04 21:19:49 +04:00
Pavel V. Talanov
65a479e3ef
Rewrite DecompiledDataFactory to Kotlin
2014-03-04 21:19:48 +04:00
Pavel V. Talanov
a1b59cee63
Add MissingDependencyErrorClass which is treated specially during rendering
2014-03-04 21:19:47 +04:00
Pavel V. Talanov
016fa4b817
Add test for decompiled text
2014-03-04 21:19:46 +04:00
Pavel V. Talanov
528148a083
Decompiler: introduce ResolverForDecompiler as dependency for DecompiledDataFactory
...
Extract JDR based implementation of ResolverForDecompiler from DecompiledDataFactory
2014-03-04 21:19:45 +04:00
Pavel V. Talanov
b6b423935f
Move test data for NavigateTo*Library tests to a more specific folder
2014-03-04 21:19:44 +04:00
Pavel V. Talanov
bbcc2a33ed
Minor code fix in NavigateToDecompiledLibraryTest
2014-03-04 21:19:43 +04:00
Pavel V. Talanov
796386049b
Minor: remove explicit dependency on JavaDescriptorResolver from AnnotationDescriptorDeserializer
2014-03-04 21:19:42 +04:00
Pavel V. Talanov
d647d2abbc
Move caching of kotlin binaries classes to application level
...
Fix code in DecompiledUtils
2014-03-04 21:19:41 +04:00
Pavel V. Talanov
b052cb8aa9
Switch to new decompiler API for IDEA
...
Patch from Roman Shevchenko adapted
2014-03-04 21:19:40 +04:00
Andrey Breslav
d31c2884aa
Compilation fixed
2014-03-04 21:09:47 +04:00
Tal Man
8cf965db7e
2 intentions for moving lambda functions;
...
moves lambda functions in function calls inside and outside of the
parenthesis: foo({ it }) <-> foo() { it }
2014-03-04 20:07:42 +04:00
Alexey Sedunov
a18e2f7cfa
Make utlity functions public
2014-03-04 19:45:37 +04:00
Alexey Sedunov
36633af275
Extract JSON utility functions
2014-03-04 19:45:36 +04:00
Alexey Sedunov
1edaa877dc
Fix search scope of Kotlin light methods
...
#KT-4638 Fixed
2014-03-04 19:45:35 +04:00
Alexey Sedunov
3729966270
Forbid moving file to another file
...
#KT-4069 Fixed
2014-03-04 19:45:34 +04:00
Alexey Sedunov
12310b5bd9
Reuse getQualifiedElementSelector() function
2014-03-04 19:45:33 +04:00
Alexey Sedunov
e48616e739
Do not insert parentheses into package directives
...
Add tests for "Move Package" refactoring
2014-03-04 19:45:32 +04:00
Alexey Sedunov
d2f6b55cb5
Box qualified names of package directives into dot-qualified expressions
2014-03-04 19:45:30 +04:00
Alexey Sedunov
5e87fc35e0
Do not rely on write action lock during preparation phase of RefactoringHelper
...
#KT-4631 Fixed
2014-03-04 19:45:29 +04:00
Alexey Sedunov
b34b3ccf38
Delete redundant annotation
2014-03-04 19:45:29 +04:00
Alexander Udalov
f8d3f8480a
Minor, use constants instead of hard-coded strings
2014-03-04 19:23:46 +04:00
Ladislav Thon
36bc7580aa
fix main function detection to rely on actually resolved types
2014-03-04 19:18:14 +04:00
Valentin Kipyatkov
a2f6b99862
Convert to block body intention action
2014-03-04 19:13:54 +04:00
Alexander Udalov
af2a28c099
Minor, inline only once-used methods
2014-03-04 19:04:58 +04:00
Alexander Udalov
d5e9cadccf
Delete default "import jet.*" from JS analyzer
2014-03-04 18:19:43 +04:00
Alexander Udalov
3a0a688ebc
Add test on KotlinSyntheticClass annotation for $$TImpl
2014-03-04 18:19:43 +04:00
Alexander Udalov
76cc5b301a
Minor, revert unneeded "!!"
2014-03-04 18:19:43 +04:00
Alexander Udalov
981c40286f
Minor, assert value != null in EnumValue
...
Similar to ArrayValue, AnnotationValue, etc.
2014-03-04 18:19:43 +04:00
Alexander Udalov
c74b8e72c7
Extract DescriptorUtils.unwrapFakeOverride()
2014-03-04 18:19:42 +04:00
Alexander Udalov
e017cf76f2
Minor, delete/inline methods
2014-03-04 18:19:42 +04:00
Alexander Udalov
4c49c39f8d
Minor, delete unnecessary parameter from util method
2014-03-04 18:19:42 +04:00
Alexander Udalov
eb5aba560e
Load class kind in KotlinSyntheticClass annotation
...
Fix some of the usages of KotlinSyntheticClass header where really package
parts were meant (they were committed by mistake).
DescriptorResolverUtils.isCompiledKotlinPackageClass no longer checks for class
being a compiled package part, because PSI classes are not built for package
parts (according to EmptyPackageFragmentClsStubBuilderFactory)
2014-03-04 18:19:42 +04:00
Ilya Klyuchnikov
ea40389e34
validating android annotations
2014-03-04 14:28:53 +04:00
Nikolay Krasko
1ee64f8186
Test for KT-4610
...
#KT-4610 Fixed
2014-03-03 19:24:27 +04:00
Nikolay Krasko
0dfbe08255
Test for KT-4482
...
#KT-4482 Fixed
2014-03-03 19:24:26 +04:00
Mikhael Bogdanov
16fbe1d5dd
Abi version increased: inline calls in runtime (otherwise client inlining wouldn't work)
2014-03-03 15:52:25 +04:00
Mikhael Bogdanov
03ac462dcb
jet->kotlin fix
2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
6d1effe981
Inline trait support
2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
286dd50be4
Code clean and simplification
2014-03-03 15:43:48 +04:00
Mikhael Bogdanov
1a011c3f9b
Code clean and simplification
2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
55fbdbd302
Code clean
2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
8ac48b746c
Closure assertions removal update
2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
2d2ffea807
Construction invocation simplification
2014-03-03 15:43:47 +04:00
Mikhael Bogdanov
cd030ec88e
VirtualFileFinder refactoring
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
ead2f84a29
Call generator refactoring
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
e7603d2e62
Code simplification and clean
...
~special flag
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
c8302fdf9c
Push arguments refactoring
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
2d9674089c
Support operatorAssign expressions in inline
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov
4d8898c9f2
Rename: Inliner->CallGenerator
2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
476a9ede64
Package rename: asm->inline
2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
3bf952b49c
Beautify
2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
ee136d6594
Default inline flag = true
2014-03-03 15:43:45 +04:00
Mikhael Bogdanov
c716b6eda0
remapping to facades
2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
3f9125cf08
Recursive lambdas regeneration/copy
2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
e695f0a516
Extracting class builder interface
2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
9028e24d35
Public visibilities for lambdas in inline methods
2014-03-03 15:43:44 +04:00
Mikhael Bogdanov
8793fc21e0
Support non-inlinable lambda cloning between modules
2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
04be107a06
Remove redundant parameters
2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
5740d99233
Properly index new variables after method inline
2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
55e03dd8b3
isInline method moved from SimpleFunctionDescriptor to InlineStrategy
2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
e45683d05e
ProperlyGenerate exception table
2014-03-03 15:43:43 +04:00
Mikhael Bogdanov
e013a65a2c
Max stuff calculation
2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
d6feea6a17
Identity fix, removed primitive box/unbox
2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
77979cce1b
New generated lambda naming
2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
0ac53da2ed
Assertion remove fix
2014-03-03 15:43:42 +04:00
Mikhael Bogdanov
074cebdaa6
Fix for codegen
2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
647728e45e
Fix for generics invocation
2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
e2db1aacdb
no inline fix
2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
510c0eff7f
Added field class checking
2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
ee61188188
Stack Height fix
2014-03-03 15:43:41 +04:00
Mikhael Bogdanov
accccdfb77
Addded inline closure flag
2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
6e0f56b348
CaprutedParamInfo refactoring
2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
dbf5187054
Keep package part name in pakage context
2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
353d1c488b
Fixed redundant done invocation on asByteArray call
2014-03-03 15:43:40 +04:00
Mikhael Bogdanov
ea44d15058
Support of for local fun inside lambdas
2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
4bb63535ea
Temporary workaround for constructor params
2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
5a8a0ac486
Lambda captured field remapper
2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
829a58f225
~0 field fix
2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
7995ffb798
Support regeneration of non inlinable lambdas/local funs/sams
2014-03-03 15:43:39 +04:00
Mikhael Bogdanov
b7e12ba524
TEXT->TEST in BytecodeToolWindow for inlining purposes
2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
dabacd8cae
VirtualFileFinder update to search files without kotlin headers
2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
629a07c748
Removing inlines annotation from properties
2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
fb34b0aa52
Eat inner class info for function literals
2014-03-03 15:43:38 +04:00
Mikhael Bogdanov
2874cd203f
Don't use direct access to property field in inlined method
2014-03-03 15:43:37 +04:00
Mikhael Bogdanov
4f5b20a8db
Test framework for inline
2014-03-03 15:43:35 +04:00
Nikita Skvortsov
9362bbcf1f
fix KT-4612 properly implement KDoc compiler, added integration test.
2014-02-28 16:28:43 +04:00
Nikita Skvortsov
98779cba2d
add new annotations
2014-02-28 16:28:43 +04:00
Nikita Skvortsov
ab4815c020
new test to highlight an issue
2014-02-28 16:28:42 +04:00
Andrey Breslav
b5f43dcc2d
Don't let the last tests fail
2013-10-14 08:23:19 +04:00
Andrey Breslav
e9edc70758
Straighten out exception handling for CCE/NPE thrown by the eval loop and other exceptions thrown by eval itself
2013-10-14 08:23:19 +04:00
Andrey Breslav
48dec7ec17
Rename
2013-10-14 08:23:19 +04:00
Andrey Breslav
f64deaac1d
Foreign object can't be compared by equals() to local objects
2013-10-14 08:23:19 +04:00
Andrey Breslav
e2b0212c34
NewObjectValue is a legitimate value too
2013-10-14 08:23:19 +04:00
Andrey Breslav
e13c331e78
Use throwException() instead of manually created instance
2013-10-14 08:23:19 +04:00
Andrey Breslav
9814726f9d
JDI-based tests run, many fail
2013-10-14 08:23:19 +04:00
Andrey Breslav
1c07c42b2c
better toString()
2013-10-14 08:23:19 +04:00
Andrey Breslav
848a9c56b2
Better remote exception support
2013-10-14 08:23:19 +04:00
Andrey Breslav
88bb113834
Prevent infinite recursion in loadClass()
2013-10-14 08:23:19 +04:00
Andrey Breslav
ec43441190
Generic mechanism for creating test suites
2013-10-13 15:12:26 +04:00
Andrey Breslav
517ccf347c
Support arrays
2013-10-13 12:39:13 +04:00
Andrey Breslav
205fe325d9
Support constructor calls
2013-10-13 12:39:13 +04:00
Andrey Breslav
a5dba2938d
Support instance fields and methods
2013-10-13 12:38:49 +04:00
Andrey Breslav
3e26f205b3
Static method calls supported
2013-10-13 12:38:49 +04:00
Andrey Breslav
f17fa36791
JDI-based Eval for classes and static fields
2013-10-13 12:38:39 +04:00
Andrey Breslav
4591363c9e
JDI-based values
2013-10-13 01:11:58 +04:00
Andrey Breslav
0923be42ff
throwException() utility introduced
2013-10-13 00:59:45 +04:00
Andrey Breslav
5ea384a165
ownerType supported on members
2013-10-13 00:54:35 +04:00
Andrey Breslav
6138902481
Useful method moved to values.kt
2013-10-13 00:48:52 +04:00
Andrey Breslav
d139856e4c
NewObjectValue simply carries a type, the actual object will be created later
2013-10-13 00:44:02 +04:00
Andrey Breslav
94daf4c6bc
Interpreter is not needed to create uninitialized values
2013-10-12 23:56:24 +04:00
Andrey Breslav
38e8e6addd
Start with initial frame, not from scratch
2013-10-12 23:47:39 +04:00
Andrey Breslav
41d576c108
Support exceptionCaught() handler
2013-10-12 23:40:56 +04:00
Andrey Breslav
2e8ae6b7db
TODO removed
2013-10-07 01:46:05 +04:00
Andrey Breslav
00fd00e09b
Arrays supported
2013-10-07 01:45:05 +04:00
Andrey Breslav
e1e1428f4b
Exception handling fixed for the case of inner classes
2013-10-07 01:44:29 +04:00
Andrey Breslav
1dfbbb9f08
Support NPE and exceptions thrown from methods being called
2013-10-07 00:32:34 +04:00
Andrey Breslav
4a7fa6632e
Class literals supported
2013-10-07 00:17:52 +04:00
Andrey Breslav
58ad84d4e9
Support try..catch and instanceof/casts
2013-10-07 00:16:09 +04:00
Andrey Breslav
3199a8f690
Support constructor calls
2013-10-06 23:41:20 +04:00
Andrey Breslav
e8ac8cd7fa
Invoke instance method supported
2013-10-06 22:59:44 +04:00
Andrey Breslav
47fd67a9b0
Get/Put instance field supported
2013-10-06 22:55:49 +04:00
Andrey Breslav
6e597b0438
Unused variable removed
2013-10-06 22:39:13 +04:00
Andrey Breslav
7d7316a077
Reading static fields supported
2013-10-06 18:01:12 +04:00
Andrey Breslav
2e6d523966
Reading static fields supported
2013-10-06 17:59:06 +04:00
Andrey Breslav
b7c169fc89
Support static method calls
2013-10-06 17:46:23 +04:00
Andrey Breslav
cec2111c29
Coerce object types on return
2013-10-06 17:44:37 +04:00
Andrey Breslav
8d29047204
Run configuration for tests
2013-10-06 17:43:56 +04:00
Andrey Breslav
9b2190e1b9
All objects should be loaded by Eval and not directly
2013-10-06 16:30:30 +04:00
Andrey Breslav
c5cddd42cb
.gitignore
2013-10-06 15:19:04 +04:00
Andrey Breslav
173e7157ab
ReadMe
2013-10-06 15:17:59 +04:00
Andrey Breslav
632adb595c
Some tests for loops
2013-10-06 15:17:59 +04:00
Andrey Breslav
55e861e503
Don't forget to pop the condition off the stack
2013-10-06 15:17:59 +04:00
Andrey Breslav
c376619790
Allow omitting "public" and "test"
2013-10-06 15:17:59 +04:00
Andrey Breslav
e85a6fda39
Support int coercions on return
2013-10-06 15:17:59 +04:00
Andrey Breslav
85ac477b2f
assertEquals(): order fixed
2013-10-06 15:17:59 +04:00
Andrey Breslav
5a075b80d5
Testing infrastructure
2013-10-06 15:17:59 +04:00
Andrey Breslav
ffca4dd5a0
Setting up equals()/hashCode() for values and results
2013-10-06 15:17:59 +04:00
Andrey Breslav
a55c350c0c
Added dependency on junit
2013-10-06 15:17:59 +04:00
Andrey Breslav
b067b1abe4
toString() supported for values and results
2013-10-06 15:17:59 +04:00
Andrey Breslav
0aca17ce15
Do not evaluate label instructions and such
2013-10-06 15:17:59 +04:00
Andrey Breslav
b926e79aac
Support for interpreter events
2013-10-06 15:17:58 +04:00
Andrey Breslav
3bae3e25b5
Support for throwing exceptions from Eval
2013-10-06 15:17:58 +04:00
Andrey Breslav
7559c3bd94
Main interpreter loop implemented
2013-10-06 15:17:58 +04:00
Andrey Breslav
2e374df5a9
Formatting
2013-10-06 15:17:58 +04:00
Andrey Breslav
f93d209b88
Control logic will be handled by interpreter loop
2013-10-06 15:17:58 +04:00
Andrey Breslav
21e0dabf87
Using LabelNode instead of bare Label
2013-10-06 15:17:58 +04:00
Andrey Breslav
8aad18e849
Class renamed
2013-10-06 12:31:15 +04:00
Andrey Breslav
2a24c00539
Unused methods removed
2013-10-06 12:25:21 +04:00
Andrey Breslav
f1601b2da0
Eval and Control separated
2013-10-06 03:52:09 +04:00
Andrey Breslav
a078727ea3
IINC treatment corrected
2013-10-06 03:47:16 +04:00
Andrey Breslav
fcc3fae8e5
Interpreter completed
2013-10-06 03:34:37 +04:00
Andrey Breslav
dae297d262
Nilary and unary operations supported
2013-10-06 02:00:18 +04:00
Andrey Breslav
a6dee0fd3b
Initial project structure
2013-10-06 00:06:06 +04:00