Commit Graph

2121 Commits

Author SHA1 Message Date
Denis Zharkov a689f6d243 Tracking if there is something to reify in members 2014-11-13 20:56:08 +03:00
Denis Zharkov d8e740d7a3 reifyInstructions returns Boolean whether there is something else to reify 2014-11-13 20:56:08 +03:00
Denis Zharkov 0087d861e1 Introduced new reified marker needClassReification
It's not parametrised by index
2014-11-13 20:56:08 +03:00
Denis Zharkov c19c7d0ec7 Store parameters' identifiers in ReifiedTypeParameterMappings 2014-11-13 20:56:07 +03:00
Denis Zharkov c18c67c993 Class signature reification 2014-11-13 20:56:07 +03:00
Denis Zharkov 6d6d6fadc1 Refactoring, unified closures generation 2014-11-13 20:56:07 +03:00
Denis Zharkov 45ca14345f Minor, replaced pattern of ArrayUtil.toStringArray 2014-11-13 20:56:07 +03:00
Denis Zharkov 74ca304931 Extracted buildClassReaderByInternalName into InlineCodegenUtil 2014-11-13 20:56:07 +03:00
Denis Zharkov fc1d8dd9ce javaClass<T> is supported for reified T 2014-11-13 20:56:06 +03:00
Denis Zharkov f3c49c605f Typecheck instructions are supported for reified T 2014-11-13 20:56:06 +03:00
Denis Zharkov 416ac7917b Removed old unused code emitting calls to non-existent methods 2014-11-13 20:56:06 +03:00
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