Commit Graph

60 Commits

Author SHA1 Message Date
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
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
Mikhael Bogdanov 69ef648005 Write outer class info for closures 2014-05-26 14:48:37 +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 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
Denis Zharkov cb1e762fc4 Optimizations of When expression with int constants:
Added test with dense constants (tableswitch should be used)
2014-04-25 18:17:37 +04:00
Denis Zharkov 3bc1c45fde Refactored tests for switch optimization of When expression 2014-04-25 18:17:36 +04:00
Alexander Udalov f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Alexander Udalov b3a9721571 Store receiver parameter in JVM intrinsics map
To differentiate between "String?.plus" extension in builtins and
"Iterable<*>.plus" extension in stdlib (they have the same owner, name and
value parameter count)
2014-03-02 19:55:25 +04:00
Alexander Udalov 0da92e22a2 Move jet.JetObject -> kotlin.jvm.internal.KObject
Don't use JetObject as a marker class in KotlinRuntimeLibraryUtil anymore,
since there are other classes for this purpose (KotlinPackage, Unit)
2014-03-02 19:54:58 +04:00
Alexander Udalov 3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Alexander Udalov ec30d52978 Delete Hashable, pull up its members to Any
Extensions on nullable types remain in Library.kt

 #KT-1741 Obsolete
 #KT-2805 Obsolete
 #KT-1365 Fixed
 #KT-4517 In Progress
2014-03-02 19:54:08 +04:00
Alexander Udalov 35c7c4afd8 Fix capturing outer this in some cases in JVM codegen
When property initializer of some inner entity (e.g. anonymous object) contains
a reference to some outer entity (say, a property of the outer class), we need
to make sure we called "lookupInContext" on this entity's owner class, so that
"setCaptureThis" was called on the appropriate closure

 #KT-4176 Fixed
2014-02-12 19:17:55 +04:00
Evgeny Gerashchenko 284124569d Fixed super signature generation when JetObject is explicit.
#KT-4485 fixed
2014-02-03 17:53:07 +04:00
Evgeny Gerashchenko abf352cebd KT-4485 getGenericInterfaces vs getInterfaces for kotlin classes
#KT-4485 fixed
2014-01-29 17:57:50 +04:00
Evgeny Gerashchenko e994b718cb KT-4351 Cannot resolve reference to self in init of class local to function
#KT-4351 fixed
2014-01-14 19:13:16 +04:00
Natalia Ukhorskaya f2f1a1313d Add jdk jars to kotlin classpath
#KT-4214 Fixed
2013-12-26 13:50:10 +04:00
Natalia Ukhorskaya 4329c42e3f Make unary minus and unary plus return int for byte and short 2013-12-23 13:46:00 +04:00
Natalia Ukhorskaya c9a600a405 Fix for varargs as annotation arguments #KT-4326 Fixed 2013-12-18 15:13:53 +04:00
Natalia Ukhorskaya 145c7811a8 Named vararg arguments: don't allow to use array without spread, allow to use one value of vararg type
#KT-3802 Fixed
2013-12-18 15:13:52 +04:00
Natalia Ukhorskaya 27e602133d Small fixes after review: do not set is_pure=true for named constants refactoring 2013-12-05 15:23:41 +04:00
Natalia Ukhorskaya 53a5264aaf Use type from compile time value for binary expression 2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya cbcca6c08e Support IntegerValueTypeConstant in java backend 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya d63f6843c8 Merge ConstantExpressionEvaluator and CompileTimeConstantResolver 2013-12-05 15:21:50 +04:00
Mikhael Bogdanov 4f017df237 Fix kt-1800 test 2013-12-02 10:40:54 +04:00
Andrey Breslav 1ff0ffbac6 Map jet.Hashable to java.lang.Object, to avoid NoClassDefFound exceptions 2013-10-25 15:39:01 +04:00
Evgeny Gerashchenko dc42be8543 Fixed VerifyError when copyToArray() is immediately returned from method. 2013-10-01 19:32:37 +04:00
Evgeny Gerashchenko 2ae1a2c81b Added copyToArray intrinsic method.
#KT-3352 fixed
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko e98b75b462 Do not generate toString and other methods if they are inherited. 2013-09-25 20:59:23 +04:00
Natalia.Ukhorskaya 064f114b25 Allow top-level properties or properties from class object as annotation parameters 2013-08-02 18:59:26 +04:00
Natalia.Ukhorskaya 27801d5351 Add test: primitive values as annotation parameter 2013-08-02 18:59:25 +04:00
Natalia.Ukhorskaya b3f0a23c1d Fix android test: cannot change package name 2013-07-29 11:36:47 +04:00
Natalia.Ukhorskaya c11bd7104c Write default values for annotation parameters
#KT-3197 Fixed
2013-07-25 16:44:03 +04:00
Yakov Zaytsev bb364cd393 KT-3771 Fixed 2013-07-22 18:49:56 +04:00
Natalia.Ukhorskaya 728e08cc49 Rewrite AnnotationCodegen to generate annotation arguments by AnnotationDescriptor 2013-07-05 19:19:00 +04:00
Mikhael Bogdanov 8cd1880805 KT-3722: Write correct generic type information for generated fields
#KT-3722 Fixed
2013-06-27 15:59:48 +04:00
Alexander Udalov 53cc582040 Minor, use incrementType in for-progression codegen
This doesn't fix anything, just makes it easier to figure out values of what
types are used where. Progression increment is of its own type, which may be
different from asmElementType in case of Byte, Char, Short progressions
2013-06-20 22:23:02 +04:00
Alexander Udalov ee80e0b8ca Fix loops over progressions near to MAX_VALUE/MIN_VALUE
#KT-492 Fixed

For Byte, Char and Short ranges, promote the type of the loop parameter to int
to avoid overflows. For Int and Long ranges at the end of the loop over a
progression we now check if the new (incremented) value of the loop parameter
is greater than the old value iff increment > 0
2013-06-20 16:03:00 +04:00
Alexander Udalov 33d6347876 Fix loop over a range literal up to MAX_VALUE
#KT-492 In Progress

For Byte, Char and Short explicit casting from Int is removed -- loop parameter
is already stored in an Int anyway. For Int and Long comparison "i < end" at
the beginning of the loop is replaced to "i != end" at the end of the loop + a
special check for an empty loop
2013-06-20 16:02:59 +04:00
Alexander Udalov f1a6d27d35 Minor, prevent infinite loops in range tests 2013-06-20 16:02:59 +04:00
Mikhael Bogdanov 86f2a6dc69 Tests for not reproduced KT-1770, KT-3001 and KT-3414
#KT-3414 Can't Reproduced
 #KT-3001 Can't Reproduced
 #KT-1770 Can't Reproduced
2013-06-18 14:46:14 +04:00
Natalia.Ukhorskaya a5f1a8b3f8 TypeCastException when casting null to T with nullable upper-bound
#KT-3637 Fixed
2013-05-21 13:21:52 +04:00
Evgeny Gerashchenko be30716076 Test for KT-2017 Cannot sort list with no comparator
#KT-2017 obsolete
2013-03-14 20:49:41 +04:00