Commit Graph

2183 Commits

Author SHA1 Message Date
Denis Zharkov 04e560bc74 Get reified signature from JetTypeMapper
#KT-6485 Fixed
2014-12-18 21:12:52 +03:00
Ilya Ryzhenkov be717f48f8 Stop using deprecated APIs 2014-12-16 17:33:24 +03:00
Andrey Breslav 120c344f11 Fix access to private static native functions 2014-12-16 16:23:35 +03:00
Andrey Breslav f9fea88749 PlatformStaticGenerator reworked to use FunctionCodegen.generateMethod() 2014-12-16 16:23:35 +03:00
Andrey Breslav 6596c6d943 Support native top-level functions 2014-12-16 16:23:33 +03:00
Andrey Breslav 27d403ee23 Make native class object members delegate to static methods in the outer class 2014-12-16 16:23:28 +03:00
Andrey Breslav d20651b881 Support native on [platformStatic] functions 2014-12-16 15:17:33 +03:00
Andrey Breslav cba6652c05 Simplistic support for native flag 2014-12-16 15:17:33 +03:00
Svetlana Isakova 5b4f10e698 Made vararg parameters have Array<out T> type
instead of simply Array<T>
  #KT-1638 Fixed
  #KT-2163 Fixed
  #KT-3213 Fixed
  #KT-4172 Fixed
  #KT-5534 Fixed
2014-12-12 23:08:28 +03:00
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