Mikhail Glukhikh
620b7954ac
Tests for already working KT-3993 and KT-5427. These test cases pass at least since M11
2015-03-31 17:15:46 +03:00
Mikhail Glukhikh
9c1551bca9
Implementation of smart casts for public / protected immutable properties that are not open and used in the same module.
...
DataFlowValueFactory and its environment refactoring: containing declaration is added into factory functions
as an argument and used to determine identifier stability. A few minor fixes. #KT-5907 Fixed. #KT-4450 Fixed. #KT-4409 Fixed.
New tests for KT-4409, KT-4450, KT-5907 (public and protected value properties used from the same module or not,
open properties, variable properties, delegated properties, properties with non-default getter).
Public val test and KT-362 test changed accordingly.
2015-03-31 16:19:03 +03:00
Alexander Udalov
32c3bb8c7f
Extract module 'deserialization' out of 'serialization'
...
'deserialization' stays in core because it's needed both in compiler and
reflection, but 'serialization' is used only in the compiler
2015-03-30 19:44:17 +03:00
Alexander Udalov
085bc2197b
Merge module 'serialization.jvm' into 'descriptor.loader.java'
...
It was very small and there proved to be no point in separation of loading Java
classes and deserializing Kotlin classes
2015-03-30 17:22:06 +03:00
Pavel V. Talanov
b73bd697e6
Rename JetCoreEnvironment -> KotlinCoreEnvironemnt
2015-03-30 15:11:58 +03:00
Pavel V. Talanov
5cb431c5c4
Convert JetCoreEnvironment: migrate other code
2015-03-30 15:11:57 +03:00
Dmitry Jemerov
1e536af87e
correctly calculate the number of mask arguments required for a method with default arguments
...
#KT-6816 Fixed
2015-03-27 18:51:07 +01:00
Denis Zharkov
418034add3
Prohibit instance access before super call
...
- Before this change members just left unresolved as they were absent in the
specific scope named scopeForSecondaryConstructorHeaderResolution that
created just to prohibit such accesses.
- Now they are resolved the same way as other members, but diagnostic is
repored by in-place injected CallChecker
- Drop obsolete type of class scope
#KT-6995 Fixed
2015-03-27 20:15:00 +03:00
Denis Zharkov
8c048c3e43
Refine recovery for constructors
2015-03-27 16:09:41 +03:00
Denis Zharkov
7aa2642a2b
Unify reporting resolution errors for empty delegation calls
...
- Always report "There is no applicable constructor for call without arguments in superclass"
under `constructor` keyword by replacing default TracingStrategy
- Remove positioning strategy used for reporting non-applicable
for empty delegation calls
#KT-6971 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov
683bc4709f
Add test case: 'platformStatic' on constructors
2015-03-27 16:09:41 +03:00
Denis Zharkov
ce3bf423ad
Prohibit 'native' annotation on constructors
...
Currently doesn't work for primary ones
#KT-7000 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov
01e5ee718f
Allow secondary constructors without body
...
#KT-6967 Fixed
2015-03-27 16:09:40 +03:00
Alexey Sedunov
4ec1b9971f
Parser: Do not produce JetQualifiedExpression without receiver
...
#KT-7122 Fixed
2015-03-26 23:11:50 +03:00
Dmitry Jemerov
827d9d48c1
Correctly apply SAM conversions in superclass constructor calls
...
#KT-5452 Fixed
2015-03-26 19:03:42 +01:00
Michael Nedzelsky
2f7ebf677f
JS: allow js-file in library-files for cli compiler
2015-03-26 00:22:19 +03:00
Dmitry Jemerov
bb1410b20a
generate more correct bytecode for casting Unit to other types
2015-03-25 17:51:04 +01:00
Pavel V. Talanov
ed218c473a
Get rid of 'class object' usages in code and builtins
...
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Dmitry Jemerov
389498eb91
Merge pull request #621 from JetBrains/rr/yole/kt4142
...
Regression tests for some more obsolete issues in the JVM backend
2015-03-25 13:28:38 +01:00
Dmitry Jemerov
0467bba7a6
regression test for KT-5953
2015-03-24 21:05:23 +01:00
Dmitry Jemerov
f6093274ab
regression test for KT-5395
2015-03-24 20:59:56 +01:00
Dmitry Jemerov
9d229ad271
regression test for KT-4259
2015-03-24 20:49:53 +01:00
Dmitry Jemerov
4f0cf2f918
regression test for obsolete issue KT-4142
2015-03-24 19:14:18 +01:00
Dmitry Jemerov
2767e789fb
when generating coercion, take into account the original type of the expression
2015-03-24 18:01:56 +01:00
Michael Nedzelsky
842eaa86a4
merge serialization.js module into js.serializer
2015-03-24 15:13:45 +03:00
Alexey Tsvetkov
5ff5cea17a
JS: report error when js() produces empty AST
2015-03-23 16:43:49 +03:00
Alexey Tsvetkov
b5797eb15b
JS: added tests for recursion cycle in inline functions
2015-03-23 16:43:48 +03:00
Alexander Udalov
7e69a5ac9a
Don't create KProperty instance for synthetic field
...
#KT-5759 Fixed
2015-03-23 16:30:26 +03:00
Alexander Udalov
9cf0720925
Fix KClass.simpleName for local classes
2015-03-23 16:30:24 +03:00
Zalim Bashorov
d569ea5974
JS frontend: added diagnostic about secondary constructors not supported yet.
2015-03-23 13:52:56 +03:00
Alexander Udalov
06537c5b14
Clarify 'class_fq_name` field in jvm_descriptors.proto
...
Regenerate protobuf files with protoc 2.5.0
2015-03-23 12:21:38 +03:00
Zalim Bashorov
aaa7f6d5e4
JS frontend: added diagnostic about non-toplevel classifiers are unsupported yet.
2015-03-20 21:23:31 +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
Denis Zharkov
bd5dbb665e
Fix header scope for secondary constructors
...
Add companion object's scope and nested classes
#KT-6996 fixed
2015-03-18 19:59:24 +03:00
Michael Bogdanov
ed62e4972f
Temporary disable smap generation
2015-03-18 19:00:24 +03:00
Michael Bogdanov
6e55ea6480
Skip smap generation if there is no source information
...
#KT-7022 Fixed
2015-03-18 18:49:18 +03:00
Stanislav Erokhin
47e8b1e77c
Create warning for old lambda syntax.
2015-03-18 16:06:44 +03:00
Stanislav Erokhin
446816e3db
Created automatic labeling of function expression.
2015-03-18 16:06:44 +03:00
Alexander Udalov
8788bc7cc6
Fix classpath for ant tests
2015-03-18 16:06:44 +03:00
Michael Nedzelsky
b0b90ff6a9
add KotlinJavascriptSerializerTest
2015-03-18 09:39:06 +03:00
Michael Nedzelsky
33cdf8c969
JS backend: add cli test for creating metadata and ant test for library with metadata
2015-03-18 09:39:04 +03:00
Michael Nedzelsky
7ebfd37c33
JS backend: support for reading metadata
2015-03-18 09:38:55 +03:00
Michael Nedzelsky
e0c0012a20
add serialization.js module
2015-03-18 09:38:47 +03:00
Michael Nedzelsky
a7ba93c1d1
add flexibleTypeCapabilitiesDeserializer field to BuiltinsPackageFragment
2015-03-18 09:38:42 +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
Alexander Udalov
a4f9fe1eaa
Filter out invisible fakes in KClass.properties
...
A user will rarely need those at the moment, and there's currently no other way
to let him filter out them by himself
2015-03-17 23:39:13 +03:00
Alexander Udalov
d3abd54b06
Add 'val KClass.declaredProperties', make getProperties a property
2015-03-17 23:39:13 +03:00
Denis Zharkov
36665fe3b8
Change logic of constructor delegation call resolution
...
- If class has type arguments (A<T1,..>) then
resolve it's delegation call to `this` as for expression A<T1, ..>()
like type arguments are explicitly specified.
- Same logic works for `super` delegation calls.
- It could be just enough to substitute all candidates before resolve
but diagnostic messages looks more correct when substitution is
performed within CandidateResolver.performResolutionForCandidateCall
because it works the same way as when resolving A<T1, ..>().
#KT-6992 Fixed
#KT-6993 Fixed
#KT-6994 Fixed
2015-03-17 23:18:35 +03:00