Michael Bogdanov
6ddeb85c00
Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function
2014-07-09 09:46:28 +04:00
Michael Bogdanov
6b34035455
Avoid exceptions in test setUp cause tearDown would not be invoked
2014-07-07 10:51:47 +04:00
Michael Bogdanov
ce71c5abde
Test update for new ONLY_LOCAL_RETURN diagnostic
2014-07-07 10:51:46 +04:00
Michael Bogdanov
8092717da4
Support non local return generation, support non local return inlining
2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
02c6bdeaa3
Inline test data structure changed
2014-07-07 10:51:46 +04:00
Andrey Breslav
6422bafb7a
More tests for synchronized() {}
2014-07-03 18:39:57 +04:00
Andrey Breslav
90690e0711
KT-4825 Implement "synchronized" properly via monitorenter/monitorexit
...
#KT-4825 Fixed
2014-07-02 22:05:45 +04:00
Alexander Udalov
36f7cc742f
Introduce NoSuchPropertyException and IllegalAccessException
...
No new tests added because it's difficult to model a situation where a
::-access is allowed but the code throws these exceptions at runtime
2014-07-02 01:58:22 +04:00
Alexander Udalov
bc8bce7ca1
Provide "toString" for reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
c5d92cc03e
Provide "equals" and "hashCode" for reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
704de8992e
Support mapping between Java and Kotlin reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
a38a396a43
Remove default import "kotlin.reflect"
...
Basic reflection is usable without any imports (with :: literals)
This reverts commit 9503056dd5 .
2014-07-02 01:55:53 +04:00
Alexander Udalov
1ad037f621
Fix KClassOrigin for non-Kotlin classes
...
Check against presence of KotlinClass annotation
2014-07-02 01:55:21 +04:00
Alexander Udalov
a86cfdc5de
Add some simple tests on HashPMap
2014-07-02 01:26:23 +04:00
Alexander Udalov
89d6f25fb6
Fix initialization order of KClass field and class object fields
2014-07-02 01:26:21 +04:00
Alexander Udalov
e7f19c531a
Support 'accessible' for reflected properties on JVM
...
Calls Java reflection's isAccessible/setAccessible
2014-07-02 01:26:20 +04:00
Alexander Udalov
1275c84f92
Fail with IllegalAccessException on :: reference to private property
...
Instead of mysterious NoSuchMethodException
2014-07-02 01:26:20 +04:00
Alexander Udalov
a8e1de48b8
Support :: references to Java instance fields in codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
5ab83aad8a
Support references to extension properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
461cce103b
Support references to top level and member properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
59777e7df6
Generate "$kotlinClass"/"$kotlinPackage" reflection fields to every class
...
Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
2014-07-02 01:26:18 +04:00
Alexander Udalov
aea230d677
Introduce black box with Java codegen tests
...
In contrast to "black box against Java", it supports cyclic dependencies
between Java and Kotlin sources in one test case
2014-06-26 20:57:40 +04:00
Alexander Udalov
09863445bb
Rename tests: boxWithJava -> boxAgainstJava
2014-06-26 20:57:40 +04:00
Andrey Breslav
777f3d1341
Codegen tests now fail on JVM-specific errors
2014-06-19 22:11:57 +04:00
Evgeny Gerashchenko
aa41ae09ed
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 11:43:59 +04:00
Andrey Breslav
512e4cb75e
Support transient, strictfp and synchronized flags
...
#KT-4377 Fixed
2014-06-18 10:55:57 +04:00
Andrey Breslav
705a081919
KT-5214 Annotation to provide platform name to avoid signature conflict
...
#KT-5214 Fixed
2014-06-10 18:21:36 +04:00
Laszlo Hornyak
9dec0fb779
Correct the argument types of the StringBuilder.append
...
Modified AsmUtil to generate calls to more specific append methods
in the StringBuilder class in order to save computation time and make
less temporary objects.
Also adds unit-test to verify that the append(Object) method was
invoked 0 times while the append(String) 3 times
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com >
2014-06-02 16:34:44 +04:00
Mikhael Bogdanov
34e8cae89e
KT-5112 - test file update
2014-06-02 15:21:28 +04:00
Mikhael Bogdanov
c80901bafa
KT-5112 Generic signature lost for a field copied from class object to containing class
...
#KT-5112 Fixed
2014-06-02 13:12:25 +04:00
Alexander Udalov
d78d4bc44c
Disallow extension properties with backing fields
...
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov
6210e45fbc
Minor, improve test case for KT-1157
...
Multithreaded version was not working correctly and was throwing NPEs in the
log sometimes
2014-05-29 21:07:34 +04:00
Alexander Udalov
8a84d07645
Fix warnings in JVM codegen tests
...
Add generics where needed, add nullability annotations, etc.
Also delete some testcases from ArrayGenTest which will never be supported
2014-05-29 21:07:34 +04:00
Alexander Udalov
cc94010d07
Fix broken test data file
2014-05-26 16:49:10 +04:00
Mikhael Bogdanov
69ef648005
Write outer class info for closures
2014-05-26 14:48:37 +04:00
Mikhael Bogdanov
449e26ce6d
New tests for outer class info
2014-05-26 14:48:34 +04:00
Mikhael Bogdanov
950840b8c7
KT-5076 Error on inlining into object
...
#KT-5076 Fixed
2014-05-23 11:59:05 +04:00
Alexander Udalov
9760f30c99
Don't allow fake override to inherit implementation with wrong return type
...
#KT-4763 Fixed
2014-05-22 19:32:10 +04:00
Andrey Breslav
773cb9efbe
Signature comparison used to find super functions in SignaturesPropagationData
...
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Mikhael Bogdanov
6ad2814b01
Suppot inlining default methods, inlining function into its default.
2014-05-21 13:56:09 +04:00
Alexander Udalov
af3d56b44e
Fix JVM type mapping of arrays of type variables
...
#KT-4262 Fixed
#KT-5056 Fixed
2014-05-20 19:22:53 +04:00
Alexander Udalov
8f7c0f0b65
Introduce KFunctionImpl, KMemberFunctionImpl, KExtensionFunctionImpl
...
Old 23*3 classes will be dropped, since they have no value.
Simplify JvmFunctionImplTypes significantly because of that
2014-05-19 19:50:59 +04:00
Alexander Udalov
5488a8402f
Move and rename KFunctionImpl classes
...
Move from package "kotlin.reflect" to "kotlin.reflect.jvm.internal". They are
internal detail of the compiler and should not be used directly (especially now
that "kotlin.reflect" is in default import paths).
Also rename "KFunctionImplN" to "KFunctionNImpl", because this name makes more
sense
2014-05-19 19:50:58 +04:00
Alexander Udalov
de8b2b3668
Fix generic signature for SAM adapters and constructors
...
SAM-related code in codegen was using JavaClassDescriptor directly, which has
an erased signature. Create and use a new abstraction SamType which has a full
generic signature of a type which was used in the SAM construct
2014-05-19 19:50:58 +04:00
Alexander Udalov
41eb0deaa0
Introduce FunctionImpl and ExtensionFunctionImpl classes
...
Old FunctionImpl0,1,2,... will be dropped since they had no purpose
2014-05-19 19:50:58 +04:00
Alexander Udalov
c7a7f31e82
Introduce module 'reflection', move KFunctionN to it
...
Metadata for KFunction classes is now longer serialized along with built-in
classes. This effectively means that it's no longer possible to find KFunction
classes via dependency on built-ins. There should be a kotlin-runtime library
in the specified classpath for reflection types to be resolvable.
A lot of tests were moved and changed, because tests on callable references
require stdlib in classpath from now on
2014-05-19 19:50:57 +04:00
Mikhael Bogdanov
380f1875b8
Don't generate default method implementation in package facade (just delegation)
2014-05-16 18:34:07 +04:00
Mikhael Bogdanov
c5e9ea0d29
Support anonymous object constructor transformation and inline
2014-05-16 15:55:08 +04:00
Mikhael Bogdanov
9007ba9c53
Anonymous object transformation
2014-05-16 13:33:57 +04:00
Mikhael Bogdanov
6fb0050575
KT-4982 this$0 is not initialized in the anonymous object
...
#KT-4982 Fixed
2014-05-16 13:33:39 +04:00