Commit Graph

889 Commits

Author SHA1 Message Date
Mikhael Bogdanov 596dc68ea4 KT-4340: Jvm backend generates invalid synthetic accessor for private extension property 2014-04-01 11:18:15 +04:00
Natalia Ukhorskaya 4a79bfa16d Generate static accessors fro protected functions in different packages
#KT-4617 Fixed
2014-03-31 21:27:13 +04:00
Mikhael Bogdanov 5b5ecca12a Inline test: check that no any inline method is called directly 2014-03-31 20:04:23 +04:00
Mikhael Bogdanov 0d239a3e0e Moving local fun callee generation to CallReceiver 2014-03-31 20:04:10 +04:00
Mikhael Bogdanov 7dc662f613 Optimization for const closures: access it via GETSTATIC 2014-03-31 20:04:09 +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
Ilya Ryzhenkov 98c54f39bb Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Alexander Udalov 7d311cdfa0 Support named arguments for Java constructors annotated with KotlinSignature 2014-03-20 12:49:16 +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
Mikhael Bogdanov 001945cd12 Fix for duplicated fields in regenerated lambda 2014-03-19 11:41:05 +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
Mikhael Bogdanov 2dcc0bce46 Inline refactoring: more templates for captured fields
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Mikhael Bogdanov 7fb9de2654 Fix for "NoSuchFieldError: this$0$inlined" 2014-03-09 11:21:00 +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
Mikhael Bogdanov e54ece8d12 Field access chain update on lambda regeneration 2014-03-07 16:12:10 +04:00
Mikhael Bogdanov 4f5b20a8db Test framework for inline 2014-03-03 15:43:35 +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 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
Evgeny Gerashchenko 284124569d Fixed super signature generation when JetObject is explicit.
#KT-4485 fixed
2014-02-03 17:53:07 +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
Evgeny Gerashchenko abf352cebd KT-4485 getGenericInterfaces vs getInterfaces for kotlin classes
#KT-4485 fixed
2014-01-29 17:57:50 +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
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