Commit Graph

6615 Commits

Author SHA1 Message Date
Andrey Breslav 71be3bcec5 All tests for TCO moved to box (with diagnostics marked up) 2013-12-06 11:29:28 +04:00
Andrey Breslav 97319808b6 Detecting tail calls through CFA 2013-12-06 00:28:12 +04:00
Andrey Breslav 0316e6cb8d Indirect tests for tail call diagnostics removed 2013-12-06 00:28:10 +04:00
Andrey Breslav 94500bd968 Use codegen box tests for tail calls as diagnostic tests too 2013-12-06 00:28:04 +04:00
Andrey Breslav bb6ceffbbb Missing tests added 2013-12-06 00:27:31 +04:00
Andrey Breslav c70a54306f Rename directory for back-end tests 2013-12-05 23:53:08 +04:00
Sergey Mashkov fb0ec573e0 Tests for JVM back-end support of tail-call optimization 2013-12-05 23:53:07 +04:00
Svetlana Isakova 8e27877817 check definite return in local functions 2013-12-05 15:51:57 +04:00
Natalia Ukhorskaya 27e602133d Small fixes after review: do not set is_pure=true for named constants refactoring 2013-12-05 15:23:41 +04:00
Natalia Ukhorskaya 155cbbfc02 Add evaluator for java property initializer 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya e5a3518248 Parse longs with 'L' suffix. Report error if 'l' used. 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya b6ce6c5e5a Parse floats with 'F' or 'f' suffix 2013-12-05 15:22:01 +04:00
Natalia Ukhorskaya 53a5264aaf Use type from compile time value for binary expression 2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya cbcca6c08e Support IntegerValueTypeConstant in java backend 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya d63f6843c8 Merge ConstantExpressionEvaluator and CompileTimeConstantResolver 2013-12-05 15:21:50 +04:00
Alexander Udalov 4ecd1a8f68 Don't fail when using Unit class object as a value
#KT-4243 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov fa7076a4fa Fix ClassCastException with nullable chars
#KT-4210 Fixed
 #KT-4098 Fixed
 #KT-4251 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov 4aa6a42483 Support codegen of empty for-loop
#KT-3009 Fixed
 EA-35742 fixed
2013-12-04 15:19:56 +04:00
Alexander Udalov 61ff9eb45b Support codegen of empty do-while-loop
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov 9058272528 Support codegen of empty while-loop
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov 4cd4026174 Support empty if-statements
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition

 #KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Mikhael Bogdanov 4f017df237 Fix kt-1800 test 2013-12-02 10:40:54 +04:00
Andrey Breslav 93160431f9 Fix recusrive calls in infix and prefix form
The infamous invokeOperation() method removed
2013-11-29 12:52:58 +04:00
Mikhael Bogdanov 1f37ebf7e7 Tests for KT-3646: Wrong this in closure for extension function in constructor
#KT-3646 Obsolete
2013-11-28 12:12:14 +04:00
Mikhael Bogdanov 35f42b1a65 Tests for KT-4252: Error generating primary constructor with kind OwnerKind
#KT-4252 Obsolete
2013-11-28 10:11:26 +04:00
Alexey Sedunov 6dfad69434 Allow super calls in object declarations 2013-11-26 17:29:59 +04:00
svtk 95ca2d8f98 Fixed bug with property and function name clash.
Complete type inference dependent on function literals and expected type
for variable as function calls not for 'invoke' calls
2013-11-25 19:42:07 +04:00
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