Commit Graph

148 Commits

Author SHA1 Message Date
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
Nikolay Igotti bb6da99feb Fix ArrayList tests. 2016-11-30 17:39:50 +03:00
Alexander Gorshenev bd5b4b2f52 Annotation used 2016-11-30 17:45:07 +04: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
Vasily Levchenko c35af302b0 TEST: coercion test enchancement from @olonho 2016-11-28 19:32:37 +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
Konstantin Anisimov 4717e99ac2 TEST: companion and init0 tests
(cherry picked from commit f8e80249e9f986ae58a52a57173d2cb0b68a653b)
2016-11-25 23:37:49 +03:00
Konstantin Anisimov 1b1360c77e TEST: extension function generation
(cherry picked from commit 27b8c962b2b12883150166c83c19b950c9091334)
2016-11-25 23:37:49 +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
Konstantin Anisimov 9c28555e55 Test for cast added 2016-11-18 15:47:28 +03:00
Konstantin Anisimov 103509d75d Tests fixed 2016-11-18 14:30:32 +03:00
Vasily Levchenko f588814927 tests: disable method_call test until #74 won't be applied 2016-11-18 13:56:14 +03:00
Vasily Levchenko 514d1a16ec test: minus_eq fix 2016-11-18 13:54:34 +03:00
Konstantin Anisimov eb2046fe5d Tests fixed 2016-11-18 12:57:47 +03:00
Konstantin Anisimov 04d441ef21 Test fixed 2016-11-18 12:44:00 +03:00
Vasily Levchenko 8b37001cdf typo in unit test runner 2016-11-18 12:30:27 +03:00
Vasily Levchenko 26710e52a1 use exit(3) in unit tests 2016-11-18 12:27:13 +03:00
Nikolay Igotti fa7bcd90e3 Remove duplicated test. 2016-11-17 14:27:45 +03:00
Konstantin Anisimov f80697817e Test for getters/setters added 2016-11-17 12:25:12 +03:00
Svyatoslav Scherbina 69ee5a619a backend: add tests for === 2016-11-17 12:17:47 +07:00
Svyatoslav Scherbina 5db25a3985 backend: add tests for duplicated string literals 2016-11-17 12:17:47 +07:00
Nikolay Igotti 16a44ef765 Fix test that would require autoboxing. 2016-11-16 16:28:25 +03:00
Nikolay Igotti 26e8b4860a Enable array1 test. 2016-11-16 16:24:33 +03:00
Nikolay Igotti 0f12daa591 Fix expectations. 2016-11-16 11:23:05 +03:00
Svyatoslav Scherbina 1ff59e2cd2 backend: add some trivial tests for RTTI 2016-11-16 14:58:57 +07:00
Nikolay Igotti db15540a74 Review feedback on previous changes. (#64) 2016-11-16 10:46:56 +03:00
Nikolay Igotti c5cfa0ac4f Add String.subSequence implementation. (#61) 2016-11-15 13:27:21 +03:00