Mikhail Glukhikh
b78d481bb1
delegate use-site targeted annotations: parser, front-end, codegen with some tests #KT-10502 Fixed
2016-01-19 11:38:41 +03:00
Alexander Udalov
d50a531934
Slightly improve bytecode version check during inline
...
Add class name to the exception message and provide a system property to
disable the check
2016-01-17 16:28:22 +03:00
Michael Bogdanov
7eec1d8e1d
Skip inline lambdas in 'InlineCallSite' parameter calculation; Fix for KT-10679: Wrong outer after inline
...
#KT-10679 Fixed
2016-01-15 18:24:33 +03:00
Michael Bogdanov
9b3d97470f
Prohibit super calls with default parameters
2016-01-15 17:50:48 +03:00
Denis Zharkov
be2f857670
Introduce inline-only functions
...
They have private visibility in bytecode
2016-01-15 09:46:30 +03:00
Denis Zharkov
23d2b87a52
Ignore redundant projections for declaration-site variance
2016-01-14 19:20:00 +03:00
Michael Bogdanov
607f32615f
Type uncapturing
2016-01-14 15:32:50 +03:00
Denis Zharkov
b8c79e689b
Make all nested inlined closure classes public
...
#KT-6987 Fixed
2016-01-13 19:41:59 +03:00
Michael Bogdanov
66ab1c484c
StackOverflow fix on type remapping
2016-01-13 16:57:36 +03:00
Michael Bogdanov
657b9ff808
Write enclosing method info for transformed objects
2016-01-12 15:51:57 +03:00
Michael Bogdanov
8ab1190082
Don't try remap type parameter of inline lambda parent context
2016-01-12 15:51:57 +03:00
Michael Bogdanov
fee6d4f282
Type parameters mapping
...
#KT-10429 Fixed
2016-01-12 15:51:56 +03:00
Michael Bogdanov
5cdf170511
TypeRemapper.java -> TypeRemapper.kt
2016-01-12 15:51:56 +03:00
Michael Bogdanov
cb41f1cc2a
Signature remapping moved to RemappingSignatureAdapter inside TypeRemapper
2016-01-12 15:51:55 +03:00
Michael Bogdanov
dd336a5581
ReifiedTypeParameterMappings renamed to TypeParameterMappings, add isReified property
2016-01-12 15:51:55 +03:00
Michael Bogdanov
0274ce4619
Always generate ACC_SUPER flag for all classes; Fix for KT-10260: java.lang.VerifyError in Android 4.x when Instant Run is used
...
#KT-10260 Fixed
2016-01-11 09:55:56 +03:00
Dmitry Jemerov
117a0d8b7b
compiler: cleanup 'public', property access syntax
2016-01-07 17:57:38 +01:00
Dmitry Petrov
b736880787
KT-6646, KT-10482:
...
when a method (or a property getter) returns Nothing, emit
ACONST_NULL
ATHROW
after a call so that class files verifier knows that this is an exit point in a method.
Note that if an inline method returning Nothing throws an exception explicitly
(or via a chain of inline methods), this code will be deleted by DCE.
2015-12-31 11:07:56 +03:00
Ilya Gorbunov
80916d5ed7
Cleanup in compiler modules
2015-12-29 18:04:15 +03:00
Ilya Gorbunov
b71b336a69
Fix fq names of moved facade classes in imports and other code occurrences
2015-12-29 18:04:13 +03:00
Michael Bogdanov
e671d05105
Companion public val annotated with @JvmFIeld or const
2015-12-29 16:45:23 +03:00
Michael Bogdanov
e116cc3206
Private visibility for non-const, non-jvmField class companion property backing field
2015-12-29 16:45:22 +03:00
Michael Bogdanov
85ae0cb78e
Restrict companion properties copying to interface by const
2015-12-29 16:45:22 +03:00
Pavel V. Talanov
06e829936e
Fix codegen predictor for properties and property accessors
2015-12-29 12:32:14 +03:00
Denis Zharkov
d511059cfa
Unify code generation of as/is operation
...
They should be the same for common and reified cases
2015-12-28 18:32:15 +03:00
Denis Zharkov
da53d8cbf4
Replace reified operations instanceof/checkcast with is/as
...
It's more consistent with how they effectively work
2015-12-28 18:31:40 +03:00
Denis Zharkov
87b6374351
Get rid of redundant intrinsic
...
Also drop 'safe' parameter from TypeIntrinsics.checkcast,
because it's supposed to work as JVM checkcast (i.e. accepting nulls)
2015-12-28 18:31:40 +03:00
Denis Zharkov
39bbd7c795
Rework reified markers format
...
Use integer operation identifier instead of method name to differentiate
reified operations
2015-12-28 18:31:40 +03:00
Mikhail Glukhikh
7d6ccc40c2
Implicit exhaustive whens now have exception in else branch #KT-8700 Fixed
2015-12-26 10:46:39 +03:00
Alexander Udalov
3513a64351
Move utilities about companion property fields to JvmAbi
...
To reuse that logic in reflection
2015-12-25 20:16:18 +03:00
Alexander Udalov
0685f06200
Drop outdated stuff from metadata annotations
...
Make KotlinLocalClass and KotlinInterfaceDefaultImpls not retained at runtime,
to be maybe deleted in the future
2015-12-25 20:16:18 +03:00
Alexander Udalov
0ecf04dcc5
Drop KotlinDelegatedMethod, simplify related code in codegen
2015-12-25 20:16:18 +03:00
Alexander Udalov
39c10867a0
Drop 'index' JVM binary format extension
...
Compute the JVM parameer index manually instead
2015-12-25 20:16:18 +03:00
Alexander Udalov
8dc604ac8b
Drop compatibility flag, suppressing optimized generation of callable references
2015-12-25 20:16:18 +03:00
Alexander Udalov
64b48f4458
Drop compatibility flag, suppressing optimized generation of delegated property metadata
2015-12-25 20:16:18 +03:00
Alexander Udalov
dc6a176282
Drop old JVM binary format extensions: static in outer, impl class name
2015-12-25 20:16:18 +03:00
Michael Bogdanov
f870e365fa
Removed accessors for const properties
2015-12-25 11:28:10 +03:00
Michael Bogdanov
b4db23a7b3
Removed 'INSTANCE' field from companions
2015-12-24 13:59:45 +03:00
Michael Bogdanov
2e73559f33
Removed 'INSTANCE$' field generation
2015-12-24 13:59:44 +03:00
Michael Bogdanov
aeb6486473
Deprecated 'INSTANCE$' replaced with 'INSTANCE'
2015-12-24 13:59:43 +03:00
Mikhail Glukhikh
6b8b39a7bd
Intersection types are no more allowed in signatures #KT-10244 Fixed
2015-12-23 18:04:21 +03:00
Mikhail Glukhikh
f56dc722d9
Lateinit property backing field now inherits visibility from the property setter
2015-12-23 18:02:20 +03:00
Alexander Udalov
e67318e049
Minor, add DescriptorUtils.isClassOrEnumClass
2015-12-23 16:45:26 +03:00
Alexander Udalov
745de229cc
Minor, split IMPL_CLASS_NAME_FOR_CALLABLE to two slices
2015-12-23 16:45:26 +03:00
Alexander Udalov
97ce61ac44
Throw exception on inlining bytecode of version > 1.6
...
To prevent ASM from failing with a meaningless exception in this case as soon
as we support target 1.8 and someone tries to compile some code with the
current compiler against the new (1.8) code.
2015-12-21 20:38:18 +03:00
Alexander Udalov
c10cc30f40
Drop kotlin.jvm.internal.Intrinsic, use only one mechanism for intrinsics
2015-12-21 20:28:40 +03:00
Stanislav Erokhin
bcaa755c4e
Fix compilation.
...
- rename isFinal extension property to avoid ambiguity with synthetic property in DeserializedClassTypeConstructor
- add explicit parameter to lambda File.listFiles
- return true from lambda Query.forEach
2015-12-18 22:49:26 +03:00
Michael Bogdanov
7a1d789e9a
Added InliningLambdaContext
2015-12-17 09:52:28 +03:00
Michael Bogdanov
ebbc68dfae
isInlineFunction renamed to isInlineMethodContext
2015-12-17 09:52:27 +03:00
Michael Bogdanov
9cad1a912a
Choose proper context for accessor generation: skip inline ones; Fix for KT-6102: Bypass synthetic accessor when inlining lambda which calls private member
...
#KT-6102 Fixed
2015-12-17 09:51:41 +03:00