Commit Graph

2938 Commits

Author SHA1 Message Date
Alexander Udalov b5f89100f6 Remove obsolete SCRIPT markers 2015-10-30 23:41:32 +03:00
Michael Bogdanov 7ee42ab18d Fix for KT-9828: DX error on MutableMap.MutableEntry<String, Int> deconstruction: attempt to set or access a value of type java.lang.Object using a local variable of type int.
#KT-9828 Fixed
2015-10-30 16:47:21 +03:00
Michael Bogdanov f3092bf390 Fix for KT-9637: Runtime crash when using class literal in inline functions with reified type parameters
#KT-9637 Fixed
2015-10-30 09:39:10 +03:00
Michael Bogdanov 34fccc6dae Fix for KT-6990: inline reified doesn't inline call in some cases
#KT-6990 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov 33bf314518 Fix for KT-6552 IllegalAccessError in inline function with "when" over enum across modules
#KT-6552 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov 9e5af43ce1 Fix for KT-9788: AssertionError from back-end when we read field from inline function
#KT-9788 Fixed
2015-10-30 09:39:08 +03:00
Alexander Udalov 5677ff60e7 Move/inline stuff from DescriptorUtils to other modules 2015-10-29 21:16:06 +03:00
Denis Zharkov 5755af6b27 Remove wrong condition part: there could be irrelevant overrides from Kotlin 2015-10-29 21:05:52 +03:00
Denis Zharkov 291f0e57d1 Introduce FunctionDescriptor.initialSignatureDescriptor
Mostly it's needed for backend to extract descriptor with initial signature

For example:
class A implements CharSequence {
        char charAt(int index) {}
}

We see `charAt` this method as `fun get(index: Int): Char`, but in backend it
matters what signature had this descriptor before.
2015-10-29 21:05:51 +03:00
Alexander Udalov 925b0e567e Minor, delete leftovers from package part refactorings 2015-10-28 21:51:19 +03:00
Alexander Udalov 996c14d071 Use representative upper bound in JetTypeMapper instead of just the first 2015-10-28 19:11:59 +03:00
Alexander Udalov 1ce5f8458c Extract ClassMapperLite, add enlightening comment 2015-10-28 19:11:55 +03:00
Mikhail Glukhikh f8a70302ac Cleanup: get rid of effective visibility warnings 2015-10-28 14:31:51 +03:00
Michael Bogdanov f3e6fab68e Fix for KT-4250: IllegalAccessError when using protected java member from lambda function
#KT-4250 Fixed
2015-10-28 11:57:21 +03:00
Michael Bogdanov 0a70c80af3 Substitute superClassExpression with superCallClass in synthetic accessors 2015-10-28 11:57:20 +03:00
Stanislav Erokhin ff00bde607 Removed dispatch receiver parameter for SyntheticFieldDescriptor 2015-10-27 15:36:38 +03:00
Michael Bogdanov b0efcec392 Fix for KT-9711: Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
#KT-9711 Fixed
2015-10-27 13:22:07 +03:00
Dmitry Petrov 882827bf04 KT-9717, KT-9603:
pass getter/setter-related flags to AccessorForPropertyDescriptor
2015-10-27 12:02:27 +03:00
Michael Nedzelsky 63f84fc60e fix KT-9733 No error shown for 2 "main" functions in the same file
#KT-9733 Fixed
2015-10-26 21:30:24 +03:00
Alexander Udalov a97567ea0c Optimize KProperty objects for delegated properties
Don't generate anonymous classes with a lot of methods because this hurts
Android. Add special classes to the runtime instead (also add
FunctionReferenceImpl, to be used later) and just create their instances in the
static initializer of each class
2015-10-26 21:02:34 +03:00
Yan Zhulanow 2d1a7163a3 Minor: changes on review 2015-10-26 20:38:41 +03:00
Yan Zhulanow 3475b4796f Do not generate DefaultImpls if empty 2015-10-26 20:37:31 +03:00
Yan Zhulanow 2a28baa154 Remove ACC_STATIC from DefaultImpls 2015-10-26 20:37:29 +03:00
Alexey Tsvetkov 0a69cca066 Box primitive types in position of generic receiver
#KT-9469 fixed
2015-10-26 18:36:59 +03:00
Mikhail Glukhikh 4b6cb3ebce A new kind of synthetic accessors for backing fields, if accessed inside lambda / object literal / local class #KT-9657 Fixed
A set of tests provided
Also #KT-4867 Fixed
Also #KT-8750 Fixed
Slight codegen refactoring
2015-10-26 16:37:32 +03:00
Dmitry Petrov ccad435850 KT-9644: override default behavior for non-local return in FixStackAnalyzer 2015-10-26 15:56:57 +03:00
Mikhail Glukhikh 994feafd6e Lookup fixed to search for SyntheticFieldDescriptor inside MethodContext 2015-10-26 13:36:34 +03:00
Michael Bogdanov 18f3eb87e4 INSTANCE field deprecated in companion object
Fix for KT-9692: Deadlock between <clinit> of a class (KtSimpleNameExpressionImpl) and <clinit> of its companion object

 #KT-9692 Fixed
2015-10-23 17:39:27 +03:00
Michael Bogdanov a7b3c70d21 Fix for KT-7017: Reified type referenced in object literal crashes at runtime
#KT-7017 Fixed
2015-10-22 16:06:13 +03:00
Denis Zharkov 8db206e7ff Take into account irrelevant implementation of special builtins 2015-10-21 17:51:43 +03:00
Denis Zharkov d674aa1427 Refine signature mapping for special overrrides from Java
They have special JVM descriptor only when they are not inherited from
Kotlin super class
2015-10-21 17:51:43 +03:00
Denis Zharkov e31f751830 Minor. Move hasRealKotlinSuperClassWithOverrideOf to descriptor.loader.java 2015-10-21 17:51:43 +03:00
Denis Zharkov 0b3118554b Extract hasRealKotlinSuperClassWithOverrideOf and simplify needGenerateSpecialBridge
Temporary don't mind that some element `reachableDeclarations` is
final in Java because it's anyway follows that function descriptor itself is final.
2015-10-21 17:51:43 +03:00
Michael Bogdanov 55d2300860 Fix for KT-6722
#KT-6722 Fixed
2015-10-21 17:12:17 +03:00
Michael Bogdanov f4d3ecf8e6 Generate public constructor for anonymous objects if it inside inline fun
#KT-9331 Fixed
2015-10-21 17:12:17 +03:00
Mikhail Glukhikh d6988ad69e Get rid of FIELD_IDENTIFIER at syntax level, two errors dropped, a set of tests fixed / deleted #KT-9539 Fixed 2015-10-21 16:36:55 +03:00
Michael Bogdanov d977d29ec4 Support access to companion private members from nested classes
#KT-5363 Fixed
  #KT-6804 Fixed
2015-10-20 19:19:41 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Michael Bogdanov d054c6bf6a Stable element order in redeclaration diagnostic 2015-10-20 13:25:27 +03:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Alexander Udalov 1c280c96b6 Set binary version to 1.0.0 2015-10-19 22:12:39 +03:00
Alexey Tsvetkov 3476bed18a Drop @native from stdlib 2015-10-19 21:32:24 +03:00
Alexey Tsvetkov e9e42b0251 Code cleanup 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov 3cd85a25e4 Generate ACC_NATIVE for external 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov c50aab6a75 Add modifier flags to descriptors 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov f2c69e56d2 Remove @annotation from stdlib and compiler 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov ec57d3f144 Remove @data from stdlib and compiler 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov 264bd5235b Add isData() to ClassDescriptor 2015-10-19 20:45:00 +03:00
Michael Bogdanov c8c3e88c82 Make top-level property backing field private in bytecode 2015-10-19 19:09:30 +03:00
Dmitry Petrov dda508234f Drop package facades:
- update tests
- cleanup JetTyMapper after rebase
2015-10-19 16:03:22 +03:00