Commit Graph

2156 Commits

Author SHA1 Message Date
Alexander Udalov 1f68c94ce6 Fix several bugs in serialization of inner generic classes
- Interner was working incorrectly with parents
- nested classes were serialized in codegen out of any context

 #KT-5660 Fixed
2014-11-25 23:16:26 +03:00
Michael Bogdanov 8fc3a37989 Fix for KT-6312: Compiler crashes accessing inherited property of class object
#KT-6312 Fixed
2014-11-24 13:10:59 +03:00
Michael Bogdanov e2826a47e1 Remove "operation" method from StackValue.kt;
Compilation fix: remove static import to kotlin from AsmUtil
2014-11-21 13:59:44 +03:00
Michael Bogdanov 3a70992d27 Lazy intrinsic generation
#KT-6241 Fixed
2014-11-21 13:59:43 +03:00
Michael Bogdanov 4812564441 Intrinsic receiver parameter annotated with NotNull 2014-11-21 13:59:43 +03:00
Michael Bogdanov afceec427d Intrinsic arguments parameter annotated with NotNull 2014-11-21 13:59:43 +03:00
Michael Bogdanov 21d5785986 Inline StackValueWithSimpleReceiver utility constructor 2014-11-20 10:20:34 +03:00
Michael Bogdanov fad64faabb canHaveSideEffect rename 2014-11-20 10:20:33 +03:00
Michael Bogdanov d685921271 Review fixes 2014-11-20 10:20:33 +03:00
Michael Bogdanov ec649e83c3 Don't skip receiver with side effects on static calls
#KT-6278 Fixed
2014-11-20 10:20:33 +03:00
Michael Bogdanov 5a8944085a Fix default property setter generation 2014-11-20 10:20:32 +03:00
Michael Bogdanov 9bac3a8055 Support platform static in call receiver, keep side effect on skiped receiver generation 2014-11-20 10:20:32 +03:00
Michael Bogdanov 6b2272e422 Call receiver rewrote in lazy way 2014-11-20 10:20:32 +03:00
Michael Bogdanov 5412a67d29 Generate static backing fields for properties in object
#KT-4973 Fixed
2014-11-20 10:20:31 +03:00
Michael Bogdanov 37bb4ae984 Coercion fix 2014-11-20 10:20:14 +03:00
Michael Bogdanov c5d8f1faf5 Interface refs 2014-11-20 10:20:13 +03:00
Michael Bogdanov fe1c6a0ca6 Introduce LOCAL_0 constant and some code cleaning 2014-11-20 10:20:13 +03:00
Michael Bogdanov f00700b58d StackValue interface refactoring 2014-11-20 10:20:13 +03:00
Michael Bogdanov 434c094ba9 Get rid of lazy cast 2014-11-20 10:20:13 +03:00
Michael Bogdanov 4cb3d30e5b Added thiz constant in StackValue, some refactorings 2014-11-20 10:20:13 +03:00
Michael Bogdanov 62cb586397 Lazy receiver generation 2014-11-20 10:20:13 +03:00
Michael Bogdanov af998101b3 Fix for KT-4206: NoSuchFieldError with class objects
#KT-4206 Fixed
2014-11-20 10:20:12 +03:00
Michael Bogdanov 7d1fd47569 Rewrite local var increment optimization 2014-11-20 10:20:12 +03:00
Michael Bogdanov 425f0984c7 Get rid of store 2014-11-20 10:20:12 +03:00
Michael Bogdanov 855bf772ca Prefix inc refactoring 2014-11-20 10:20:12 +03:00
Michael Bogdanov c7b1c0fe52 Store refactoring
#KT-1213 Fixed
2014-11-20 10:20:11 +03:00
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