Alexander Udalov
8b918ef1aa
Add regression tests for obsolete issues
...
#KT-1291 Obsolete
#KT-2895 Obsolete
#KT-3060 Obsolete
#KT-3298 Obsolete
#KT-3613 Obsolete
#KT-3862 Obsolete
2014-02-13 04:43:53 +04:00
Alexander Udalov
a98434263b
Add regression test for outdated issue
...
#KT-3738 Obsolete
2014-02-12 19:17:55 +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
Svetlana Isakova
9d493b6f7b
generate CHECK_CAST for smartcasted 'this'
2014-02-12 12:48:11 +04:00
Mikhael Bogdanov
e0ca1abe4b
KT-3706 Inconsistent stack height in try catch finally in function
...
KT-4134 Incorrect bytecode is generated for
#KT-3706 Fixed
#KT-4134 Fixed
2014-02-07 13:45:22 +04:00
Alexander Udalov
75ab8ac5ec
Don't try to generate optimized "in" for LongRange
...
#KT-4097 Fixed
2014-01-31 16:46:14 +04:00
Andrey Breslav
ab7d8a7734
Tests for abstract functions with default arguments
2014-01-23 17:59:18 +04:00
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
Alexander Udalov
09e772ff61
Make comparison with NaN consistent with javac
2014-01-22 21:20:09 +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
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
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
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
7a9d822070
'As' function for constants
2013-12-17 15:00:30 +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
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
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
Alexander Udalov
fa7076a4fa
Fix ClassCastException with nullable chars
...
#KT-4210 Fixed
#KT-4098 Fixed
#KT-4251 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
4aa6a42483
Support codegen of empty for-loop
...
#KT-3009 Fixed
EA-35742 fixed
2013-12-04 15:19:56 +04:00
Alexander Udalov
61ff9eb45b
Support codegen of empty do-while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
9058272528
Support codegen of empty while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
4cd4026174
Support empty if-statements
...
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition
#KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Andrey Breslav
93160431f9
Fix recusrive calls in infix and prefix form
...
The infamous invokeOperation() method removed
2013-11-29 12:52:58 +04:00
Mikhael Bogdanov
1f37ebf7e7
Tests for KT-3646: Wrong this in closure for extension function in constructor
...
#KT-3646 Obsolete
2013-11-28 12:12:14 +04:00
Mikhael Bogdanov
35f42b1a65
Tests for KT-4252: Error generating primary constructor with kind OwnerKind
...
#KT-4252 Obsolete
2013-11-28 10:11:26 +04:00
Alexey Sedunov
6dfad69434
Allow super calls in object declarations
2013-11-26 17:29:59 +04:00