Commit Graph

1659 Commits

Author SHA1 Message Date
Michael Nedzelsky 842eaa86a4 merge serialization.js module into js.serializer 2015-03-24 15:13:45 +03:00
Alexey Tsvetkov 03f0c6ede7 JS: added test for callable reference as stdlib inline function argument 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov 1557111277 JS: fix issues with js() usage in inline functions 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov 5ff5cea17a JS: report error when js() produces empty AST 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov eb4f6b8a1e JS: generate shorter tag for inline functions 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov 8be3628074 JS: removed comma expression decomposition from InlineMetadata
There are used to be two inline tags (corresponding to start, end of inline function).
An expression like "startTag, function, endTag" was parsed into comma expression, then decomposed.
Now, it's just one tag at start, and parser can read function, then stop.
Thus, there is no need to decompose comma expressions.
2015-03-23 16:43:48 +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 24f2121f9b JS: report error from backend, when inline function is called recursively 2015-03-23 16:43:48 +03:00
Zalim Bashorov d569ea5974 JS frontend: added diagnostic about secondary constructors not supported yet. 2015-03-23 13:52:56 +03:00
Zalim Bashorov aaa7f6d5e4 JS frontend: added diagnostic about non-toplevel classifiers are unsupported yet. 2015-03-20 21:23:31 +03:00
Zalim Bashorov 1bf7610751 Minor in JS frontend: fix compiler warnings. 2015-03-20 21:23:31 +03:00
Zalim Bashorov 68619be023 Minor in JS frontend: extract native annotation checkers to separate file. 2015-03-20 21:23:31 +03:00
Zalim Bashorov 8673f95dc5 AnnotationChecker -> DeclarationChecker 2015-03-20 21:23:30 +03:00
Denis Zharkov eefea26d54 Recovery for initializer if no LBRACE
- If no LBRACE after 'init' keyword parse initializer without body
- Made getBody() nullable, appropriate checks added
2015-03-18 19:59:25 +03:00
Michael Nedzelsky 7ebfd37c33 JS backend: support for reading metadata 2015-03-18 09:38:55 +03:00
Michael Nedzelsky 711501af56 add new module js.serializer 2015-03-18 09:38:51 +03:00
Michael Nedzelsky 77e9ab8ad7 JS: FunctionReader: remove unnecessary check for libraries 2015-03-18 09:38:40 +03:00
Michael Nedzelsky 69417903e2 kotlin_lib_ecma5.js: add metadata function 2015-03-18 09:38:38 +03:00
Zalim Bashorov 0ddec2d9b5 Minor in JS backend: throw IllegalStateException instead of UnsupportedOperationException inside CallCase 2015-03-18 08:55:56 +03:00
Zalim Bashorov 8421a15521 JS backend: report diagnostic when try to get referenece on builtin members instead of crash with Exception. 2015-03-18 08:55:56 +03:00
Zalim Bashorov 975c4ffab5 JS backend: report diagnostic for class literal(Foo::class) instead of crash with Exception. 2015-03-18 08:55:56 +03:00
Zalim Bashorov 8d6cbb671a JS backend: report diagonstic message for unsupported element instead of throw exception.
#KT-6507 Fixed
2015-03-18 08:55:56 +03:00
Zalim Bashorov 8054f18287 Minor in JS backend: add @Nullable to JsNameRef#getQualifier and JsNameRef#getSymbol. 2015-03-17 19:00:51 +03:00
Zalim Bashorov d6c70cc143 JS backend: added @Nullable to JsNameRef#getName and added assertion to get more information for reproduce #EA-66032 2015-03-17 19:00:50 +03:00
Zalim Bashorov 7d3094a0f1 JS backend: use FqNameUnsafe when generate delegateName to avoid problems with special names.
#EA-64029 Fixed
2015-03-17 19:00:50 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Pavel V. Talanov 2a6facaef6 default -> companion: default object -> class object in project code, builtins and libs code 2015-03-17 15:46:48 +03:00
Ilya Ryzhenkov e448f40756 Rename Stream<T> to Sequence<T> and provide migration path via deprecated types and functions. 2015-03-12 22:56:43 +03:00
Zalim Bashorov 9684d217b3 Fix build. 2015-03-12 20:17:46 +03:00
Zalim Bashorov 44159d34da Minor in JS lib: replaced LocalStorageClass with Storage with more accurate definitions and added sessionStorage.
#KT-6983 Fixed
2015-03-12 19:16:37 +03:00
Stanislav Erokhin 072a9f4977 Refactoring: extract FunctionResolver from DescriptorResolver 2015-03-12 17:11:51 +03:00
Stanislav Erokhin 3b92cab9e0 Changed containing declaration for PropertyDeclarationInnerScope 2015-03-12 17:11:43 +03:00
Michael Nedzelsky cea65e0770 add NotNull annotation into BasicTest 2015-03-12 16:35:25 +03:00
Michael Nedzelsky 54bbe0711d JS backend: reuse analysisResult from K2JSCompiler in translator 2015-03-12 16:35:22 +03:00
Pavel V. Talanov 2987e72d29 Do not report redeclaration when outer class and default object's members clash
Previously we prohibited classes and properties with the same name (now it's unnecessary)
Add test for backends that they support qualified (by default object name) member references inside class body
2015-03-11 21:06:05 +03:00
Denis Zharkov 67f97fea42 Prohibit data classes with no primary constructor 2015-03-11 17:45:28 +03:00
Alexander Udalov 6e45c6f17c Support class literals (A::class) 2015-03-11 16:42:41 +03:00
Pavel V. Talanov 9a844d2feb Minor: replace some missed mentions of 'class object' with 'default object' 2015-03-10 18:07:54 +03:00
Pavel V. Talanov 9ecf95532e Replace 'class object' with default object in project code 2015-03-10 18:07:46 +03:00
Zalim Bashorov f49e4ca3e9 JS backend: fixed accessing to native enum entries. 2015-03-10 14:30:45 +03:00
Andrey Breslav bbb59773aa filesToAnalyzeCompletely removed 2015-03-06 21:59:05 +03:00
Andrey Breslav 7d1a826778 Rename. LazinessToken -> TypeLazinessToken 2015-03-06 21:59:04 +03:00
Alexey Tsvetkov d06b2f4d0a JS: do not inline safe calls
A temporary hack until js inliner learns how to decompose expressions
2015-03-06 21:36:19 +03:00
Alexey Tsvetkov 843bc7956e JS: made JsPropertyInitializer fields not nullable 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov 53dfd77d31 JS: added inline stdlib cases 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov 38efec6886 JS: inline stdlib functions 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov 47064ce03c JS: grouped all scope/name operations in JsParser 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov bb634c6365 JS: restore inline status for calls to functional arguments of inline function 2015-03-06 21:36:19 +03:00
Alexey Tsvetkov 889d39a43e JS: restore names that can be changed by minifier
For example, Kotlin object can be renamed in stdlib,
so when we inline stdlib function in context of other module
renamed Kotlin object reference does not exitst.
2015-03-06 21:36:19 +03:00