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
Michael Bogdanov
033698c51d
Added crossinline field to MethodContext
2015-12-17 09:50:54 +03:00
Alexander Udalov
dc84445e2e
Inherit KProperty interfaces from function types
...
To be able to write the following: listOfStrings.map(String::length)
2015-12-16 19:48:28 +03:00
Mikhail Glukhikh
f25f0db10e
Fixed long / double / float value merge in OptimizationBasicInterpreter #KT-7401 Fixed
2015-12-16 17:45:38 +03:00
Stanislav Erokhin
c725ed47f5
Replaced ReceiverValue.NO_RECEIVER to null.
2015-12-15 23:09:20 +03:00
Stanislav Erokhin
3692318c38
Minor. Removed ReceiverValue.IRRELEVANT_RECEIVER.
2015-12-15 23:08:41 +03:00
Denis Zharkov
154657a374
Fix wildcards for invariant arguments
...
See test with Java, we want preserve the invariant that if return type and
value parameter types are same in Kotlin, than we can use such return-value
as argument for that parameter
2015-12-15 16:18:31 +03:00
Ilya Gorbunov
ae3135c770
For migration: Make an option "Xmultifile-facades-open" for compiler to generate open multifile facade classes.
2015-12-14 03:49:51 +03:00
Alexander Udalov
477e25ae2f
Remove Intrinsic annotation from *arrayOf functions
2015-12-14 03:49:41 +03:00
Michael Bogdanov
39d9b35e27
Force resolve companion in light class generation
2015-12-12 11:41:37 +03:00
Michael Bogdanov
a849f3f5d4
Fixed filtering error
2015-12-12 11:41:37 +03:00
Michael Bogdanov
4ad113d836
Removed redundant check
2015-12-12 11:41:36 +03:00
Michael Bogdanov
7c7786f7d0
Generate private methods in TraitImpl as private, don't generate delegation to private trait methods
2015-12-12 11:41:36 +03:00
Michael Bogdanov
a2d644f708
Fix for KT-9958: NoSuchMethodError when we call protected method from companion object
...
#KT-9958 Fixed
2015-12-12 11:41:35 +03:00
Michael Bogdanov
a7eea6e4dd
Get rid of NeedSyntheticChecker
2015-12-12 11:41:35 +03:00
Denis Zharkov
871fe7680b
Load special override as HIDDEN in case of signature clash
...
#KT-10151 Fixed
2015-12-11 22:41:03 +03:00
Denis Zharkov
417ff281ee
Split getOverriddenBuiltinWithJvmDescriptor into two extensions
2015-12-11 22:41:02 +03:00
Michael Bogdanov
b950bf0e6e
Fix for KT-10259: Proguard can't find generated lambda class of lambda nested inside object?.let lambda
...
#Fixed KT-10259
2015-12-11 16:14:59 +03:00
Michael Bogdanov
9452c200a0
Keep typeRemapper in inlining context instead of hashMap for transformed types
2015-12-11 16:14:58 +03:00
Dmitry Jemerov
009e3f9cd7
rename PSI classes according to current terminology:
...
KtMultiDeclaration(Entry) -> KtDestructuringDeclaration(Entry)
KtFunctionLiteralExpression -> KtLambdaExpression
KtFunctionLiteralArgument -> KtLambdaArgument
KtDelegationSpecifierList -> KtSuperTypeList
KtDelegationSpecifier -> KtSuperTypeListEntry
KtDelegatorToSuperClass -> KtSuperTypeEntry
KtDelegatorToSuperCall -> KtSuperTypeCallEntry
KtDelegationByExpressionSpecifier ->KtDelegatedSuperTypeEntry
2015-12-10 16:15:13 +01:00
Pavel V. Talanov
fb19552920
Mark enum entries that are deprecated in Kotlin as deprecated in bytecode
2015-12-10 11:12:22 +03:00
Mikhail Glukhikh
9a4eb2a368
Refactoring: ClassDescriptor.isFinal, no more Modality.isOverridable
2015-12-09 19:27:47 +03:00
Dmitry Petrov
2fcb7e532b
KT-1934: Fixing synthetic accessors hierarchy
2015-12-09 17:43:47 +03:00
Stanislav Erokhin
11c86405bf
Fix ClassKind for Serializable and change ClassKind to INTERFACE for error classes.
2015-12-08 00:16:16 +03:00
Zalim Bashorov
1e0b133e19
Find Nothing only in own arguments of generic type to make type raw and generate ''?" for contravariant position instead of use raw type
2015-12-07 19:25:59 +03:00
Denis Zharkov
9c73502bdc
Partially revert "Fix project source to overcome bootstrap problem"
...
Adjust code to new generic signatures generated by Kotlin compiler
This reverts commit 0fd2484bc9 .
2015-12-04 10:19:48 +03:00
Michael Bogdanov
4b8017e34b
Fix for KT-7999: Wrong result when use nullable types as reified parameter, KT-8043: Unsafe cast to reified parameter throws NPE instead of TypeCastException
...
#KT-7999 Fixed
#KT-8043 Fixed
~
2015-12-03 15:09:54 +03:00