Commit Graph

1082 Commits

Author SHA1 Message Date
Andrey Breslav ec33f90f89 Rename getQualifiedName() -> getFqName() 2013-02-19 18:52:12 +04:00
Mikhael Bogdanov 1b2da6b558 Write proper enclosingMethod/enclosingClass information to bytecode 2013-02-19 17:56:55 +04:00
Andrey Breslav afd764c27f Implementations of descriptors moved to a separate package 2013-02-19 14:32:06 +04:00
Alexey Sedunov 1f8d42ab49 Fix nullability check (in case of explicitly nullable types constructed from ype variables) 2013-02-13 18:23:37 +04:00
Evgeny Gerashchenko 4043491ad2 Got rid of code duplication. 2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko b66025811f Merged after body and after leave variable tasks. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko 64c89836fd KT-933 Optimized iteration over progressions.
#KT-933 fixed
2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko 14f3144533 Generating map instead of initializing manually. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko 522530ec4a Extracted util method. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko db6fb43d22 Removed unused enum. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko 80b21524f4 Optimized iteration over primitive range expression. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko 44e14c0a1c Extracted super class. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko b5f820cf69 Prepared for extracting superclass. 2013-02-13 18:08:35 +04:00
Evgeny Gerashchenko ab99856c16 Got rid of calculating element type twice. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko ca344d93cd Got rid of super calls. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko cc2930b0b6 Got rid of stupid reassigning when iterating ranges. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko e1bc78da72 Simplified scheduling leaving temp variables: added create method. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko fd97bbcbd5 Simplified afterLoop(): no overriding. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko d6bc5a8782 Added util methods. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko da48a11374 Creating loop parameter var once. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko 83fa1e95e6 Extracted field (instead of passing parameter. 2013-02-13 18:08:34 +04:00
Evgeny Gerashchenko c753ac06b1 KT-2707 Optimize for loops for range literals
#KT-2707
2013-02-13 18:08:33 +04:00
Mikhael Bogdanov c61c8d7fa0 Compilation Exception - remove duplicated this on stack
#KT-3114 Fixed
2013-02-11 15:19:49 +04:00
Alexander Udalov 83b93071d3 Fix over-optimized comparison with null 2013-02-11 02:01:39 +04:00
max-kammerer 843991083d For namespaces with multiple files keep 'Compiled from' information empty 2013-02-07 18:00:53 +04:00
Natalia.Ukhorskaya 11273f3035 Implement package protected visibility 2013-02-06 21:54:19 +04:00
Alexander Udalov 64bc79aaac Fix safe calls codegen for nullable generic 2013-02-06 17:54:30 +04:00
Alexander Udalov 433660b2ce Fix codegen of !! for nullable generics 2013-02-06 17:54:29 +04:00
Alexander Udalov 75f09b7527 Fix codegen of as-casts for nullable generics 2013-02-06 17:54:28 +04:00
Alexander Udalov 70f67c7993 Fix elvis expression in case of nullable generic 2013-02-06 17:54:27 +04:00
Alexander Udalov 8697adb28a Fix generic data class hashCode for null
Null may come from everywhere, so we always check for it (when the property's
type is not primitive)
2013-02-06 17:54:26 +04:00
Alexander Udalov 1021ec5ff4 Add Intrinsics.areEqual()
It's more safe, short and less error-prone (especially w.r.t. nullability of
generic types)
2013-02-06 17:54:26 +04:00
Alexander Udalov 1f4dd8cd33 Add CodegenUtil.isNullableType(), fix assertions
JetType.isNullable() is not accurate when the type denotes a type parameter:
a parameter can be not null (isNullable=false), but its upper bound can be
nullable (<T: Any?>), so null may appear in the value of such type. Therefore
it's preferred to use a special check (isNullableType()) in codegen from now on

Do not generate assertion for parameters of not-null types which have a
nullable upper bound + the same with Java method calls

Also fix Intrinsics class internal name in tests

 #KT-3313 Fixed
2013-02-05 21:52:29 +04:00
Andrey Breslav 2ae3dad92f Extract interface: PropertySetterDescriptor 2013-02-05 20:48:18 +04:00
Andrey Breslav d8258ef9fb Extract interface: PropertyGetterDescriptor 2013-02-05 20:47:56 +04:00
Alexander Udalov 8eb6047972 Fix assertions generation for substituted members 2013-02-05 16:26:56 +04:00
Andrey Breslav 4b96911b37 @NotNull for parameter of substitute() 2013-02-04 21:25:18 +04:00
Andrey Breslav 21eef960b5 Extract PropertyDescriptor interface 2013-02-04 21:22:54 +04:00
Alexander Udalov 4ca522bf0e Fix codegen of do-while condition
The condition of a do-while loop can use variables declared in the loop
(variables can only be declared inside a block). Previously this behaviour
caused crash because after the block was generated, all variables declared
inside that block were gone from myFrameMap

 #KT-3280 Fixed
2013-02-04 15:30:38 +04:00
Andrey Breslav 79e27f2d90 Write vararg flag on value parameters 2013-01-31 22:05:56 +04:00
Evgeny Gerashchenko 07a25a7757 Removed newline after copyrights in generated injectors. 2013-01-30 19:24:16 +04:00
Evgeny Gerashchenko 58f37f38f4 Renamed NumberSequence to Progression. 2013-01-29 22:55:10 +04:00
Evgeny Gerashchenko 000fc55035 Added intrinsic properties of ranges and sequences. 2013-01-29 22:55:06 +04:00
Evgeny Gerashchenko c8a194c0a8 Dropped *Range.isReversed 2013-01-29 22:55:04 +04:00
Evgeny Gerashchenko eb8107115d Moved IntRange.count to Ranges class. 2013-01-29 22:55:03 +04:00
Alexander Udalov 9007a6214a Fix closure's reference to outer closure
#KT-3276 Fixed
2013-01-29 22:41:58 +04:00
Evgeny Gerashchenko 52b7ee6447 Happy new year 2013! 2013-01-28 18:58:08 +04:00
Natalia.Ukhorskaya e37cb461f6 Support visibility for protected static members
#KT-2999 Fixed
2013-01-24 18:43:37 +04:00
Andrey Breslav f84d00eec9 Kotlin classes always have a signature 2013-01-23 20:12:48 +04:00
Andrey Breslav 56acd57e73 KT-3267 Put binary format version into the generated class files
#KT-3267 Fixed
2013-01-23 20:12:47 +04:00