Commit Graph

484 Commits

Author SHA1 Message Date
Igor Chevdar 01cb9d4cac Implementation of super methods calling (#203)
* implemented super call

* tests

* removed redundant code
2017-01-27 16:38:48 +05:00
Svyatoslav Scherbina 36c90ac47d backend: improve default arguments lowering:
use the same `$default`-descriptor in declaration and call.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina 6104648d5b backend: simplify EnumClassLowering:
do not set correct member scope for synthesized classes.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina a72732b543 backend: simplify LocalDeclarationsLowering:
do not transform descriptors for moved declarations.
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina a97b3935e2 backend: rework descriptor usage
* handle differently internal and exported declarations
* bind LLVM declarations to descriptor instances used as keys
* fix some related issues
2017-01-27 17:27:04 +07:00
Svyatoslav Scherbina cf946a7676 backend/tests: update and disable 'defaults4' 2017-01-26 13:53:40 +07:00
Ilya Matveev b7a78deafa backend: Place *.bc.o files in a temporary directory for llvmLto() 2017-01-25 17:52:35 +03:00
Ilya Matveev 59e093c8e4 backend: Place *.bc.o files in a temporary directory for llvmLlc() 2017-01-25 17:52:35 +03:00
Ilya Matveev 7285c57cd8 backend/tests: Generate external test tasks in config stage
We generate tasks for external tests group during Gradle's configuration
phase instead of using separate task (regenerate_external_tests)
2017-01-25 17:24:36 +03:00
Ilya Matveev f096e272b3 backend.native/tests: Add JSON output to run-external task 2017-01-25 17:24:36 +03:00
Ilya Matveev 6e0c2fface backend.native/tests: Add clean task to remove test output directory 2017-01-25 17:24:36 +03:00
Ilya Matveev c04233aebb buildSrc: Save test results to JSON 2017-01-25 17:24:36 +03:00
Ilya Matveev a4c4b1e7af buildSrc: Use SourceSet to define test output directory. 2017-01-25 17:24:36 +03:00
Vasily Levchenko 99a962df42 TEST:EXTERNAL: run task added 2017-01-25 17:24:36 +03:00
Vasily Levchenko 6729d1d824 TEST: external generate run task for externals 2017-01-25 17:24:36 +03:00
Vasily Levchenko 7cbaa7d6ca EXTERNAL:TEST: regenerated 2017-01-25 17:24:36 +03:00
Vasily Levchenko a59de510cd TEST: more fixes in template 2017-01-25 17:24:36 +03:00
Vasily Levchenko b9b44ebeb4 test: fixed task daily declaration 2017-01-25 17:24:36 +03:00
Vasily Levchenko 822816da3f tests: external gradle script generation emproved 2017-01-25 17:24:36 +03:00
Nikolay Igotti c6a4ec2ff4 Add enumeration support. (#128)
* Add enumeration support.

* Enum classes lowering.

* merge fix

* merge fix

* used arrayOf from irModule

* changed lowering quant from body to file

* refactoring

* review fixes

* lowering for GET_OBJECT in enums

* enabled tests

* added tests

* moved tests to separate dir

* renamed test files

* moved phase up

* review fixes

* reformat
2017-01-25 14:39:36 +05:00
Nikolay Igotti 66293cb89f Frame-local allocations. (#193) 2017-01-24 17:16:54 +03:00
Nikolay Igotti afeb1b2d55 More of stdlib. (#183) 2017-01-24 15:27:08 +03:00
Alexander Gorshenev a856b0d9ce More accurate host- and cross- target separations. 2017-01-24 02:23:08 +04:00
Alexander Gorshenev e895c0939c More complete iphone_sim target support. 2017-01-24 02:23:08 +04:00
Vasily Levchenko 00aba8a08d TEST: enable defaults{4,5,6} 2017-01-23 17:40:24 +03:00
Vasily Levchenko dce532f236 IR: default parameter extension emproved espcially for overided cases and fields evaluating in paramter's expressions.
minor changes:
- added phase's logging.
2017-01-23 17:40:24 +03:00
Vasily Levchenko 5c11c28a09 CODEGEN: variable manager uses descriptor.name as part of the key instead of descriptor
minor changes:
- rename descriptors -> contextVariableToIndex in variable manager
2017-01-23 17:40:24 +03:00
Alexander Gorshenev 9999275f4a Disabled cross-compilation to iphone on Linux. 2017-01-23 17:49:58 +04:00
ilmat192 ef14464bed Merge pull request #191 from JetBrains/binaryOp-fix 2017-01-23 14:08:12 +03:00
Svyatoslav Scherbina 16ca882298 backend/tests: add cast_null and unchecked_cast3 2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina ef6c5364a6 backend: fix handling T? as type operand:
Preserve erased type nullability in type operations lowering.
Also make erasure more strict to detect unsupported cases.
2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina 183155a8a1 backend: handle nullability in cast 2017-01-23 17:18:43 +07:00
Svyatoslav Scherbina 97ce2227d5 backend/tests: add boxing{14,15}
the latter is disabled.
2017-01-23 16:56:44 +07:00
Svyatoslav Scherbina 3aa48b7e0c backend: do not rely on parameter.original in autoboxing
`function.parameter.original` sometimes turns out to be
not the same as `function.original.parameter`.
2017-01-23 16:56:44 +07:00
Ilya Matveev 7f911b8085 backend/tests: Ignore binaryOp/compareWithBoxed... tests 2017-01-23 10:33:06 +03:00
Svyatoslav Scherbina f36bb78a7f backend/tests: enable fields2 because it was fixed 2017-01-23 14:27:26 +07:00
Alexander Gorshenev afaa50ce34 Introduced -target and -list_targets flags.
Use it like

    $ konanc hello.kt -target iphone
2017-01-23 00:17:39 +04:00
Nikolay Igotti d31b44135a Temporary disable inlining. 2017-01-20 19:03:54 +03:00
Svyatoslav Scherbina 1f7738e052 backend: fix minor bug in evaluateWhen
Also add the corresponding test 'when9'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina 0958d32605 backend: improve typealias support:
* handle TypeAliasConstructorDescriptor in codegen
* ignore ignore typealias declaration in codegen

Also add test 'typealias1'.
2017-01-20 20:02:50 +07:00
Svyatoslav Scherbina 65444ec690 backend: improve type operators support:
* add initial support for casts with generics;
* optimize out the casts to subtypes

Also add tests unchecked_cast{1,2}, the latter is disabled.
2017-01-20 20:02:50 +07:00
Ilya Matveev 48122c8a03 backend/tests: Add test result reporting to run_external task.
+ regenerate external tests.
2017-01-20 14:24:35 +03:00
Ilya Matveev d18219c383 backend/tests: Fixes in regenerate_external_tests task 2017-01-20 14:24:35 +03:00
Ilya Matveev 8ec33334a4 backend/tests: Enable some tests in the binaryOp group 2017-01-20 14:24:26 +03:00
Ilya Matveev 2ef49da2fe backend/tests: Ignore all tests with IGNORE_BACKEND: JS directive 2017-01-20 14:04:04 +03:00
Ilya Matveev d24f966600 backend/tests: Regenerated external test tasks 2017-01-20 14:04:04 +03:00
Ilya Matveev bfdda21da1 backend/tests: Added task generation for test groups instead of tests 2017-01-20 14:04:04 +03:00
Ilya Matveev b6587252c0 backend/tests: Added test group running 2017-01-20 14:04:04 +03:00
Ilya Matveev ee58c7ee5f backend/tests: Added autogenerated tasks for external tests 2017-01-20 14:04:04 +03:00
Ilya Matveev fd44baf2c0 backend/tests: Infrastructure for external test running 2017-01-20 14:04:04 +03:00