Commit Graph

791 Commits

Author SHA1 Message Date
Dmitry Jemerov 6b84f5d31a correctly coerce values in StackValue.store() (KT-1397)
#KT-1397 fixed
2012-06-06 13:43:34 +02:00
Alex Tkachman 03c4e755fa preparations to multi-file compilation 2012-06-06 11:12:39 +03:00
Stepan Koltsov f27147f752 script: make top level declarations class members 2012-06-05 22:59:07 +04:00
Stepan Koltsov 68ae2e95a3 better ScriptGenTest: check more fields 2012-06-05 22:56:26 +04:00
Stepan Koltsov 9a71cb5e72 CodeGenTest: check result and print code in any blackbox
... and fix test
2012-06-05 22:56:25 +04:00
Andrey Breslav 91606a3901 Introduce 'reified' instead of 'erased' 2012-06-05 20:19:07 +04:00
Evgeny Gerashchenko b89353e094 Added tests for tuple and function types in alternative signatures. 2012-06-05 15:59:18 +04:00
Evgeny Gerashchenko a4c4e2b0f1 Added alternative signature test for method with type parameters. 2012-06-05 15:59:18 +04:00
Andrey Breslav c43c5fb697 Initial lazy resolve test comparing descriptors with the existing resolve mechanisms 2012-06-05 15:24:58 +04:00
Dmitry Jemerov 23cdde5794 test for already fixed KT-1976 2012-06-05 11:51:36 +02:00
Svetlana Isakova 0cd8534230 KT-2069 Cannot call super method when superclass has type parameters
#KT-2069 fixed
2012-06-04 18:56:48 +04:00
Andrey Breslav 84a3974460 Missing test data added 2012-06-04 18:55:36 +04:00
Andrey Breslav febb3c6a3d Recovery set extended
#KT-2172 Fixed
2012-06-04 18:44:09 +04:00
Evgeny Gerashchenko af9ed4082b Renamed MethodWithAlternativeSignature test to MethodWithGenerics, since there will be more tests for methods with alternative signature. 2012-06-04 17:33:34 +04:00
Evgeny Gerashchenko e049bb00d8 Added simplest test for @KotlinSignature parsing. 2012-06-04 15:28:03 +04:00
Dmitry Jemerov 6e3c02b695 test for already fixed KT-1726 2012-06-02 23:27:34 +02:00
Dmitry Jemerov 2020446412 test for KT-1247 (duplicate of KT-1918) 2012-06-02 23:24:14 +02:00
Dmitry Jemerov 58666f3eb7 unwrap parentheses around range expressions in pattern matching conditions (KT-1742) (thanks to Sergey Mashkov for the suggested fix) 2012-06-02 23:17:42 +02:00
Dmitry Jemerov d55af2a948 test for KT-1578 (duplicate of KT-1980) 2012-06-02 23:08:05 +02:00
Dmitry Jemerov e1cecd10b2 allow putting an Invert operation on stack as a void type (KT-1634) 2012-06-02 23:05:09 +02:00
Dmitry Jemerov 58c7c7aea1 don't generate direct increment and similar bytecodes for variables which are captured in closure (KT-1980) 2012-06-02 22:41:37 +02:00
Dmitry Jemerov ba9c3d73e7 when calling extension function, correctly put receiver on top of stack if it was generated before the extension function object (KT-1918) 2012-06-02 19:50:14 +02:00
Dmitry Jemerov 12498e30eb support putting the result of a dummy comparison to stack (KT-1899) 2012-06-02 18:19:27 +02:00
Dmitry Jemerov f909745d1b use correct nullability information when generating equality checks in pattern matching (KT-2148) 2012-06-02 17:59:19 +02:00
Stepan Koltsov 139e376f7c fix KT-2167 (enum generation)
#KT-2167 fixed
2012-06-02 02:18:29 +04:00
Stepan Koltsov 2d4ad5e408 EnumGenTest
enum geneneration is partially covered in regression tests, it is not very convenient
2012-06-02 02:18:28 +04:00
Andrey Breslav c9583c21cf Merge pull request #62 from NataliaUkhorskaya/master
KT-2124 & KT-2044: Android-related fixes
2012-06-01 07:31:01 -07:00
Natalia.Ukhorskaya bacc76944d KT-2044 : "this" added in local variables table in bytecode for local functions also 2012-06-01 13:56:11 +04:00
Stepan Koltsov 0f8c449f55 ScriptGenTest: more 2012-05-31 19:31:40 +04:00
Dmitry Jemerov b03966e8d0 coerce condition value to Type.BOOLEAN (KT-2147) 2012-05-31 13:59:42 +02:00
Svetlana Isakova 7dab62ec97 KT-2125 Inconsistent error message on UNSAFE_CALL
#KT-2125 fixed
2012-05-31 14:17:48 +04:00
Stepan Koltsov c62193d272 add HashSet to mock rt.jar
it might fix tests
2012-05-30 23:04:56 +04:00
Stepan Koltsov 1f5666e0e8 more tests in ScriptGenTest 2012-05-30 19:47:42 +04:00
Nikolay Krasko b767e1a8a6 Failure after typing empty import 2012-05-30 17:09:46 +04:00
Natalia.Ukhorskaya de605637e6 Change test name. Change order of parameters in test instructions 2012-05-30 15:52:59 +04:00
Stepan Koltsov 25f71bcd3a skip shebang in the first line
Something like this works now:

===
% PATH="./bin:$PATH" ./sum.ktscript 31 21
31 + 21 = 52

% cat sum.ktscript
#!/usr/bin/env kotlin -script

val a = Integer.parseInt(args[0])
val b = Integer.parseInt(args[1])
println("$a + $b = ${a + b}")
===
2012-05-28 22:59:03 +04:00
Stepan Koltsov 30e44fdc5f script parameters
still a lot of things to do
2012-05-28 20:31:29 +04:00
Svetlana Isakova 84d60b8baa check deeply inner local declarations added 2012-05-28 15:21:40 +04:00
Svetlana Isakova d1d0722b5a tests for dead code in pseudocode 2012-05-28 12:09:45 +04:00
Svetlana Isakova 7a02cfcd25 order of declaration changed in tests 2012-05-28 12:09:45 +04:00
Svetlana Isakova b6b1ce52e1 tests changed:
added check for unused/uninitialized variables inside local and anonymous functions
2012-05-28 12:06:13 +04:00
Svetlana Isakova edb529f68f added edge 'error' -> 'sink'
added 'getLocalDeclarations' method to pseudocode
2012-05-28 12:06:12 +04:00
Svetlana Isakova f03ce0795e KT-2096 Abstract property with no type specified causes compiler to crash
#KT-2096 fixed
2012-05-25 14:04:32 +04:00
Svetlana Isakova 0fd882741b function invocation with only type parameters prohibited 2012-05-23 22:04:22 +04:00
Svetlana Isakova b22a7dbf99 KT-2014 Better diagnostic when using property syntax to call a method
#KT-2014 fixed
2012-05-23 21:53:17 +04:00
Svetlana Isakova f58d0193eb test for KT-1878 Support 'invoke' functions short way invocation 2012-05-23 12:50:19 +04:00
Stepan Koltsov 33a59ff5fe Name class
In the most places in frontend identifier is stored in Name class, was in String.
Name has two advantages over String:
* validation: you cannot accidentally create identifier with dot, for example
* readability: if you see String, you don't now whether it is
  identifier, fq name, jvm class name or something else

Name's disadvantage is (small) performance overhead. We have no value types in JVM.
2012-05-23 02:52:32 +04:00
Stepan Koltsov c15ff2dee0 make parser test debugging friendly 2012-05-23 02:52:32 +04:00
Stepan Koltsov 13a9108f05 sort members in Read*BinaryClassTest
test should not fail if hash code or hash set is implemented diffently
2012-05-23 02:52:31 +04:00
Stepan Koltsov f4051f45ab generate bytecode for script
It is just prototype

* does not make top level symbols visible as class members yet
* does not take parameters
* Script class name is hardcoded now
2012-05-23 02:52:29 +04:00