Commit Graph

1058 Commits

Author SHA1 Message Date
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
Andrey Breslav a7531926a4 Properly compute STATIC for light classes 2013-01-23 18:54:04 +04:00
Andrey Breslav e1831877b7 GenerationStrategy removed 2013-01-23 18:54:03 +04:00
Andrey Breslav 1671015466 Visibility of nested light classes fixed 2013-01-23 13:10:35 +04:00
Andrey Breslav aa39519323 Using isTopLevelDeclaration instaed of a direct instanceof check 2013-01-23 13:10:35 +04:00
Andrey Breslav a089054b1a @NotNull added 2013-01-23 13:10:35 +04:00
Andrey Breslav 73f8fdb474 Package classes are final 2013-01-23 13:10:34 +04:00
Alexander Udalov ab730b7dd5 Fix CompareTo intrinsic behavior in no-dot syntax 2013-01-22 19:49:10 +04:00
Nikolay Krasko a6c4a36ce5 Remove warnings 2013-01-22 15:53:37 +04:00
Alexander Udalov c4a3963925 Fix nested classes codegen bug
When constructing a closure, codegen in some cases incorrectly determined if
it needed to store a reference from a nested class to the outer
2013-01-18 14:59:27 +04:00
Alexander Udalov cc5ba53c80 Support inner/nested classes in JVM back-end
#KT-1174 In Progress
2013-01-16 23:11:48 +04:00
Alexander Udalov b612989eb0 Remove 'inner enum' hack & fix Java inner class resolve
Inner enum was placed into the class object of the outer class. Remove the
hack from frontend, frontend.java & backend. Fix tests

 #KT-1174 In Progress
2013-01-16 23:11:47 +04:00
Alexander Udalov e76abcb625 Add ClassDescriptor.isInner()
Implement in resolve & lazy resolve; place a stub in resolve-java

 #KT-1174 In Progress
2013-01-16 23:11:40 +04:00
Natalia.Ukhorskaya 37b12bff2e Vararg in constructor isn't loaded correctly from bytecode
#KT-3251 Fixed
2013-01-16 17:59:35 +04:00
Natalia.Ukhorskaya 65f1efb921 Add JetPackageClass annotation 2013-01-15 19:45:07 +04:00
Natalia.Ukhorskaya 47abdcf565 Rename namespace class to {package.name}Package
Conflicts:

	compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java
2013-01-15 19:45:06 +04:00
Andrey Breslav b039c69952 Class object members supported in PsiCodegenPredictor 2013-01-15 15:32:03 +04:00
Andrey Breslav 6f8c9bf0d1 JetClass.isEnum() introduced 2013-01-14 20:20:27 +04:00
Andrey Breslav a577ccabab Light class providers unified 2013-01-14 20:20:22 +04:00
Andrey Breslav 69080b72af When generating light class for package, do not generate other classes 2013-01-14 20:20:21 +04:00
Andrey Breslav a91b113cc3 GenerationStrategy is now a strategy 2013-01-14 20:20:20 +04:00
Andrey Breslav 26ccb80abb Missing @NotNull and assertions added 2013-01-14 20:20:17 +04:00
Andrey Breslav e69b9af6d1 Unused parameter removed 2013-01-14 20:20:11 +04:00
Andrey Breslav 6f38388409 Unused line removed 2013-01-14 20:20:11 +04:00
Andrey Breslav 380c8b596a The slow (synchronized) java.util.Stack replaced by com.intellij.util.containers.Stack 2013-01-14 20:20:10 +04:00