Commit Graph

2110 Commits

Author SHA1 Message Date
Denis Zharkov 4a66ab3627 Support generic array creation for reified inlined 2014-11-13 20:56:06 +03:00
Denis Zharkov 060c30746f Minor, extracted "kotlin/jvm/internal/Intrinsics" into IntrinsicMethods.INTRINSICS_CLASS_NAME 2014-11-13 20:56:06 +03:00
Natalia Ukhorskaya dab9411c5d Mark line numbers for bridges in closures 2014-11-13 09:47:10 +03:00
Natalia Ukhorskaya 0a97481184 Mark lineNumbers for synthetic accessors 2014-11-13 09:47:10 +03:00
Valentin Kipyatkov 5f5d2de5e0 Moved KindFilter and DescriptorKindExclude out of JetScope, moved constants as well and renamed them 2014-11-12 21:57:49 +03:00
Valentin Kipyatkov 95b3885aa5 Refactored filtering by descriptor kind so that no knowledge about SAM-constructors required in core 2014-11-12 21:25:02 +03:00
Valentin Kipyatkov fe5dbbf9b3 More efficient code completion + fixed a few bugs 2014-11-12 21:25:00 +03:00
Valentin Kipyatkov 6f2da4930a Descriptor kind filter replaced with bit mask 2014-11-12 21:24:59 +03:00
Valentin Kipyatkov 1983a9f3da Replaced usages of JetScope.getAllDescriptors() with JetScope.getDescriptors() (where makes sense) 2014-11-12 21:24:55 +03:00
Alexander Udalov b39d34ca8d Prepend zeros to SAM wrapper hash code
To make its length always 8 characters as is already done for package parts.
This fixes some test on incremental compilation because it relies that hashes
are eight characters long
2014-11-11 19:59:20 +03:00
Andrey Breslav 993c6d82c2 Minor. Formatting 2014-11-10 17:24:08 +02:00
Andrey Breslav 8dcd81e0b3 KT-6178 False "Overriden methods are not annotated" when using delegation
#KT-6178 Fixed
2014-11-10 17:24:07 +02:00
Andrey Breslav f16dcdd8a9 Do not annotate Kotlin members returning platform types as @Nullable
This leads to pointless warning in Java code
2014-11-10 17:24:06 +02:00
Alexander Udalov 70d0c2ff92 Generate generic signature to collection method stubs
#KT-6213 Fixed
2014-11-07 16:10:12 +03:00
Natalia Ukhorskaya d4b0977381 Debugger: stop at closing bracket for functions without return statement 2014-11-07 15:10:41 +03:00
Natalia Ukhorskaya 4eb93c06b1 Write line numbers for bridge methods (line for class header) 2014-11-06 16:21:52 +03:00
Natalia Ukhorskaya 0047655ed3 Debugger: fix stepping in when 2014-11-06 14:27:06 +03:00
Michael Bogdanov 221784b0f3 Mark linenumber on statement end 2014-11-06 11:48:50 +03:00
Valentin Kipyatkov c2a3fde969 Converted JetScope to Kotlin 2014-11-05 21:42:12 +03:00
Michael Bogdanov 8a9977de72 Fix for KT-6202: Redundant and wrong linenumber after if/else condition
#KT-6202 Fixed
2014-11-05 18:25:36 +03:00
Michael Bogdanov ad6afee53f Fix for KT-6196: ClassCastException on unit property initializer
#KT-6196 Fixed
2014-11-05 18:25:36 +03:00
Michael Bogdanov 59917f3727 Fix for KT-6154: Inlining a private class function accessing a private val member throws exception at runtime in accessing the val getter
#KT-6154 Fixed
2014-10-30 19:02:03 +03:00
Michael Bogdanov d0f6f03380 Fixes for call site finally generation before non-local returns 2014-10-28 19:15:00 +03:00
Michael Bogdanov dd8c3f0e49 Fixes for inline fun finally block generation before lambda non-local returns 2014-10-28 19:14:52 +03:00
Alexander Udalov 35e956609a Rewrite mutable collection stub method generation
The main problem of the previous approach was that we were only generating
erased method signatures, which was incorrect in case a class also had a member
from another supertype with the same signature as the substituted one from the
collection. Javac issues compilation errors when compiling Java code against
such classes.

Also all the needed method stub signatures were hardcoded in
generateBuiltInMethodStubs() and the case of MutableListIterator was missing
2014-10-27 17:17:31 +03:00
Natalia Ukhorskaya d9ac8155da Debugger: wrong stepping through the loop with continue label
#KT-5776 Fixed
 #KT-5664 Fixed
2014-10-24 15:59:39 +04:00
Nikolay Krasko ea69f5a9a6 Fix for KT-6106: Using platformStatic crashes intellisense (but not Compiler)
#KT-6106 Fixed
2014-10-24 10:04:43 +04:00
Michael Bogdanov b212fbd0b5 Remove empty try catch nodes from inlined code 2014-10-22 18:31:11 +04:00
Alexander Udalov fb5806f5fb Fix inheritance from mutable Java collections
Don't use CodegenUtil#getDeclaredFunctionByRawSignature because it's incorrect
in case of platform types. Instead use JetTypeMapper to find JVM signatures of
methods which are callable on the current class

 #KT-6042 Fixed
2014-10-22 10:51:14 +04:00
Andrey Breslav 7ed7f020d3 Generation of ++ and += fixed for platform types 2014-10-22 00:41:20 +04:00
Alexander Udalov 093dedcd85 Minor, don't call Type.getObjectType on array 2014-10-21 00:16:07 +04:00
Svetlana Isakova 4a1a95ea36 Rename: casted -> cast 2014-10-18 11:06:53 +04:00
Alexander Udalov 6ec71b3fd1 Generate lambdas in enum entry super calls
#KT-4423 Fixed
2014-10-17 21:27:22 +04:00
Alexander Udalov 1edaf43051 Fix Double and Float equality/hashCode in data classes
#KT-5818 Fixed
2014-10-17 21:27:22 +04:00
Denis Zharkov ec63394121 Check that boxing instruction is simple call
like T.valueOf(unboxType(T))

 #KT-6047 fixed
2014-10-17 01:22:25 +04:00
Alexander Udalov 159878e09d Pass correct outer instance in complex case of inheritance
#KT-5343 Fixed
2014-10-16 16:16:55 +04:00
Alexander Udalov 61674fb3d9 Don't put outer instance twice for anonymous object extending inner
#KT-5343 In Progress
2014-10-16 16:16:54 +04:00
Alexander Udalov 7315146753 Fix and refactor ExpressionCodegen#pushClosureOnStack
- change Closure parameter to ClassDescriptor, load closure in the beginning
- invert and rename boolean parameter, also use it only to prevent pushing
  dispatch receiver (not the extension receiver) onto the stack because the
  only non-trivial usage of it is preceded by manual handling of the dispatch
  (not extension) receiver. This fixes innerOfLocalCaptureExtensionReceiver.kt
2014-10-16 16:16:54 +04:00
Evgeny Gerashchenko 1a3750f31b Stabilized order of static accessors. 2014-10-15 20:38:16 +04:00
Evgeny Gerashchenko db45f4a062 Fixed hot swap when closure captures variables
Stabilized order of synthetic constructor parameters in anonymous class.

 #KT-5440 fixed
2014-10-15 20:33:17 +04:00
Andrey Breslav b1e452b568 type unescaped in *.kt files 2014-10-14 13:02:13 +04:00
Andrey Breslav 4a132599fd getAllOverriddenDescriptors() moved to DescriptorUtils 2014-10-13 15:38:22 +04:00
Andrey Breslav 5be4dda58b Unit obtained through a generic substitution should not be mapped to VOID 2014-10-13 15:38:14 +04:00
Andrey Breslav a737352b5d Assertions when approximating platform types in delegation by expression 2014-10-13 15:38:13 +04:00
Andrey Breslav f1c66fa6b0 Assertions on approximation of platform types to non-null types
- for most expressions (ExpressionCodegen.genQualified)
2014-10-13 15:38:13 +04:00
Andrey Breslav f5cc3e1a92 Use TypeUtils.isNullableType() in codegen 2014-10-13 15:38:02 +04:00
Michael Bogdanov 5abc2dac4e Generate labeled statements as statements 2014-10-13 11:31:15 +04:00
Michael Bogdanov 9d72036ba5 Fix for KT-5995: Labeled val causes an exception from the back-end
#KT-5995 Fixed
2014-10-13 11:30:28 +04:00
Michael Bogdanov 605c9f48b4 Added inline annotation check on local funs 2014-10-11 13:53:43 +04:00
Michael Bogdanov 2a1520228e Support inheritance from java 8 interfaces
#KT-5969 In Progress
2014-10-11 13:53:43 +04:00