Commit Graph

2130 Commits

Author SHA1 Message Date
Alexey Sedunov a6479bfc90 Light Classes: Do not add "final" modifier to enum light classes 2014-11-18 13:24:56 +03:00
Nikolay Krasko 261d4293ae LTDA: Don't read CONSTRUCTOR slice in backend
Usages from DECLARATIONS_TO_DESCRIPTORS are left
2014-11-17 16:15:25 +03:00
Alexander Udalov 93696ff9bd Make Array.indices extension property, move to stdlib
This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
2014-11-17 15:20:44 +03:00
Alexander Udalov 128c938965 Make Array.size() a function instead of a property
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Denis Zharkov 73ca75cc0b Fixed wrong constructor arguments order 2014-11-13 20:56:10 +03:00
Denis Zharkov a8ca39754c Supported creating varargs of reified type parameter 2014-11-13 20:56:10 +03:00
Denis Zharkov 79c6f2b91b Introduced parametrised markers' set 2014-11-13 20:56:09 +03:00
Denis Zharkov f00689d7c7 Made closure const instance public
because it's usage may be inlined into different package
2014-11-13 20:56:08 +03:00
Denis Zharkov 21699e1753 Supported reification for anonymous objects and lambdas 2014-11-13 20:56:08 +03:00
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