Nikolay Krasko
2946c1d6a8
KT-7271 Accessing an extension property of Char.Companion leads to ClassNotFoundException in runtime
...
#KT-7271 Fixed
2015-04-07 15:59:05 +03:00
Stanislav Erokhin
3de0dff575
Migrate testdata to new lambda syntax
2015-04-07 13:08:53 +03:00
Stanislav Erokhin
b152211096
Added init keyword to testdata
2015-04-07 13:08:51 +03:00
Ilya Gorbunov
70cc7fbf1f
Remove never intentionally used String.hashCode extension.
2015-04-07 03:14:49 +03:00
Alexander Udalov
72aa3d1465
Use mock JDK in compiler tests where full JDK is not needed
...
- move some of boxWithStdlib tests under fullJdk/ directory, where they will be
compiled against the full JDK
- introduce FULL_JDK in-text directive for the reflection test as only 4 tests
out of 654 needed the full JDK
2015-04-02 21:57:48 +03:00
Dmitry Jemerov
39828bfd32
Implement kotlin.jvm.overloads annotation for generating all overloads of a method that has default parameter values.
...
#KT-2095 Fixed
fix backend-side issues with kotlin.jvm.overloads: support the annotation on constructors, generate nullablity annotations on parameters, generate generic signatures, add various tests
2015-04-02 20:30:26 +02:00
Dmitry Jemerov
e15b984232
Implement kotlin.jvm.overloads annotation for generating all overloads of a method that has default parameter values.
...
#KT-2095 Fixed
2015-04-02 20:30:01 +02:00
Alexander Udalov
4cea9ecca4
Minor, add reflection test on inherited Java property
2015-04-02 03:22:12 +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
01e5ee718f
Allow secondary constructors without body
...
#KT-6967 Fixed
2015-03-27 16:09:40 +03:00
Dmitry Jemerov
827d9d48c1
Correctly apply SAM conversions in superclass constructor calls
...
#KT-5452 Fixed
2015-03-26 19:03:42 +01:00
Dmitry Jemerov
bb1410b20a
generate more correct bytecode for casting Unit to other types
2015-03-25 17:51:04 +01: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
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
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
Stanislav Erokhin
43e24f6b0d
Fixed test data for new lambda syntax
2015-03-18 16:06:44 +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
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Michael Bogdanov
11ce50f0d6
Tests for obsolete KT-6434: android compile error: local variable type mismatch
...
#KT-6434 Obsolete
2015-03-17 11:39:28 +03:00
Michael Bogdanov
0999cd99e3
Inline iterator test
2015-03-16 18:52:05 +03:00
Michael Bogdanov
3a5b55fc61
Mute some tests
2015-03-16 18:52:04 +03:00
Michael Bogdanov
5c6b9b1bc6
New smap test
2015-03-16 18:52:04 +03:00
Alexander Udalov
8af6ca5279
Delete kotlin.jvm.internal.KObject
...
It was supposed to be used in reflection but the benefits do not outweigh the
cost of KT-6951
#KT-3223 Fixed
#KT-6951 Fixed
2015-03-12 23:15:38 +03:00
Stanislav Erokhin
fa9ca54e78
Fixed local return inside function expression.
2015-03-12 17:11:47 +03:00
Stanislav Erokhin
a89b48c577
Backend support for function expression
2015-03-12 17:11:46 +03:00
Stanislav Erokhin
a33450395c
Resolve parenthesized element as expression
2015-03-12 17:11:43 +03:00
Stanislav Erokhin
2c8cf05f7a
Added backend tests with closure local function in local class
2015-03-12 17:11:42 +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
70c573864a
Prohibit DelegationBy specifier when no primary constructor
...
Also add codegen test for case when there is primary
2015-03-11 17:45:29 +03:00
Denis Zharkov
4022982760
Add synthetic argument to default constructors
...
It's need to add synthetic argument (of type that user can't use)
to constructors with default arguments to avoid clashing with
real user's constructor having the same set of parameters
and additional int's arguments.
2015-03-11 17:45:28 +03:00
Denis Zharkov
e65382e6ec
Support secondary constructors in JVM backend
...
There is a lot of changes about closures calculating and generating.
1. As classes can have more than one constructor each of them should
have closure arguments.
2. Captured variables set is the same for all of them.
3. Within constructors bodies/delegating calls closure parameters
should be accessed through method arguments because fields may be
not initialized yet.
2015-03-11 17:45:27 +03:00
Denis Zharkov
f07566d30d
Add warning for initializers with obsolete syntax
...
Expected 'init' keyword before class initializer
2015-03-11 17:45:26 +03:00
Alexander Udalov
dc4dfbeec1
Fix generic class literals, substitute type parameters with stars
2015-03-11 16:42:47 +03:00
Alexander Udalov
6468515d99
Report error when LHS of class literal is not a class
2015-03-11 16:42:45 +03:00
Alexander Udalov
b93b9bd565
Support KClass.simpleName and built-in class literals
2015-03-11 16:42:43 +03:00
Alexander Udalov
6e45c6f17c
Support class literals (A::class)
2015-03-11 16:42:41 +03:00
Alexander Udalov
b3cdd818f0
Support member extension properties, implement KClass.getExtensionProperties()
...
#KT-6570 Fixed
2015-03-11 16:42:38 +03:00
Alexander Udalov
da209e673c
Implement KClass.getProperties()
...
#KT-6570 In Progress
2015-03-11 16:42:37 +03:00
Alexander Udalov
fdfd808d80
Remove KForeignMemberProperty and KClassOrigin, use KMemberPropertyImpl instead
2015-03-11 16:42:36 +03:00
Alexander Udalov
ff0044f66a
Use descriptors for reflection on extension properties
2015-03-11 16:42:34 +03:00
Alexander Udalov
1a618deeab
Use descriptors for reflection on top level properties
...
This also allows to obtain a Field object from the package part (see
mapping.kt)
2015-03-11 16:42:33 +03:00
Alexander Udalov
64fdb18ad3
Use descriptors for reflection on class properties
...
- use ConcurrentHashMap as a cache of class loaders to module descriptors
- KClassImpl now has a lazy class descriptor and it manages property creation
by looking (also lazily) for the property descriptor in the corresponding
scope
- since deserialized descriptors have full information about where a JVM symbol
is located and what signature it has, new tests will begin to pass where
Kotlin model and Java reflection model differ, see classObjectVar.kt
2015-03-11 16:42:31 +03:00
Alexander Udalov
a8046020fb
Rename kotlin.reflect.IllegalAccessException -> IllegalPropertyAccessException
...
The former name clashes with java.lang.IllegalAccessException and proved to be
inconvenient because it should always be qualified in the source.
Also use java.lang exception's message as kotlin.reflect exception's message
2015-03-07 02:32:15 +03:00