Commit Graph

75 Commits

Author SHA1 Message Date
Alexander Podkhalyuzin 3f8170d369 Clean idea files generated on the gradle import, add them to .gitignore 2017-09-19 23:58:27 +02:00
Ilya Chernikov deda50dbbb Continue switching projects to improved dsl: sourceSets and test running 2017-09-19 21:37:26 +02:00
Ilya Chernikov 61dfb75e0e Implement Gradle Kotlin DSL build 2017-09-19 21:37:06 +02:00
Alexey Andreev c66bc0b0e9 Remap source maps in JS DCE. Improve JS DCE error logging
See KT-19821
2017-09-08 18:27:41 +03:00
Alexey Andreev 8c256b24dc Avoid duplication of imports introduced during JS inlining 2017-09-04 15:33:10 +03:00
Alexey Andreev 445a80c755 Support new JS inline function format in multi-module projects 2017-09-04 15:33:03 +03:00
Alexey Andreev 5a9adcca2d Improve performance of JS tests
* Do not read protos for descriptors of stdlib and kotlin-tests
  repeatedly
* Parse libraries lazily in inline, so that when no inline function
  exist in a test, we won't parse huge kotlin.js file
* Speed-up source map parser
2017-07-11 11:06:52 +03:00
Alexey Andreev 1e74325c52 Generated source map for JS function's closing curly bracket 2017-07-06 10:20:44 +03:00
Alexey Andreev dea73ebecf Refactor generator of JS source map
- refactor pipeline for generation of source map
- generate "empty" mappings for nodes that impossible
  to map to something reasonable
- generate more accurate locations in source maps for specific
  JS AST nodes
- for binary operation nodes parser now returns location
  of binary operator tokens instead of location of first operand
- change completely how source map remapper works
2017-07-06 10:20:41 +03:00
Alexey Andreev a0e1bde594 Allow to embed source files into JS source maps 2017-06-26 18:15:28 +03:00
Alexey Andreev bf21cfd6e0 Use source map remapper in JS inliner 2017-06-07 11:13:55 +03:00
Alexey Andreev e43cc65702 Fix location reported by JS parser in case of long lines 2017-06-07 11:13:54 +03:00
Alexey Andreev 1dae687e7d Fix support of - and + prefix operators in JS parser
Treat number literal that represents minimum integer as integer node in
JS AST.

Treat +<number_literal> JS AST as unary node (+) containing single
number literal
2017-06-07 11:13:53 +03:00
Alexey Andreev c5bf76578a Add test infrastructure for JS source map parser and generator 2017-06-07 11:13:52 +03:00
Alexey Andreev 174068c462 Add JS source map parser and remapper
JS source map remapper takes parsed source maps
together with JS AST with correct JS positioning information
and converts the latter into Kotlin positioning information
2017-06-07 11:13:51 +03:00
Alexey Andreev 93ec81d2eb Add source information to parsed JS AST 2017-06-07 11:13:50 +03:00
Alexey Andreev 1d1da326be Refactor JS parser 2017-06-07 11:13:49 +03:00
Alexey Andreev 3a3720db8d Reformat JS parser for conformance with project's style settings 2017-06-07 11:13:49 +03:00
Alexey Andreev 41ad637bad Fix warnings in JS parser 2017-06-07 11:13:48 +03:00
Alexey Andreev e9a2c8c0f1 Prevent JS AST nodes of several types to be shared 2017-05-30 12:48:47 +03:00
Alexey Andreev 4bb1130f3f Fix translation of labels with non-identifier names in JS BE
See KT-18027
2017-05-29 15:37:31 +03:00
Alexey Andreev ca7062d776 Fix JS parser to properly handle "." <keyword> sequence 2017-05-26 18:20:16 +03:00
Alexey Andreev 9e89213d66 Prototyping DCE tool for JS 2017-05-26 18:20:15 +03:00
Zalim Bashorov c021af0fef KJS: fix non-local return inside catch block 2017-04-19 20:20:21 +03:00
Alexey Andreev b11e33901b Fix parsing of JavaScript number literals out of integer range
Fix KT-17219
2017-04-17 14:17:08 +03:00
Mikhail Glukhikh d0cc1635db Cleanup: apply "Use synthetic property access syntax" 2017-03-15 16:13:40 +03:00
Alexey Andreev f33d421bab JS: make JS parser to store function's name in AST. See KT-15475 2017-01-12 18:12:40 +03:00
Zalim Bashorov 316da8331f KJS: relocate com.google.dart.compiler -> org.jetbrains.kotlin 2017-01-09 17:14:19 +03:00
Zalim Bashorov cb4c3ed686 KJS: rename "js.dart-ast" module to "js.ast" 2017-01-09 17:13:23 +03:00
Alexey Andreev d2fdc7ffc0 JS: when both clauses of if become empty during optimization, remove if entirely. Make condition and then clause of JsIf non-nullable. Fix #KT-13912 2016-11-17 12:20:37 +03:00
Valentin Kipyatkov b551886889 Code cleanup: removed redundant semicolons 2016-04-29 11:26:25 +03:00
Alexey Andreev af7ddb4572 Adds test infrastructure for JS optimizer. Adds simple tests 2016-04-05 14:40:24 +03:00
Ilya Gorbunov 744a7a83f7 Cleanup RC deprecations in compiler and plugin. 2016-01-27 18:34:30 +03:00
Dmitry Jemerov d6a11b839b js: cleanup 'public', property access syntax 2016-01-07 18:15:19 +01:00
Michael Bogdanov aeb6486473 Deprecated 'INSTANCE$' replaced with 'INSTANCE' 2015-12-24 13:59:43 +03:00
Yan Zhulanow 278f1cd6ef Fix "Placing function type parameters after the function name" errors in project 2015-11-27 15:51:11 +03:00
Yan Zhulanow e14c9645dc Error on 'if' without an 'else' branch when used as an expression 2015-10-19 03:56:15 +03:00
Alexey Tsvetkov efba2a2372 JS: make JsEmpty singleton 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov 1557111277 JS: fix issues with js() usage in inline functions 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov c7e8f52faf JS: use one tag for inlining 2015-03-23 16:43:48 +03:00
Alexey Tsvetkov e83b253b3e JS: renamed JsParser->JsAstMapper 2015-03-23 16:43:48 +03:00
Alexey Tsvetkov 47064ce03c JS: grouped all scope/name operations in JsParser 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov ae970044e2 JS: extracted ThrowExceptionReporter 2015-02-20 16:01:26 +03:00
Alexey Tsvetkov b01aa5e0a5 JS: simplified parser exceptions 2015-02-20 16:01:26 +03:00
Alexey Tsvetkov 4f992eeeb4 JS: report right end of js() error 2015-02-20 16:01:26 +03:00
Alexey Tsvetkov baccfa914f JS: removed unused rhino error reporter method 2015-02-20 16:01:25 +03:00
Alexey Tsvetkov 33f6759966 Minor in JS: updated copyrights 2015-02-20 16:01:25 +03:00
Alexander Udalov 5903b8c4a7 Reorder and optimize dependencies between modules and libraries
- drop 'kotlin-runtime' and other dependencies which are exported by
  other modules ('util' and 'util.runtime' in case of 'kotlin-runtime')
- make all Kotlin modules from the compiler depend on 'util' for clarity
- put 'util' and 'util.runtime' to the bottom of the list everywhere: when
  kotlin-runtime gets reflection, classes from core/ should have higher
  priority than their previous versions from kotlin-runtime.jar
2015-01-28 19:58:35 +03:00
Alexey Tsvetkov 834725b260 JS parser minor: removed broken @see in javadoc 2014-12-15 19:16:22 +03:00
Alexey Tsvetkov 6115e1afec JS parser: use map for keyword search 2014-12-15 19:16:21 +03:00