Commit Graph

2174 Commits

Author SHA1 Message Date
Denis Zharkov fe9599d588 Removed codegen of Array-constructor with lambda 2014-12-11 16:04:04 +03:00
Denis Zharkov abbcf61183 JVM Backend: always inline callable containing reified TP 2014-12-11 16:04:02 +03:00
Stanislav Erokhin fc8cec9509 Create PRIVATE_TO_THIS visibility 2014-12-08 18:24:30 +03:00
Valentin Kipyatkov b8d1f115bf Renamed JetType.isNullable() to isMarkedNullable() 2014-12-03 21:36:10 +03:00
Alexander Udalov 9bd815126b Rename NameTable -> StringTable in serialization
Since almost the beginning, it was also used to store arbitrary strings, not
just names
2014-12-03 15:58:13 +03:00
Michael Bogdanov 328dedc415 Fix for KT-6383: Can't access a private static member of class object
#KT-6383 Fixed
2014-12-03 15:49:20 +03:00
Andrey Breslav 99ac9e1c2f Singleton made thread-safe in JavaToKotlinClassMap 2014-12-03 15:39:16 +03:00
Andrey Breslav c21dd366e0 Checks for primitive types and arrays made static in KotlinBuiltIns 2014-12-03 15:39:11 +03:00
Andrey Breslav b275b363c9 is<Annotation>() made static in KotlinBuiltIns 2014-12-03 15:39:11 +03:00
Stanislav Erokhin b55114055e Change usage "v == Visibilities.PRIVATE" to Visibilities.isPrivate(v) 2014-12-02 14:30:17 +03:00
Denis Zharkov 5d2792d68b Removed redundant call v.done() in ClosureCodegen
It should be called by super.done()
2014-12-01 22:31:54 +03:00
Denis Zharkov 669f5e7b87 Minor, removed Contract from deparenthesize
and added some asserts
2014-12-01 22:31:53 +03:00
Alexander Udalov 4d95bcfc7e Rename CharSequence.get to charAt
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence

 #KT-1730 Fixed
 #KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Denis Zharkov 3b2d0b88f3 Supported nested reified parameter declarations
Also switched to using type names as identifiers instead of their
indices
2014-11-27 15:15:04 +04:00
Denis Zharkov 080610c208 Wrap parentCodegen before generating from inline 2014-11-27 14:58:04 +04:00
Denis Zharkov 538a2172e5 Got rid of hack with stashing wereReified
1. Made ClosureCodegen extending MemberCodegen
2. Made ClosureContext extending ClassContext
2014-11-27 14:58:04 +04:00
Denis Zharkov ca27be87cc Minor, removed redundant argument
from ClassBodyCodegen.generateDeclaration
2014-11-27 13:49:18 +04:00
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