Alexey Tsvetkov
1dafa79eaf
JS inline: prevent inliner from inlining multiple subexpressions at once
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
87d108e75e
JS inline: default parameter processing for inlined functions
...
When function is inlined initializers
for default parameters can be:
1. removed if argument is not `void 0`
2. expanded otherwise
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
1f68b43558
JS inline: support inline extension functions
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
78e7b9c32b
JS inline: replace returns with result variable assignment and break
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
667a22f84e
JS inline: alias arguments and local variables
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
49718f143b
JS inline: create JsInliningContext per function processed by JsInliner
2014-10-03 14:23:51 +04:00
Alexey Tsvetkov
0151b7a2d1
JS inline: added inlining context utilities
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
f29816f19c
JS inline: added invocation utils
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
1aa55f3e54
JS inline: run JsInliner after AST is built
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
3c4125c233
JS inline: inline function calls
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
3c7677e73e
JS inline: collect defined functions
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
2e38833367
JS inline: save static ref to JsFunction in JsName
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
e4cd733879
JS inline: added JsInliner
2014-10-03 14:23:50 +04:00
Alexey Tsvetkov
60271201fc
JS inline: added FunctionInlineMutator
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
2c443532c5
JS inline: added InlineableResult
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
3cdae252ef
JS inline: save inline status during translation
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
efac671ae6
JS inline: removed legacy inline logic
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
f076ab8f54
JS backend: added deepCopy() method to JS AST nodes
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
b880775de5
JS backend: removed JsBlock toString() truncation
...
Truncation complicates debugging.
Some inline tests depend on functions strings comparison.
2014-10-03 14:23:49 +04:00
Alexey Tsvetkov
28b3ed67c1
JS backend: made JsScope hasOwnName method public
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
2b6045af0f
JS backend: made JsBlock statements list modifieable
...
Inliner should be able to add statements of inline function to JsBlock
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
53fe237499
JS backend: made JsInvocation arguments modifieable
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
96e5985ca9
JS backend: added NotNull annotation
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
d27b7b793f
JS backend: break label should be JsNameRef, not String
...
The reason is to make it easier to distinguish
between different break labels (that's valid on same level).
JsNameRefs can be distinguished by their JsName.
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
915f8734c5
JS backend: added visitors with context
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
15e963de25
JS test: turn rhino optimization off for stdlib tests
2014-10-03 14:23:48 +04:00
Alexey Tsvetkov
3f2d4b31be
JS test: added inline tests
2014-10-03 14:23:47 +04:00
Alexey Tsvetkov
987708680f
JS test: JS AST access from tests
2014-10-03 14:23:47 +04:00
Alexey Tsvetkov
1dcc096753
JS test: removed legacy inline tests
2014-10-03 14:23:47 +04:00
Alexey Tsvetkov
0484df00c3
JS test: added test utils
2014-10-03 14:23:47 +04:00
Alexey Tsvetkov
a26e77fd93
JS inline: new module
2014-10-03 14:23:47 +04:00
Nikolay Krasko
555119f59a
Exceptions during 'compute' in storage manager must be processed with exception strategy
...
#KT-5134 Fixed
2014-10-02 23:37:49 +04:00
Valentin Kipyatkov
bbc2d30f60
KT-4849 'Join lines' should remove braces from single-statement block
...
#KT-4849 Fixed
2014-10-02 18:26:07 +04:00
Valentin Kipyatkov
53983774d0
Moved and renamed class + added check for JetFile
2014-10-02 18:26:07 +04:00
Valentin Kipyatkov
593e93b88b
Moved code from DeclarationUtils and refactored code
2014-10-02 18:26:07 +04:00
Valentin Kipyatkov
d71c481606
Moved test data
2014-10-02 18:26:06 +04:00
Valentin Kipyatkov
8cb631d6f8
Better way of changing property intiailizer used
2014-10-02 18:26:06 +04:00
Valentin Kipyatkov
c0db84331e
Fixed bug in join lines
2014-10-02 18:26:06 +04:00
Valentin Kipyatkov
c6f10ea219
Moved some code from DeclarationUtils to JetDeclarationJoinLinesHandler and refactored it
2014-10-02 18:26:06 +04:00
Valentin Kipyatkov
879f0d201e
Converted JetDeclarationJoinLinesHandler to Kotlin
2014-10-02 18:26:06 +04:00
Evgeny Gerashchenko
c7633a5266
Added workaround for auto-ungzipping when downloading in Ant 1.9.4.
2014-10-02 11:48:09 +04:00
Evgeny Gerashchenko
498d1d5cf8
Updating regexp for finding URL of IDEA EAP.
2014-10-02 11:48:09 +04:00
Svetlana Isakova
ce01c61811
Rename: auto cast -> smart cast
2014-10-01 18:52:52 +04:00
Svetlana Isakova
20f3403c80
Rename: this object, receiver argument -> dispatch receiver, extension receiver
2014-10-01 18:52:51 +04:00
Svetlana Isakova
1d2d2f4845
KT-5873 Exception in ArgumentMatchImpl on smart completion
...
#KT-5873 Fixed
2014-10-01 18:52:51 +04:00
Nikolay Krasko
f0e7435254
A better heuristics is declaration implemented or overriden
2014-10-01 18:05:46 +04:00
Nikolay Krasko
bb7b4daef6
Drop isOverridableHeuristic and use isOverridable from utils instead
2014-10-01 18:05:45 +04:00
Nikolay Krasko
f76025710e
Rewrite to Kotlin: overridden properties markers tooltip and navigation
2014-10-01 18:05:43 +04:00
Nikolay Krasko
bc5f28d9fd
Refactoring: rename KotlinLightMethodFromTrait -> KotlinLightMethodForTraitFakeOverride
2014-10-01 18:05:38 +04:00
Nikolay Krasko
5c6d74af7d
Test for "Incorrect override icon shown for overloaded methods" (KT-4428)
...
#KT-4428 Fixed
2014-10-01 18:03:02 +04:00