Commit Graph

688 Commits

Author SHA1 Message Date
Natalia Ukhorskaya d241bfc138 KT-3517 Can't call .equals() on a boolean
#KT-3517 Fixed
2013-11-19 12:05:26 +04:00
Alexander Udalov e2622b5dbb Resolve extension calls on class objects
#KT-3470 Fixed
2013-11-18 19:51:29 +04:00
Mikhael Bogdanov 1795b2a0bc KT-4118 Closures mix makes code fail on runtime
#KT-4118 Fixed
2013-11-11 12:22:06 +04:00
Mikhael Bogdanov df03eb5330 KT-4173: Can't pass a non-trivial closure to a super-call for object expression
#KT-4173 Fixed
2013-11-08 15:19:20 +04:00
Mikhael Bogdanov ee2a30f34f KT-4152 Wrong postfix increment/decrement calculation
#KT-4152 Fixed
2013-10-31 16:48:24 +04:00
Mikhael Bogdanov 7857dc5ba9 KT-3812 Can't work with akka via kotlin - java.lang.AssertionError: Couldn't resolve class *$
KT-4036 Couldn't resolve inner class akka.io.Tcp.Command.class

 #KT-3812 Fixed
 #KT-4036 FIxed
2013-10-31 16:42:54 +04:00
Mikhael Bogdanov c325dfffd9 KT-3523: VerifyError for invoke function in inner class
KT-4106: VerifyError: Can't access outer this in a lambda in inner class' constructor
KT-3152: VerifyError when accessing from a function of object to a field of outer outer class

  #KT-3523 Fixed
  #KT-4106 Fixed
  #KT-3152 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov 318214b9d7 Capturing this in constructor context
KT-4086 VerifyError creating anonymous object in constructor
 #KT-4086 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov fb39217dc3 KT-4140 VerifyError: Property in class object
#KT-4140  Fixed
2013-10-31 12:31:22 +04:00
Mikhael Bogdanov 3ee918b084 KT-4138: java.lang.VerifyError: (class: kotlin/sql/tests/h2/Foo, method: getA$b$0 signature: ()Lkotlin/sql/tests/h2/Foo;) Wrong return type in function
#KT-4138 Fixed
2013-10-28 15:18:51 +04:00
Andrey Breslav 46831b8d43 Tests for issues fixed in ed95463
#KT-2831 Fixed
#KT-3286 Fixed
#KT-3863 Fixed
#KT-3976 Fixed
2013-10-25 19:55:42 +04:00
Mikhael Bogdanov e3882e2dfb KT-4137: Verify error
#KT-4137 Fixed
2013-10-25 16:43:25 +04:00
Andrey Breslav ed95463d1e Map Nothing to java.lang.Void 2013-10-25 15:39:01 +04:00
Andrey Breslav 1ff0ffbac6 Map jet.Hashable to java.lang.Object, to avoid NoClassDefFound exceptions 2013-10-25 15:39:01 +04:00
Mikhael Bogdanov 604be8e0c1 KT-4119: Back-end (JVM) Internal error on code with local extensions
#KT-4119 Fixed
2013-10-24 17:24:45 +04:00
Andrey Breslav ea2b6e4546 Do not throw an exception when a when-statement with no else makes no match 2013-10-21 19:29:01 +04:00
Alexander Udalov 5a1daaa4b6 Generate values()/valueOf() even for empty enums 2013-10-17 19:01:45 +04:00
Alexander Udalov 08bc67b925 Generate synthetic methods for annotated properties in TImpl classes
Traits themselves can't have these methods, since it'd be a weird public method
in an interface

 #KT-4072 Fixed
2013-10-16 15:02:37 +04:00
Alexander Udalov 6269cb807b Minor, extract test for synthetic methods for properties 2013-10-16 14:59:37 +04:00
Alexander Udalov 2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Andrey Breslav d47109b928 Do not write 'jet.volatile' annotation to class files
ProGuard fails when it sees a class named 'volatile'
2013-10-14 14:42:25 +04:00
Alexander Udalov f8201c6aa9 Refactor TopLevelMembersInvocationTest
Compile library dependencies in the test instead of storing them as jars in the
repository. Reuse MockLibraryUtil, move it from idea tests to compiler-tests
2013-10-10 20:28:21 +04:00
Andrey Breslav 3071b58219 Use a built-in class to mitigate a naming problem in Android tests 2013-10-09 11:47:58 +04:00
Andrey Breslav 7f46d7555e Do not write "? extends" and "? super" in immediate arguments of supertypes in Java generic signatures 2013-10-08 21:13:30 +04:00
Alexander Udalov fdc631d595 Increase ABI version after changes to package fragment names 2013-10-02 17:05:47 +04:00
Alexander Udalov 8a5336aca2 Don't use $ in package fragment class names
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Evgeny Gerashchenko dc42be8543 Fixed VerifyError when copyToArray() is immediately returned from method. 2013-10-01 19:32:37 +04:00
Evgeny Gerashchenko 2ae1a2c81b Added copyToArray intrinsic method.
#KT-3352 fixed
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 41d1f277dc Generated default implementations for Collection.toArray().
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 48625dd7b6 Disallowed using type parameter as reified type argument.
#KT-3050 fixed
2013-10-01 15:06:57 +04:00
Alexander Udalov 5fa489b7d3 Add 'topLevelMemberInvocation.twoModules' test to CompileBinaryTestData 2013-09-30 22:43:18 +04:00
Svetlana Isakova a3f9cef354 fixed bug: 'isStatement' for function body == 'hasBlockBody'
not vice versa
2013-09-30 21:06:05 +04:00
Evgeny Gerashchenko b4bb08c013 Generating stub methods for read-only map and entry. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko 511c908ba9 Generating stub methods for read-only collection. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko 5de9c2499d Added for iterator when remove() is present. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko 47b70427e1 Generating remove() for Iterator using same mechanism. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko b4368ad578 Generating stub methods for read-only list. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko e98b75b462 Do not generate toString and other methods if they are inherited. 2013-09-25 20:59:23 +04:00
Mikhael Bogdanov 39b5be6e2b Test fix for android configuration 2013-09-24 17:10:44 +04:00
Mikhael Bogdanov 6ca3a581b0 Test fix for previous commit 2013-09-24 14:31:58 +04:00
Mikhael Bogdanov 7520ff1420 KT-3308: Support local generic functions in codegen
#KT-3308 Fixed
2013-09-24 12:59:57 +04:00
Mikhael Bogdanov fc1c3a2e23 KT-3978: Kotlin: [Internal Error] org.jetbrains.jet.codegen.CompilationException: Back-end (JVM) Internal error: null
#KT-3978 Fixed
2013-09-19 15:40:28 +04:00
Mikhael Bogdanov 8ffee527d7 KT-3573 "Error generating primary constructor" when trying to use "this" in extensions from constructors
#KT-3573 Fixed
2013-09-17 17:31:47 +04:00
Andrey Breslav c017858f77 'Else' is not required in 'when' if Unit is expected 2013-09-13 22:04:46 +02:00
Alexander Udalov c8a5c9ef59 Add regression for EA-47864 2013-09-06 21:16:42 +04:00
Alexander Udalov 723d5ef564 Fix default argument method calls
In some cases, calls of methods with default arguments were invoked via the
actual generated method, not via the "...$default" accessor
2013-09-03 22:26:05 +04:00
Svetlana Isakova a49dcc0dd4 analyze when entry in independent context 2013-09-03 17:05:21 +04:00
Alexander Udalov 760ec99315 Regenerate topLevelMemberInvocation testData
Add a source used to generate classes
2013-08-26 16:00:11 +04:00
Alexander Udalov c853c9be03 Create empty method for annotated properties w/o fields
There was no place in bytecode where annotations on properties without backing
fields could be stored to. Now they're written on a synthetic empty void method
with a special name ("propertyName$annotations").

(Annotations on properties cannot simply be written on getters in bytecode,
since a getter can have annotations of its own.)
2013-08-23 17:39:21 +04:00