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