Commit Graph

98 Commits

Author SHA1 Message Date
Konstantin Anisimov 3eec3da511 TEST: tests for instanceof are modified to take in account null and nullable 2016-12-06 16:41:27 +03:00
Alexander Gorshenev c84fe7fd85 Collected or scattered means of running the compiler in a shell script.
So one can now

$ ./gradlew dist

$ ./dist/bin/konanc backend.native/tests/runtime/basic/hello0.kt -o hello

$ ./hello

or one can

$ ./gradlew demo

and have a complete dist build,
with a test program compiled and executed automatically after that
2016-12-06 17:22:34 +04:00
Nikolay Igotti 527efa661b Boundary values and their toString() test. (#90) 2016-12-06 16:03:23 +03:00
Vasily Levchenko 8892986be3 TEST:objects and companion objects. 2016-12-06 13:53:07 +03:00
Nikolay Igotti 618bf4cb80 Hash map by @elizarov, more stdlib code (#112) 2016-12-06 13:31:43 +03:00
Svyatoslav Scherbina 737a132b5d Review feedback 2016-12-05 15:17:40 +07:00
Svyatoslav Scherbina 2531c34b64 backend: add two more tests for finally 2016-12-05 14:27:14 +07:00
Svyatoslav Scherbina 4a1b3f2824 backend: support break and continue from try with finally 2016-12-05 14:27:14 +07:00
Svyatoslav Scherbina 96b30f574f backend: add failing test for break 2016-12-05 12:55:23 +07:00
Konstantin Anisimov 9afdfc316b TEST: test includes labeled continue-break 2016-12-02 16:28:19 +03:00
Konstantin Anisimov 03e94c6877 TEST: tests for "break" and "continue" added 2016-12-02 16:28:19 +03:00
Nikolay Igotti 83dcb0fc3a Fix array init and add listOf(). (#109) 2016-12-02 13:18:57 +03:00
Svyatoslav Scherbina aecbe0e5f6 backend/tests: do not check output in main_exception 2016-12-02 16:48:20 +07:00
Svyatoslav Scherbina f4014b0f29 runtime: add trivial stack traces to exceptions 2016-12-02 16:48:20 +07:00
Svyatoslav Scherbina b7b99d5684 backend/tests: allow tests to be marked as disabled
disabled tests can be run manually
2016-12-02 16:47:40 +07:00
Svyatoslav Scherbina e65b22569c backend/tests: add disabled test 'array_to_any' 2016-12-02 16:47:40 +07:00
Alexander Gorshenev 80c50c24e6 Renamed Kotlin_start to Konan_start. 2016-12-01 19:20:12 +04:00
Alexander Gorshenev 2c89fee837 Simplified launcher to utilize some ready made functionality. 2016-12-01 19:20:12 +04:00
Alexander Gorshenev 22d748001d Added "start" function between the C launcher and Kotlin "main" 2016-12-01 19:20:12 +04:00
Alexander Gorshenev 3f480eb846 Transfer C argv to Kotlin's args. 2016-12-01 19:20:12 +04:00
SvyatoslavScherbina e38ac775ad Calling Kotlin from C++ runtime (#107)
* backend: support exporting Kotlin functions for C++ runtime

* runtime: implement several functions in Kotlin

* Throw{NullPointer,ArrayIndexOutOfBounds,ClassCast}Exception

* runtime: add literal declared in Kotlin as empty string

Also
* add corresponding test
* use empty string literal in strdedup2
  (however keep it disabled)

* fixup! runtime: add literal declared in Kotlin as empty string

* Review feedback: add more TheEmptyString() usages

Also improve string index checks in runtime
2016-12-01 16:10:03 +03:00
Nikolay Igotti f9167ea91e Attempt of listOf() support. (#92) 2016-12-01 16:09:26 +03:00
Nikolay Igotti 85aca55ee5 Add hashCode() for primitives. (#104) 2016-12-01 16:07:06 +03:00
Svyatoslav Scherbina a65aef0198 backend: rework variables
* use descriptor instead of name to refer to variables
* bind variables to scopes
* begin refactoring mapping between LLVM and IR parameters
2016-12-01 13:20:05 +07:00
KonstantinAnisimov 90b6a12a5c Canonical name (#99)
* TEST: enabled testRetainAll

* Method resolution spared of annotations and generics

* TEST: test for canonical names "interface+generic" added

* Methods' canonical names support:

- Recursive iteration of method argument types
- Arguments in question are delivered from topmost overriden ancestor of this method
2016-11-30 16:19:28 +03:00
Nikolay Igotti e9b0ebb95e Ranges support. (#73) 2016-11-30 15:38:47 +03:00
Nikolay Igotti d4fda3bfe2 String <-> CharArray conversion, ArrayBuilder by @elizarov (#98) 2016-11-30 13:06:36 +03:00
Svyatoslav Scherbina 0e43e0d0d8 backend: add test for empty string literal
also restore removed disabled test
2016-11-30 15:00:55 +07:00
Nikolay Igotti 51d6dfe713 Append all variable allocations to prologue. (#97) 2016-11-29 16:14:29 +03:00
SvyatoslavScherbina 075562f46b Merge pull request #93 from JetBrains/try-catch-finally
Implement throw and try-catch-finally in backend

add corresponding tests
2016-11-29 15:01:23 +07:00
Konstantin Anisimov 837ae60eaf TEST: tests for safe cast added 2016-11-28 21:48:01 +03:00
Alexander Gorshenev 5627688390 A million element byte array segfaults 2016-11-28 20:15:15 +04:00
Svyatoslav Scherbina e2dbeae85e backend: add tests for try-catch-finally and throwing exceptions
also add some tests for bugs with unreachable code handling and variables
2016-11-28 20:24:27 +07:00
Svyatoslav Scherbina 70fa3ba56a backend/tests: build with C++
because runtime is written in C++
2016-11-28 20:24:27 +07:00
Konstantin Anisimov bb665ccc70 TEST: enable interface test 2016-11-28 16:14:04 +03:00
Nikolay Igotti 3d2166410c TEST: Coercion to Unit and ++/-- tests. (#87) 2016-11-27 11:22:54 +03:00
Nikolay Igotti 29c0eda720 Array list, implementation by @elizarov (#84) 2016-11-26 16:30:15 +03:00
Vasily Levchenko 4806cf8fe1 TEST: executables has .kt.exe extension 2016-11-24 20:59:56 +03:00
Alexander Gorshenev 268e3b26c0 A couple of new tests
for boxing
    and for body assignment in an interface
2016-11-24 17:46:16 +04:00
Vasily Levchenko 48ee81548e TEST: primary/secondary constructor fields initialization 2016-11-24 15:52:34 +03:00
Vasily Levchenko 81742556a6 TEST: constructor body test 2016-11-22 21:13:25 +03:00
Nikolay Igotti 81811e8c3a TEST: throw keyword support. 2016-11-22 14:36:09 +03:00
Konstantin Anisimov df358e8bd4 TEST: Tests for "null" constant added 2016-11-21 21:08:36 +03:00
Nikolay Igotti c54e786c33 TEST: Ternary operator test. 2016-11-21 20:36:40 +03:00
Alexander Gorshenev 1e87dfeb8b link test 2016-11-21 15:30:08 +04:00
Nikolay Igotti 72da55623c Add basic iterators. (#58) 2016-11-21 13:21:23 +03:00
vvlevchenko 5161155934 Constructor (w/o body) (#74) 2016-11-19 19:45:21 +03:00
Nikolay Igotti 0e1ac89dbf Fix build. 2016-11-18 18:50:10 +03:00
Alexander Gorshenev 1d265bc50c Here goes stdlib separation.
$ gradlew backend.native:stdlib

builds you stdlib.kt.bc now.

The test runs are taught to supply
-library stdlib.kt.bc to kotlin compiler for proper imports resolution,
and then later stdlib.kt.bc is provided to clang for the final link step.
2016-11-18 19:11:38 +04:00
Konstantin Anisimov c1bb762417 TESTS: "for" and INSTANCEOF, NOT_INSTANCEOF, isInstanceOf on interface are added 2016-11-18 16:22:27 +03:00