Commit Graph

331 Commits

Author SHA1 Message Date
Svyatoslav Scherbina c9b04bc0bb Fix methods inherited from Any in interop value types 2017-03-15 18:20:06 +07:00
Ilya Matveev 10eef395f4 stdlib: Add empty kotlin.experimental package
This patch adds empty kotlin.experimental package to avoid unresolved
reference errors in bitwiseOp tests:

external_codegen_box_binaryOp/bitwiseOp.kt
external_codegen_box_binaryOp/bitwiseOpAny.kt
external_codegen_box_binaryOp/bitwiseOpNullable.kt

Byte/Short bitwise operations are supported in Kotlin Native by default.
2017-03-14 16:24:20 +03:00
Alexander Udalov b08ccf07cb Remove usages of Kotlin compiler built-ins (loaded from kotlin-compiler.jar's resources) (#323)
* Do not add dependency on compiler built-ins, add missing declarations

* Drop most usages of KonanPlatform.builtIns

Instead, lookup symbols through the module that is being compiled. This
should be more correct because KonanPlatform.builtIns represents
built-ins loaded from kotlin-compiler.jar's resources

* Minor, make Context.moduleDescriptor lateinit and not null

* Do not ever load KonanBuiltIns from Kotlin compiler anymore

KonanBuiltIns.builtInsModule is now always the module that is being
compiled at the moment. An instance of KonanBuiltIns is thus nothing
more than a helper that loads classes with some predefined names from
the module that is being compiled

* Temporarily disable a part of IR validation
2017-03-14 15:48:42 +03:00
Nikolay Igotti 7615931b84 Add missing exceptions, make exception classes open (#338) 2017-03-14 12:01:37 +03:00
Ilya Matveev 30be84cd55 stdlib: Add assert() functions. 2017-03-13 16:25:48 +03:00
Svyatoslav Scherbina bbcbd03941 stdlib: add Array<*>.contentToString()
Extract common implementation from ArrayList<*>.toString()
2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 5c0cb5e236 stdlib: add kotlin.io.print*(Any?) 2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 2cdff9d1e7 stdlib: add companion objects for Enum and String 2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 13bbd7af81 runtime: use exitStatus == 1 if main finished with exception
Also update the corresponding test.
2017-03-10 14:34:10 +07:00
Ilya Matveev 7b7840f8b4 stdlib: Add AbstractIterator class
Fix:
external_codegen_blackbox_regressions/objectCaptureOuterConstructorProperty.kt
2017-03-09 17:25:32 +03:00
Igor Chevdar f4e29562f9 Cut references to local delegated properties.
References to local delegated properties are cut - it is forbidden to call
get() or set() on them.
2017-03-09 16:41:58 +03:00
Igor Chevdar 776f4c4b7f Implemented callable references for properties 2017-03-07 18:35:36 +03:00
Vasily Levchenko 34e17e82f4 STDLIB: bunch of ranges functions 2017-03-07 17:33:15 +03:00
Nikolay Igotti 361e94fd1a Simplify default imports. 2017-03-06 15:22:44 +03:00
Igor Chevdar 810bcca552 Review fixes 2017-03-06 14:35:39 +03:00
Igor Chevdar 0ff306ad3a Rewrote enum lowering to support usage from other modules.
- Split up enum lowering into two stages: descriptors creation and IR creation.
- Added link stage test.
- Enum.valueOf() uses binary search instead of linear.
2017-03-06 14:35:39 +03:00
Ilya Matveev 76fd50e16f stdlib: Return this from StringBuilder.append 2017-03-03 14:35:13 +03:00
Nikolay Igotti 1113cdd555 Few more functions. 2017-03-02 17:33:19 +03:00
Nikolay Igotti 7855aa7479 Few more stdlib calls. 2017-03-02 16:35:08 +03:00
Igor Chevdar e2f2e31dc1 Added delegated property through map support + tests. 2017-03-01 14:40:10 +03:00
Igor Chevdar 94fd86f906 Implemented delegated properties. 2017-03-01 14:40:10 +03:00
Vasily Levchenko 663ad5868a ranges: pasto misleating 'external' modifier in Long.rangeTo(Byte) 2017-03-01 12:25:03 +03:00
Nikolay Igotti 720c060531 Add step() infix functions. 2017-02-28 19:22:44 +03:00
Nikolay Igotti 3cd4f76397 Add startsWith()/endsWith(). (#281) 2017-02-28 17:03:51 +03:00
Svyatoslav Scherbina 5584ef2541 stdlib: add more declarations from builtIns 2017-02-28 17:44:22 +07:00
Ilya Matveev 73adb8524d stdlib: Add mutableList.sort function 2017-02-28 10:59:25 +03:00
Ilya Matveev 135025ff8d stdlib: Add Comparator((T, T) -> Int) function 2017-02-28 10:59:25 +03:00
Nikolay Igotti a51c900271 Add equals() to basic value types. (#271) 2017-02-27 12:01:04 +03:00
Nikolay Igotti 234e704226 Fix string.h/String.h mismatch. 2017-02-22 13:53:41 +03:00
Svyatoslav Scherbina 72ff0c87cc runtime: improve integer overflow handling in bounds checks 2017-02-22 11:03:37 +07:00
Vasily Levchenko c14813068b STDLIB: null.toString() == "null" 2017-02-21 14:21:49 +03:00
Nikolay Igotti 45bb2fdb8b Add some string operations, refactor runtime. (#249) 2017-02-17 14:31:28 +03:00
Nikolay Igotti c0f9c9fd5d Implement reverse of lists, fixes few tests. 2017-02-17 12:44:06 +03:00
Nikolay Igotti 38c6b5e9ad More stdlib: sorting, better Appendable, other minor changes. (#245) 2017-02-16 17:00:37 +03:00
Vasily Levchenko dce92af744 STDLIB: boolean array routines: copyRangeTo 2017-02-15 17:23:21 +03:00
Vasily Levchenko fca160d09d RUNTIME: ExportForCompiler appliable to class 2017-02-15 14:48:28 +03:00
Vasily Levchenko f809fb3a06 STDLIB: default parameter marker object for constructors with default arguments (internal) 2017-02-15 14:48:28 +03:00
Nikolay Igotti a7bad9a950 Fix several tests by adding missing stdlib pieces. (#239) 2017-02-14 19:31:29 +03:00
Nikolay Igotti 57c899763d Switch runtime to UTF16 strings, sigh. (#236) 2017-02-14 11:03:20 +03:00
Nikolay Igotti 4978cecf7a Fix several tests. (#234) 2017-02-13 17:48:35 +03:00
Vasily Levchenko c8ed56b24a STDLIB: support for vararg of primitive types
- *Array.copyRangeTo for Byte,Short,Char,Long,Float,Double
- bunch of *ArrayOf(vararg elements:*) = elements and inlined
- small inhancement in  c++ part of Kotlin_*Array_copyImpl(...) refactored
2017-02-10 18:18:02 +03:00
Nikolay Igotti 4b27074979 Extremely conservative escape analysis. (#212) 2017-02-08 19:15:55 +03:00
Svyatoslav Scherbina 4b694225c1 backend/codegen, runtime: support interop intrinsics and natives 2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina 7f90ce3d8a backend: support native interop value types
also improve reliability of `==` lowering
2017-02-06 11:58:10 +07:00
Svyatoslav Scherbina 49815f72e0 Interop/Runtime: add support for Kotlin Native
Also add minor improvements, fix bugs and workaround missing features.
2017-02-06 11:58:10 +07:00
Igor Chevdar 2f9bde4482 Local objects (#215)
* bug fix

* bug fix with nested inner classes

* - fixed FixMeInner
- support of inner classes in local classes
- support of object expressions in initializers

* comments

* merged modification

* - review fixes
- tests

* review fixes

* review fixes
2017-02-03 19:41:34 +05:00
Nikolay Igotti bb43b6ab09 Fix Any.toString(). 2017-02-01 18:17:50 +03:00
Vasily Levchenko 4905d2a056 STDLIB: internal Array::<init>(Int) obtains konan.internal.ExportForCompiler annotation 2017-01-31 21:10:50 +03:00
Vasily Levchenko 47a5e13ff3 STDLIB: konan.internal.ExportForCompiler added annotation to mark symbol exported for generation with compiler 2017-01-31 21:10:50 +03:00
Nikolay Igotti f0950a92c3 Various small fixes. (#208) 2017-01-30 18:36:12 +03:00