Michael Bogdanov
b8ee2ecdac
Support extension lambda inlining in complex stack cases (nullable receiver)
2016-02-09 10:19:15 +03:00
Denis Zharkov
c879f83037
Fix primitive types mapping
...
Use boxed version if type was enhaced to not-nullable
2016-02-08 16:40:47 +03:00
Denis Zharkov
18e7272a1e
Do not force overridden descriptors computation
...
Currently 'overriddenDescriptors' of substituted function is lazy
and in most cases it's unnecessary to compute it
(it's enough to use the same field from 'original')
2016-02-08 16:40:47 +03:00
Denis Zharkov
fae6de9acd
Replace 'addOverriddenDescriptor' with 'setOverriddenDescriptors'
...
It helps to get rid of redundant SmartSets (e.g. for top-level functions)
2016-02-08 16:40:47 +03:00
Michael Bogdanov
848549dd5d
Rollback "Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference"
2016-02-08 16:43:22 +03:00
Pavel V. Talanov
9e5c387d6c
PropertyCodegen: Diagnose descriptor not found for property
2016-02-08 16:18:36 +03:00
Alexander Udalov
2f5a6ac465
Minor, add extra constant to JvmAnnotationNames, drop unneeded utility
2016-02-06 15:53:55 +05:30
Alexander Udalov
5de1cf3bb4
Do not write old metadata annotations to bytecode
2016-02-06 15:53:55 +05:30
Denis Zharkov
0efe28a12a
Do not inline non-const vals
...
#KT-10425 Fixed
2016-02-05 17:43:55 +03:00
Michael Bogdanov
bc2077bfaf
More wise lambda search during inlining
2016-02-05 15:42:46 +03:00
Denis Zharkov
16f412f993
Generate multi-files facade even if it's empty
...
It still contains useful information about it's parts,
that may be used while building stubs for multi-file group
containing only InlineOnly functions
2016-02-05 15:02:24 +03:00
Denis Zharkov
889b136a68
Refine multi-file facades generation
...
Do not generate delegation from multi-file facade to inline-only functions
because they are effectively private in bytecode
#KT-10858 Fixed
2016-02-05 15:02:24 +03:00
Dmitry Petrov
b5145ea68b
Use implementation part class for SMAP generation when inlining function both from binaries and sources.
2016-02-04 10:17:30 +03:00
Michael Bogdanov
71c2a6e792
Generate package private visibility in bytecode for private classes
2016-02-03 10:32:41 +03:00
Dmitry Petrov
bad8320038
Fix for KT-10881 Declaring constant in a mutlifile class causes an IllegalAccessError on its usage.
...
Generate fields for 'const' properties in facade class.
NB reading annotations for 'const' vals in multifile class doesn't work, KT-10892.
2016-02-02 15:06:21 +03:00
Dmitry Jemerov
970d6f6834
generate local variables table for @JvmOverloads-generated methods
...
#KT-7319 Fixed
2016-02-02 12:11:51 +01:00
Ilya Gorbunov
3ae4c033b6
Wrap exceptions thrown by class builders and add details about class file being generated.
2016-02-01 19:59:06 +03:00
Michael Bogdanov
5f38c1d571
Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error
2016-02-01 18:42:19 +03:00
Michael Bogdanov
328b9bfeda
Removed old default generation
2016-02-01 18:32:12 +03:00
Mikhail Glukhikh
84100abd9e
Annotations on object literals are now correctly resolved #KT-9320 Fixed
2016-02-01 16:24:57 +03:00
Denis Zharkov
36f21932bb
Approximate captured type before mapping
...
#KT-7415 Fixed
2016-01-29 14:36:53 +03:00
Michael Bogdanov
c9cc9c55cd
Added assertion for super call with default arguments in function default impl body
2016-01-29 11:02:21 +03:00
Michael Bogdanov
dc2cb401ad
KT-10670: Debugger: Evaluate Expression/Watches fail for inline function parameter initialized with default value
...
#KT-10670 Fixed
2016-01-28 14:23:24 +03:00
Michael Bogdanov
d4df7aaabc
Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference
...
#KT-10659 Fixed
2016-01-28 14:23:24 +03:00
Alexander Udalov
70e847b794
Reimplement generation of intrinsic array constructors
...
Instead of relying on a class from the runtime (which thus cannot be deleted
from the runtime ever), rely on a class from the compiler instead. This has a
minor downside: that class is compiled by the bootstrap compiler, so if codegen
of 'for'-loops or something else used in that class changes, it won't
immediately have an effect on a local working copy (on the build server
everything will be fine because of a 2-step building process).
In the future it may make sense to just manually create all the bytecode
instructions and dump them into a MethodNode. Currently the amount of work
needed for that seems rather significant
2016-01-28 03:10:39 +03:00
Alexander Udalov
0e11aa098f
Minor, prettify Kotlin code in source maps
2016-01-28 03:10:39 +03:00
Alexander Udalov
04026dbe84
Make Array<T>(size, init) a constructor of Array
...
It's not marked as inline, this is why 'crossinline' was added in
jaggedArray.kt/jaggedDeep.kt. Will be fixed in the following commits
2016-01-28 03:10:37 +03:00
Alexander Udalov
9e8b6571f4
Make primitive array factory functions constructors
2016-01-28 03:10:19 +03:00
Ilya Gorbunov
744a7a83f7
Cleanup RC deprecations in compiler and plugin.
2016-01-27 18:34:30 +03:00
Michael Bogdanov
874560df9d
Fix for KT-10715: Verify error on incrementing backing field from accessor
2016-01-25 16:56:57 +03:00
Michael Bogdanov
cf09949354
Fix for KT-10590: IllegalAccessError when protected getter of Java base class is accessed from lambda using property access syntax
2016-01-25 16:56:56 +03:00
Michael Bogdanov
a76d16931c
Temporary generate old default method
2016-01-22 10:10:32 +03:00
Michael Bogdanov
829978a37d
Added additional parameter for default methods
2016-01-22 10:10:32 +03:00
Ilya Gorbunov
4d5ec9be3f
Drop identityEquals from builtins, compiler and tests.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
91f4cf0ebc
Drop Progression<T> and its deprecated properties: start, end, increment.
...
Drop deprecated range extensions.
Make progression constructors private.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
346291af7b
Use fq-names from KotlinBuiltins.FQ_NAMES instead of hardcoded ones.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
9c0f0cad70
Packages: move collections to kotlin.collections.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
9fbbc9db98
Packages: move Ranges, Progression, ProgressionIterators to kotlin.ranges and PrimitiveIterators to kotlin.collections.
2016-01-22 05:54:38 +03:00
Michael Bogdanov
bf16783fb7
Fix for KT-9591: Exception on inlining
...
#KT-9591 Fixed
2016-01-21 18:44:05 +03:00
Denis Zharkov
ba506170e9
Use 'mapToCallableMethod' for delegateTo signature calculation
...
#KT-9707 Fixed
2016-01-21 11:24:23 +03:00
Valentin Kipyatkov
3a7ed33de1
KT-10747 "Incompatible stack heights" when compiling call to Java setter with non-void return type using property syntax
...
#KT-10747 Fixed
2016-01-21 10:48:47 +03:00
Michael Bogdanov
23480a5698
Supported inline of array convention simple cases; Fix for KT-9211: M13 an extension function that is inline, and for get(v) causes an exception when called using brackets
...
#KT-9211 Fixed
2016-01-20 17:33:50 +03:00
Michael Bogdanov
84dbdf2ccb
Get rid of ValueParameterDescriptor in 'afterParameterPut' fun
2016-01-20 17:33:49 +03:00
Denis Zharkov
06fbc9bdd3
Support reification of arrays containing reified parameters
...
#KT-10555 Fixed
2016-01-20 14:27:53 +03:00
Alexander Udalov
9620893fa4
Drop synthetic class kind Function, drop Metadata#xi
2016-01-19 18:39:59 +03:00
Alexander Udalov
aef6d49b48
Drop isLocalClass, do not write KotlinLocalClass
2016-01-19 18:39:59 +03:00
Alexander Udalov
e17cd12c3c
Report error on generating calls to binary incompatible classes
2016-01-19 18:39:59 +03:00
Alexander Udalov
a4daa08e5c
Write module name as proto extension instead of another annotation argument
2016-01-19 18:39:59 +03:00
Alexander Udalov
e37bd4eba6
Do not write and read KotlinInterfaceDefaultImpls
...
This was only used in InlineTestUtil.kt and had no effect in the condition
2016-01-19 18:39:59 +03:00
Alexander Udalov
59dab0a558
Combine all metadata annotations into one kotlin/Metadata
2016-01-19 18:39:59 +03:00