Commit Graph

17687 Commits

Author SHA1 Message Date
Alexey Sedunov 8386bcd4e0 Create Local Variable From Usage: Support lambdas 2014-10-03 20:18:39 +04:00
Alexey Sedunov 6ad2157806 Create From Usage: Quick-fix for value parameters 2014-10-03 20:18:39 +04:00
Alexey Sedunov 73fc984c4c Change Signature: Fix detection of conflicts in generic classes 2014-10-03 20:18:37 +04:00
Michael Bogdanov 609caa8159 Clean 2014-10-03 17:24:15 +04:00
Michael Bogdanov 15043b3c6d Fixes for KT-4991: Prefix/postfix expressions resolved to local extensions are not supported in codegen;
KT-4989: Verify error on local functions and extensions;
KT-4987: NegativeArraySizeException on local extension convention function on nullable Int

  #KT-4991 Fixed
  #KT-4989 Fixed
  #KT-4987 Fixed
2014-10-03 17:24:14 +04:00
Michael Bogdanov 0c11ca680e Fix for KT-3969: Codegen fails on unary calls with default arguments
#KT-3969 Fixed
2014-10-03 17:24:14 +04:00
Alexey Tsvetkov d61352c8f3 JS inline: assignment binary operation is not side-effect free 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov a795ee6218 JS backend minor: added @NotNull annotation to JsBinaryOperation's getOp() 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov 8a607ce9be Minor test: added config argument 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov 436fc33e84 Minor testData: fixed -Xno-inline option at extraHelp.out 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov 48bd71e0b6 JS inline minor: removed unused parameter 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov f022cd6281 JS backend: restored old label naming strategy 2014-10-03 14:23:57 +04:00
Alexey Tsvetkov 886ae36e1f JS backend: removed nullable parameters
Since JsScope declareName() parameter became NotNull
2014-10-03 14:23:57 +04:00
Alexey Tsvetkov 0eedb0dc6b JS backend: added @NotNull annotation to JsNameRef's getIdent() and constructor parameters 2014-10-03 14:23:56 +04:00
Alexey Tsvetkov 89d74d94c9 JS backend: added @NotNull annotation to JsName's getIdent() 2014-10-03 14:23:56 +04:00
Zalim Bashorov 3b9232e8d4 Drop extra fields which covered by metadata: hasDefaultValue from JsParameter. 2014-10-03 14:23:56 +04:00
Zalim Bashorov aa6ab1ffee Drop extra fields which covered by metadata: isLocal from JsFunction. 2014-10-03 14:23:56 +04:00
Zalim Bashorov afdec6ecc4 Drop extra fields which covered by metadata: inlineStrategy from JsInvocation. 2014-10-03 14:23:56 +04:00
Zalim Bashorov b5ab6cbad0 Drop extra fields which covered by metadata: staticRef from JsName. 2014-10-03 14:23:56 +04:00
Zalim Bashorov d16ddd081a JS backend: copy metdata when copy node. 2014-10-03 14:23:56 +04:00
Zalim Bashorov 1c5338ccf7 JS backend: added the ability to add metadata to js nodes. 2014-10-03 14:23:55 +04:00
Zalim Bashorov 03539c1945 Minor: removed unused ChameleonJsExpression. 2014-10-03 14:23:55 +04:00
Zalim Bashorov 4816e391ff Minor in JS backend: moved js.inliner to "compiler/js" group and added descriptors to its dependencies. 2014-10-03 14:23:55 +04:00
Alexey Tsvetkov d3fce0d0ec JS inline return statements after top return 2014-10-03 14:23:55 +04:00
Alexey Tsvetkov 7a8ba9c733 JS backend refactor: refactored LiteralFunctionTranslator after code review 2014-10-03 14:23:55 +04:00
Alexey Tsvetkov c47732e7eb JS inline minor: optimized imports 2014-10-03 14:23:55 +04:00
Alexey Tsvetkov 64982aa72e JS backend minor: made CALL_FUNCTION constant public 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov d6f8aa6f03 JS backend minor: made undefined expression static field 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov fb475775c9 JS inline minor: inlined doDirectInline() 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov 6018b103cc JS inline refactor: splitted Renaming.kt 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov 17a78dd522 JS inline refactor: moved invocation and function utils to separate files 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov 7fbed5ee86 JS inline refactor: extracted flattenStatement() function 2014-10-03 14:23:54 +04:00
Alexey Tsvetkov 80eca3e49e JS inline refactor: refactored clean utils after code review 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov 1ad090e3a7 JS inline refactor: moved contexts to 'context' package 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov cd9349deb7 JS inline refactor: moved JS AST collecting utils to 'collectors' package 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov 86c253ef6d JS inline refactor: moved JS AST modifying utils to 'rewriters' package 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov d3a8f78a88 JS inline minor: moved JsInliningContext definition to the bottom of JsInliner 2014-10-03 14:23:53 +04:00
Zalim Bashorov 0e075c7d5f JS backend: added the ability to turn off the inline optimization. 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov 338789664c JS inline: use inlined function name for inline labels 2014-10-03 14:23:53 +04:00
Alexey Tsvetkov cbb9e9c40e JS inline: inline simple-return functions directly 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov da817e7ed2 JS inline: use dfs processing order, as it is independent of declaration order 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov a5688440a1 JS inline: added inline recursion exception 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov 5aaa186180 JS inline: remove unused function literals and local functions 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov ec6108ee05 JS inline: remove unused local function instances 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov 7f98ceb427 JS inline: common reference utilities for cleaning up after inline 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov ddb3157a58 JS inline: added collections utils 2014-10-03 14:23:52 +04:00
Alexey Tsvetkov c78169d236 JS inline: support inline local functions 2014-10-03 14:23:51 +04:00
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