Alexander Udalov
b0db6a4526
Rewrite bridge generation to Kotlin, make it abstract
2014-04-11 21:57:46 +04:00
Alexander Udalov
fc838dbb53
Refactor ImplementationBodyCodegen.getTraitImplementations()
...
Make it static, extract a method which finds an implementation in a trait for a
fake override
2014-04-11 21:57:46 +04:00
Alexander Udalov
478766815d
Consider all real functions, not only declarations in bridge codegen
...
There should be bridges to all of the functions present in bytecode
2014-04-11 21:57:45 +04:00
Alexander Udalov
04c237cc22
Generate bridges for fake overrides when needed
...
#KT-3985 Fixed
#KT-4145 Fixed
2014-04-11 21:57:44 +04:00
Mikhael Bogdanov
e2f3a589e7
KT-3308 Support local generic functions in codegen
...
#KT-3308 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
4269729b0a
KT-3214: Verify error when get array convention is used with varargs
...
#KT-3214 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
596dc68ea4
KT-4340: Jvm backend generates invalid synthetic accessor for private extension property
2014-04-01 11:18:15 +04:00
Mikhael Bogdanov
0d239a3e0e
Moving local fun callee generation to CallReceiver
2014-03-31 20:04:10 +04:00
Mikhael Bogdanov
c7c1e33655
Move local fun callee generation to pushArgumentsWithCallReceiver.
...
Local fun callee generation via resolvedCall.resultingDescriptor not call
2014-03-31 20:03:43 +04:00
Alexander Udalov
ea4daed0ac
Use FqNameUnsafe instead of FqName in JVM intrinsics
...
#KT-4777 Fixed
2014-03-27 22:46:44 +04:00
Alexander Udalov
0deea6b83c
Add test for obsolete issue
...
#KT-1936 Obsolete
2014-03-27 03:06:59 +04:00
Evgeny Gerashchenko
537c03fb1a
Added test checking that initialization order in package part is not violated.
2014-03-25 14:31:41 +04:00
Svetlana Isakova
a829da185d
Resolve invoke on any kind of expressions, not only on simple name expressions
2014-03-20 10:05:24 +04:00
Alexander Udalov
7a2fce4fba
Add regression tests for obsolete issues
...
#KT-2592 Obsolete
#KT-2768 Obsolete
2014-03-16 03:18:26 +04:00
Svetlana Isakova
4771986b32
KT-4656 Wrong capturing a function literal variable.
...
#KT-4656 Fixed
Reference for calleeExpression is recorded only in 'doResolveCallOrGetCachedResults'.
2014-03-08 20:55:45 +04:00
Andrey Breslav
2a0ccb95b1
Support quotes at the end of a raw string
...
Fix for KT-4650 Can't use double quote at the end of the raw string
#KT-4650 Fixed
2014-03-07 19:38:58 +04:00
Alexander Udalov
f7b6457139
Replace "jet" package name with "kotlin" in testData
2014-03-02 19:55:26 +04:00
Alexander Udalov
5d6d4406cb
Move FunctionImpl classes from package "jet" to "kotlin"
2014-03-02 19:54:56 +04:00
Alexander Udalov
b68e47f705
Move JVM-specific annotations out of built-ins
...
Move 'volatile' and 'synchronized' to package 'kotlin' in stdlib. Also delete
'atomic', since its support was never implemented
2014-03-02 19:54:55 +04:00
Alexander Udalov
774e5f0535
Sort out JVM intrinsics for equals, hashCode, toString
2014-03-02 19:54:55 +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
4968afebf8
Don't generate bodies of built-in stub methods into interfaces
2014-02-24 21:44:42 +04:00
Alexander Udalov
4a603f1268
Minor, specify types for clarity
2014-02-21 20:38:02 +04:00
Alexander Udalov
eb7b757e38
Fix VerifyError on rangeTo on primitive types
2014-02-19 17:46:18 +04:00
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