Files
kotlin-fork/libraries/stdlib
Dmitry Savvinov 2c0ef592e6 Effects: add DSL for declaration of contracts
- Introduce DSL for declaration of contracts. Functions and classes in
this DSL do not bear any computational semantics: in fact, they all do
not exist on runtime. Whole work of extracting semantics from such calls
is done by special parts of compiler

- To make distinguishing those declarations more robust and
convenient, introduce internal annotation @ContractsDSL

- Turn off InlineChecker inside contracts DSL. We do this, because some
functions from DSL should take any possible lambda, so we can't write
any type besides 'Function<R>'. However, InlineChecker will complain if
we will pass inlined lambda in such function -- though, this is false
positive because we know that functions from contracts DSL will never be
executed

- Change testData on HierarchyTestWithLib, where new enum from
kotlin.internal changed expected output

==========
Effect System introduction: 7/18
2017-10-11 13:34:54 +03:00
..
2017-09-20 11:51:41 +02:00
2017-10-10 14:11:15 +03:00
2017-09-19 21:37:09 +02:00

The Kotlin Standard Library

This module creates the standard library for kotlin.

Notes for contributors

We use some code generation to generate the various utility extension function for the various collection-like types like arrays, strings, Collection<T>, Sequence<T>, Map<K, V> etc.

These sources are placed into generated folder and their names are prefixed with the underscore, for example generated/_Collections.kt

To run the code generator from the libraries directory of a kotlin checkout, use the following command:

./gradlew :tools:kotlin-stdlib-gen:run

Note: on Windows type gradlew without the leading ./

This then runs the script which generates a significant part of stdlib sources from the templates authored with a special kotlin based DSL.