Commit Graph

725 Commits

Author SHA1 Message Date
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
Stepan Koltsov d6bf8876a3 analyze kotlin scripts 2012-05-23 02:52:29 +04:00
Stepan Koltsov 5fc73a4cd4 parse kotlin scripts
http://confluence.jetbrains.net/display/~stepan.koltsov/REPL
2012-05-23 02:52:29 +04:00
Alex Tkachman f15cb22809 patch from Natasha to fix local var table 0 for function literals 2012-05-22 19:10:59 +03:00
Svetlana Isakova b63d3905f9 KT-1256 Error highlighting in IDE should be less annoying
#KT-1256 fixed
2012-05-22 18:23:51 +04:00
Svetlana Isakova c2385407e0 KT-1942 Package local members from Java are visible in subclasses
#KT-1942 fixed
2012-05-21 18:32:19 +04:00
Svetlana Isakova 2d601cf4a2 Frontend part of KT-910 Type of try/catch/finally 2012-05-18 15:20:37 +04:00
Svetlana Isakova b49fa2ab82 KT-1977 Wrong 'unused expression' in catch
#KT-1977 fixed
2012-05-18 15:19:38 +04:00
Stepan Koltsov 448260fc3e KT-1996 Missing ABSTRACT_MEMBER_NOT_IMPLEMENTED when two supertypes contains same abstract member
===
trait Foo {
    fun foo(): Unit
}

trait Bar {
    fun foo(): Unit
}

class Baz : Foo, Bar // no error here
===

#KT-1996 fixed
2012-05-15 22:45:11 +04:00
Andrey Breslav cf3091adb5 Data flow info always taken into account in safeGetType()
The dangerous method removed
2012-05-13 12:58:50 +04:00
Stepan Koltsov 8c8ed3a1ee KT-1388 Parse static final fields from java binary classes as non-null
#KT-1388 Fixed
2012-05-13 00:53:37 +04:00
Stepan Koltsov ae58c1c888 better comparison of vararg signatures in Read*BinaryClassTest 2012-05-12 22:28:39 +04:00
Stepan Koltsov f061fce9a8 properly read vararg signature from java code
KT-1694 Java vararg override, Why is it intuitive interface?

#KT-1694 Fixed
2012-05-12 22:21:09 +04:00
Evgeny Gerashchenko b0c0173924 Removed test for KT-1666, since navigation to standard libraries is working normally now (instead of navigation to the same source). 2012-05-12 21:56:45 +04:00
Evgeny Gerashchenko 9265ce4ec9 Renumbered type and value parameters of function types.
Their numbers now start from 1. This is made for consistency with auto-generated sources for these types. Parameters of runtime types (written in Java) are numbered starting with 0, too.
2012-05-12 21:56:42 +04:00
Nikolay Krasko dcc6392eb4 Intermediate major refactorings for lazy resolve - test fix (order changed) 2012-05-11 19:27:56 +04:00
Stepan Koltsov 3af2b1b80a improve rendering of upper bounds 2012-05-11 18:24:58 +04:00