Commit Graph

749 Commits

Author SHA1 Message Date
Alexander Udalov 0e352aa57a Rename test functions to avoid clashing with JUnit
Android JVM tests run codegen test data with JUnit in classpath
2014-01-23 15:21:54 +04:00
Evgeny Gerashchenko d3570153ef Fixed mapping generic type with multiple bounds from Java to Kotlin.
#KT-3480 fixed
2014-01-23 12:33:58 +04:00
Alexander Udalov 09e772ff61 Make comparison with NaN consistent with javac 2014-01-22 21:20:09 +04:00
Evgeny Gerashchenko 357fc55358 KT-4456 Generated wrong bytecode when Kotlin class inherited from Java Interface with method which have SAM type argument
#KT-4456 fixed
2014-01-22 16:09:03 +04:00
Alexey Sedunov adddb70e50 Add codegen tests for local classes/objects declated in class initializers or class parameter initializers 2014-01-15 16:49:28 +04:00
Andrey Breslav a26c37419e Synthetic classes created for enum entries 2014-01-15 16:14:58 +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
Evgeny Gerashchenko 958f7c862d Got rid of "namespace" word in test data. 2014-01-14 18:06:50 +04:00
Alexander Udalov 7041a10ecf Fix VerifyError on primitive override properties
Don't just blindly map property type in PropertyCodegen when generating getter:
we already have its full signature, so we can just as well take the type from
it. The former also isn't correct for properties which are overrides with a
primitive type. Simple mapType is safe for setter though, because the type of a
method parameter cannot change with override on JVM

The change in StackValue relates to call sites of properties which return Unit:
in that case StackValue's this.type is V, whereas the return type of its getter
is Ljet/Unit; -- so coerceTo was coercing from the wrong type in case of getter
calls

 #KT-4373 Fixed
 #KT-4383 Fixed
2014-01-14 17:52:27 +04:00
Alexander Udalov 713c6f13ae Fix primitive override problem in Kotlin-Java inheritance
See the comment in JetTypeMapper
2013-12-30 06:41:09 +04:00
Alexander Udalov d8c5b0236d Fix incorrect usage of mapReturnType in param assertions 2013-12-30 04:15:24 +04:00
Mikhael Bogdanov c9c50e4107 KT-4348: Array access operator overloading doesn't work with vararg's
#KT-4348 Fixed
2013-12-26 17:07:58 +04:00
Natalia Ukhorskaya f2f1a1313d Add jdk jars to kotlin classpath
#KT-4214 Fixed
2013-12-26 13:50:10 +04:00
Evgeny Gerashchenko 513be47544 KT-4349 Make jet.Boolean implement Comparable
#KT-4349
2013-12-25 21:07:55 +04:00
Alexander Udalov 571adf3acc Support references to local extensions in codegen 2013-12-24 20:41:20 +04:00
Alexander Udalov d3a811aa7e Support closures in codegen for callable references 2013-12-24 20:41:20 +04:00
Alexander Udalov 596b1622a3 Add tests on callable references
Object members and accessors for private class members
2013-12-24 20:41:20 +04:00
Alexander Udalov 363fe607fc Support local function references in codegen
#KT-3704 In Progress
 #KT-1183 In Progress
2013-12-24 20:41:19 +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 c9b2cda07c Add tests for usage of java annotation with default arguments 2013-12-23 13:45:59 +04:00
Natalia Ukhorskaya 359f2ddbda Prohibit instantiation of annotation classes
#KT-3465 Fixed
2013-12-23 13:45:57 +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 7a9d822070 'As' function for constants 2013-12-17 15:00:30 +04:00
Natalia Ukhorskaya dbaaa80918 Add i2b cast boxing Int to Byte? or Short? (fix android tests) 2013-12-16 20:54:10 +04:00
Natalia Ukhorskaya 66effee8cd Fix safe call 2013-12-16 20:54:09 +04:00
Natalia Ukhorskaya 4ef1af7d12 Cast unary intrinsics to expected type 2013-12-16 17:12:40 +04:00
Alexander Udalov 0576851102 Fix codegen for closures returning 'Unit?'
Only do a checkcast when we need to coerce Object to Unit: the code was
hopefully type-checked so that it'll only be necessary when the value is either
Unit.VALUE or null
2013-12-12 21:38:20 +04:00
Natalia Ukhorskaya 69ed9bc47a Do not cast arguments of binary operation to expected type for byte and short 2013-12-12 17:11:42 +04:00
Alexander Udalov 00da5fe1fb Fix VerifyError for 'when' of type 'Unit?' 2013-12-11 07:40:19 +04:00
Alexander Udalov 0d9c126485 Add regression test for KT-3634
#KT-3634 Obsolete
2013-12-11 07:40:19 +04:00
Alexander Udalov ee554d2e2f Unwrap fake override of original
This fixes a couple of verify errors related to the order of supertypes in the
class declaration
2013-12-09 17:59:58 +04:00
Alexander Udalov 6276dd1483 Return Unit.VALUE if Unit or Any is expected
StackValue.coerce will do its job in casting void to Unit correctly

 #KT-4212 Fixed
2013-12-09 17:57:59 +04:00
Alexander Udalov f19ede0637 Don't treat values of type "Unit?" to be always equal to Unit.VALUE
Two changes here: StackValue.Constant does cast iff value is non-null (if null,
no cast between classes is really needed, as null can be an instance of
anything), and codegen for safe qualified expressions uses correct type for the
expression

 #KT-4265 Fixed
2013-12-09 15:52:19 +04:00
Andrey Breslav 71be3bcec5 All tests for TCO moved to box (with diagnostics marked up) 2013-12-06 11:29:28 +04:00
Andrey Breslav 97319808b6 Detecting tail calls through CFA 2013-12-06 00:28:12 +04:00
Andrey Breslav 0316e6cb8d Indirect tests for tail call diagnostics removed 2013-12-06 00:28:10 +04:00
Andrey Breslav 94500bd968 Use codegen box tests for tail calls as diagnostic tests too 2013-12-06 00:28:04 +04:00
Andrey Breslav bb6ceffbbb Missing tests added 2013-12-06 00:27:31 +04:00
Andrey Breslav c70a54306f Rename directory for back-end tests 2013-12-05 23:53:08 +04:00
Sergey Mashkov fb0ec573e0 Tests for JVM back-end support of tail-call optimization 2013-12-05 23:53:07 +04:00
Svetlana Isakova 8e27877817 check definite return in local functions 2013-12-05 15:51:57 +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 155cbbfc02 Add evaluator for java property initializer 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya e5a3518248 Parse longs with 'L' suffix. Report error if 'l' used. 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya b6ce6c5e5a Parse floats with 'F' or 'f' suffix 2013-12-05 15:22:01 +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
Alexander Udalov 4ecd1a8f68 Don't fail when using Unit class object as a value
#KT-4243 Fixed
2013-12-04 15:57:52 +04:00