diff --git a/Coroutines/Async vs Launch/Async/task-info.yaml b/Coroutines/Async vs Launch/Async/task-info.yaml index 98e4f63..63d582c 100644 --- a/Coroutines/Async vs Launch/Async/task-info.yaml +++ b/Coroutines/Async vs Launch/Async/task-info.yaml @@ -7,4 +7,4 @@ files: length: 37 placeholder_text: TODO() - name: test/Tests.kt - visible: false + visible: true diff --git a/Coroutines/Async vs Launch/AsyncTask1/task-info.yaml b/Coroutines/Async vs Launch/AsyncTask1/task-info.yaml deleted file mode 100644 index d05038c..0000000 --- a/Coroutines/Async vs Launch/AsyncTask1/task-info.yaml +++ /dev/null @@ -1 +0,0 @@ -type: edu diff --git a/Coroutines/Async vs Launch/Overview/src/Main.kt b/Coroutines/Async vs Launch/Introduction/src/Main.kt similarity index 100% rename from Coroutines/Async vs Launch/Overview/src/Main.kt rename to Coroutines/Async vs Launch/Introduction/src/Main.kt diff --git a/Coroutines/Async vs Launch/Overview/task-info.yaml b/Coroutines/Async vs Launch/Introduction/task-info.yaml similarity index 100% rename from Coroutines/Async vs Launch/Overview/task-info.yaml rename to Coroutines/Async vs Launch/Introduction/task-info.yaml diff --git a/Coroutines/Async vs Launch/Overview/task.md b/Coroutines/Async vs Launch/Introduction/task.md similarity index 100% rename from Coroutines/Async vs Launch/Overview/task.md rename to Coroutines/Async vs Launch/Introduction/task.md diff --git a/Coroutines/Async vs Launch/Launch/task-info.yaml b/Coroutines/Async vs Launch/Launch/task-info.yaml index 2a82056..5673256 100644 --- a/Coroutines/Async vs Launch/Launch/task-info.yaml +++ b/Coroutines/Async vs Launch/Launch/task-info.yaml @@ -7,4 +7,4 @@ files: length: 63 placeholder_text: TODO() - name: test/output.txt - visible: false + visible: true diff --git a/Coroutines/Async vs Launch/lesson-info.yaml b/Coroutines/Async vs Launch/lesson-info.yaml index c0a9569..6e4a5bc 100644 --- a/Coroutines/Async vs Launch/lesson-info.yaml +++ b/Coroutines/Async vs Launch/lesson-info.yaml @@ -1,4 +1,4 @@ content: - - Overview + - Introduction - Async - Launch diff --git a/Coroutines/Cancelation of Coroutines/Cancelling coroutines/task-info.yaml b/Coroutines/Cancelation of Coroutines/Cancelling coroutines/task-info.yaml index 144be16..2598a44 100644 --- a/Coroutines/Cancelation of Coroutines/Cancelling coroutines/task-info.yaml +++ b/Coroutines/Cancelation of Coroutines/Cancelling coroutines/task-info.yaml @@ -10,4 +10,4 @@ files: length: 47 placeholder_text: "" - name: test/output.txt - visible: false + visible: true diff --git a/Coroutines/Cancelation of Coroutines/Cooperative/task-info.yaml b/Coroutines/Cancelation of Coroutines/Cooperative/task-info.yaml index 47830c9..7094a2a 100644 --- a/Coroutines/Cancelation of Coroutines/Cooperative/task-info.yaml +++ b/Coroutines/Cancelation of Coroutines/Cooperative/task-info.yaml @@ -7,4 +7,4 @@ files: length: 18 placeholder_text: i < 10 - name: test/output.txt - visible: false + visible: true diff --git a/Coroutines/Composing suspend functions/Concurrent/task-info.yaml b/Coroutines/Composing suspend functions/Concurrent/task-info.yaml index 75e417b..7b4e351 100644 --- a/Coroutines/Composing suspend functions/Concurrent/task-info.yaml +++ b/Coroutines/Composing suspend functions/Concurrent/task-info.yaml @@ -16,4 +16,4 @@ files: length: 8 placeholder_text: "" - name: test/Tests.kt - visible: false + visible: true diff --git a/Coroutines/CoroutineContext and Dispatchers/Combining context elements/task-info.yaml b/Coroutines/CoroutineContext and Dispatchers/Combining context elements/task-info.yaml index 67d426a..3fd8e5c 100644 --- a/Coroutines/CoroutineContext and Dispatchers/Combining context elements/task-info.yaml +++ b/Coroutines/CoroutineContext and Dispatchers/Combining context elements/task-info.yaml @@ -10,4 +10,4 @@ files: length: 25 placeholder_text: "" - name: test/output.txt - visible: false + visible: true diff --git a/Coroutines/Exception-Handling/CoroutineExceptionHandler/task-info.yaml b/Coroutines/Exception-Handling/CoroutineExceptionHandler/task-info.yaml index 11788c8..a91d566 100644 --- a/Coroutines/Exception-Handling/CoroutineExceptionHandler/task-info.yaml +++ b/Coroutines/Exception-Handling/CoroutineExceptionHandler/task-info.yaml @@ -7,4 +7,4 @@ files: length: 98 placeholder_text: TODO() - name: test/output.txt - visible: false + visible: true diff --git a/Coroutines/Exception-Handling/Overview/src/Main.kt b/Coroutines/Exception-Handling/Introduction/src/Main.kt similarity index 100% rename from Coroutines/Exception-Handling/Overview/src/Main.kt rename to Coroutines/Exception-Handling/Introduction/src/Main.kt diff --git a/Coroutines/Exception-Handling/Overview/task-info.yaml b/Coroutines/Exception-Handling/Introduction/task-info.yaml similarity index 100% rename from Coroutines/Exception-Handling/Overview/task-info.yaml rename to Coroutines/Exception-Handling/Introduction/task-info.yaml diff --git a/Coroutines/Exception-Handling/Overview/task.md b/Coroutines/Exception-Handling/Introduction/task.md similarity index 100% rename from Coroutines/Exception-Handling/Overview/task.md rename to Coroutines/Exception-Handling/Introduction/task.md diff --git a/Coroutines/Exception-Handling/lesson-info.yaml b/Coroutines/Exception-Handling/lesson-info.yaml index b63f1c2..3db388f 100644 --- a/Coroutines/Exception-Handling/lesson-info.yaml +++ b/Coroutines/Exception-Handling/lesson-info.yaml @@ -1,3 +1,3 @@ content: - - Overview + - Introduction - CoroutineExceptionHandler diff --git a/Coroutines/Recap/Overview/src/Main.kt b/Coroutines/Recap/Introduction/src/Main.kt similarity index 100% rename from Coroutines/Recap/Overview/src/Main.kt rename to Coroutines/Recap/Introduction/src/Main.kt diff --git a/Coroutines/Recap/Overview/task-info.yaml b/Coroutines/Recap/Introduction/task-info.yaml similarity index 100% rename from Coroutines/Recap/Overview/task-info.yaml rename to Coroutines/Recap/Introduction/task-info.yaml diff --git a/Coroutines/Recap/Overview/task.md b/Coroutines/Recap/Introduction/task.md similarity index 100% rename from Coroutines/Recap/Overview/task.md rename to Coroutines/Recap/Introduction/task.md diff --git a/Coroutines/Recap/lesson-info.yaml b/Coroutines/Recap/lesson-info.yaml index 2fcc435..568af76 100644 --- a/Coroutines/Recap/lesson-info.yaml +++ b/Coroutines/Recap/lesson-info.yaml @@ -1,2 +1,2 @@ content: - - Overview + - Introduction diff --git a/DSL/DSL toolbox/Create a DSL/task-info.yaml b/DSL/DSL toolbox/Create a DSL/task-info.yaml index 108162e..a336873 100644 --- a/DSL/DSL toolbox/Create a DSL/task-info.yaml +++ b/DSL/DSL toolbox/Create a DSL/task-info.yaml @@ -7,4 +7,4 @@ files: length: 917 placeholder_text: // Implement your DSL here - name: test/output.txt - visible: false + visible: true diff --git a/DSL/Infix functions/Define infix function/task-info.yaml b/DSL/Infix functions/Define infix function/task-info.yaml index e5914be..91c86eb 100644 --- a/DSL/Infix functions/Define infix function/task-info.yaml +++ b/DSL/Infix functions/Define infix function/task-info.yaml @@ -7,4 +7,4 @@ files: length: 83 placeholder_text: // Define the infix function "pow" here - name: test/Tests.kt - visible: false + visible: true diff --git a/Delegation/Delegated properties/Create read-only delegate/task-info.yaml b/Delegation/Delegated properties/Create read-only delegate/task-info.yaml index 1edf8ea..160889f 100644 --- a/Delegation/Delegated properties/Create read-only delegate/task-info.yaml +++ b/Delegation/Delegated properties/Create read-only delegate/task-info.yaml @@ -7,4 +7,4 @@ files: length: 331 placeholder_text: class LazyPokemonProperty - name: test/output.txt - visible: false + visible: true diff --git a/Delegation/Delegated properties/Create read-write delegate/task-info.yaml b/Delegation/Delegated properties/Create read-write delegate/task-info.yaml index 3223fbd..8fda16f 100644 --- a/Delegation/Delegated properties/Create read-write delegate/task-info.yaml +++ b/Delegation/Delegated properties/Create read-write delegate/task-info.yaml @@ -7,4 +7,4 @@ files: length: 476 placeholder_text: class AuditedProperty - name: test/output.txt - visible: false + visible: true diff --git a/Delegation/Delegated properties/Use delegated property/task-info.yaml b/Delegation/Delegated properties/Use delegated property/task-info.yaml index 89978f4..143cece 100644 --- a/Delegation/Delegated properties/Use delegated property/task-info.yaml +++ b/Delegation/Delegated properties/Use delegated property/task-info.yaml @@ -7,4 +7,4 @@ files: length: 171 placeholder_text: " var name: String" - name: test/output.txt - visible: false + visible: true diff --git a/Delegation/Delegates/Create a delegate/task-info.yaml b/Delegation/Delegates/Create a delegate/task-info.yaml index baf0e7b..a590d2a 100644 --- a/Delegation/Delegates/Create a delegate/task-info.yaml +++ b/Delegation/Delegates/Create a delegate/task-info.yaml @@ -13,4 +13,4 @@ files: length: 39 placeholder_text: TODO() - name: test/output.txt - visible: false + visible: true diff --git a/Delegation/Delegates/Overwrite a delegate/task-info.yaml b/Delegation/Delegates/Overwrite a delegate/task-info.yaml index 86dedaa..26f80a1 100644 --- a/Delegation/Delegates/Overwrite a delegate/task-info.yaml +++ b/Delegation/Delegates/Overwrite a delegate/task-info.yaml @@ -7,4 +7,4 @@ files: length: 152 placeholder_text: class PeacefulPokemon - name: test/output.txt - visible: false + visible: true diff --git a/Delegation/Examples/task-info.yaml b/Delegation/Examples/task-info.yaml deleted file mode 100644 index 2ea9471..0000000 --- a/Delegation/Examples/task-info.yaml +++ /dev/null @@ -1 +0,0 @@ -type: theory diff --git a/Delegation/task1/task-info.yaml b/Delegation/task1/task-info.yaml deleted file mode 100644 index d05038c..0000000 --- a/Delegation/task1/task-info.yaml +++ /dev/null @@ -1 +0,0 @@ -type: edu diff --git a/Generics/Constraints/Specify multiple constraints/task-info.yaml b/Generics/Constraints/Specify multiple constraints/task-info.yaml index 1ea4663..1d8837c 100644 --- a/Generics/Constraints/Specify multiple constraints/task-info.yaml +++ b/Generics/Constraints/Specify multiple constraints/task-info.yaml @@ -7,4 +7,4 @@ files: length: 374 placeholder_text: class Omniball - name: test/output.txt - visible: false + visible: true diff --git a/Generics/Constraints/Specify single constraint/task-info.yaml b/Generics/Constraints/Specify single constraint/task-info.yaml index 3757720..e6d4a0b 100644 --- a/Generics/Constraints/Specify single constraint/task-info.yaml +++ b/Generics/Constraints/Specify single constraint/task-info.yaml @@ -7,4 +7,4 @@ files: length: 344 placeholder_text: class Pokeball - name: test/output.txt - visible: false + visible: true diff --git a/Generics/Generic functions/Create generic function/task-info.yaml b/Generics/Generic functions/Create generic function/task-info.yaml index e031ebe..3ba5e16 100644 --- a/Generics/Generic functions/Create generic function/task-info.yaml +++ b/Generics/Generic functions/Create generic function/task-info.yaml @@ -7,4 +7,4 @@ files: length: 99 placeholder_text: "fun getHealthiestPokemon() {}" - name: test/Tests.kt - visible: false + visible: true diff --git a/Generics/Reified keyword/Use reified types/task-info.yaml b/Generics/Reified keyword/Use reified types/task-info.yaml index 97fe7f2..5917221 100644 --- a/Generics/Reified keyword/Use reified types/task-info.yaml +++ b/Generics/Reified keyword/Use reified types/task-info.yaml @@ -7,4 +7,4 @@ files: length: 137 placeholder_text: "fun filterByType(pokemons: List)" - name: test/Tests.kt - visible: false + visible: true diff --git a/Generics/Star projection/Using star-projection/task-info.yaml b/Generics/Star projection/Using star-projection/task-info.yaml index faa41ab..8ce1fae 100644 --- a/Generics/Star projection/Using star-projection/task-info.yaml +++ b/Generics/Star projection/Using star-projection/task-info.yaml @@ -7,4 +7,4 @@ files: length: 110 placeholder_text: "fun isInfoComplete(/* TODO */): Boolean" - name: test/Tests.kt - visible: false + visible: true diff --git a/Generics/Variance/Create contravariant generic/task-info.yaml b/Generics/Variance/Create contravariant generic/task-info.yaml index 9fc2de9..14424c6 100644 --- a/Generics/Variance/Create contravariant generic/task-info.yaml +++ b/Generics/Variance/Create contravariant generic/task-info.yaml @@ -7,4 +7,4 @@ files: length: 103 placeholder_text: class Pokeball - name: test/output.txt - visible: false + visible: true diff --git a/Generics/Variance/Create covariant generic/task-info.yaml b/Generics/Variance/Create covariant generic/task-info.yaml index 763b051..76844c3 100644 --- a/Generics/Variance/Create covariant generic/task-info.yaml +++ b/Generics/Variance/Create covariant generic/task-info.yaml @@ -7,4 +7,4 @@ files: length: 89 placeholder_text: class Pokeball - name: test/output.txt - visible: false + visible: true diff --git a/Inline/Inline Classes/Inline classes vs Type Aliases/task.md b/Inline/Inline Classes/Inline classes vs Type Aliases/task.md index 9fd53ce..37486c6 100644 --- a/Inline/Inline Classes/Inline classes vs Type Aliases/task.md +++ b/Inline/Inline Classes/Inline classes vs Type Aliases/task.md @@ -1,6 +1,6 @@ # Inline Classes vs Type Aliases -Both, tools introduce a new type and represent the underlying type. +Both tools introduce a new type and represent the underlying type. Hence, both may be treated as a wrapper. ## Recap Type Alias diff --git a/Inline/Inline Classes/Introduction/task.md b/Inline/Inline Classes/Introduction/task.md index 057d575..7dc39ce 100644 --- a/Inline/Inline Classes/Introduction/task.md +++ b/Inline/Inline Classes/Introduction/task.md @@ -6,17 +6,22 @@ They are a subset of value-based classes like the primitives Int, Long, etc. Inline classes behave differently compared to regular classes. They are represented both as the underlying values type and as a wrapper. Hence, they do not have a stable identity. -Therefor, reference equality ( === ) is not provided. +Therefore, reference equality ( === ) is not provided. -## Exmaple: Int +## Example: Int -The kotlin Int class may be represented as the primitive **int** in the JVM platform or as the boxed Integer class. +The Kotlin Int class may be represented as the primitive **int** in the JVM platform or as the boxed Integer class. Inline classes are a tool to allow developers to define value-based classes to provide this behavior. ## Declaration -To declare an inline class the *value* keyword is used. In addition, the **JvmInline** annotation must be annotated. +To declare an inline class the *value* keyword is used. In addition, the `@JvmInline` annotation must be added: + +```kotlin +@JvmInline +value class PositiveId(private val value: Long) +``` The inline classes force to initialize a single property in the primary constructor. Not more, not less. diff --git a/Inline/Inline Classes/Examples/src/Api.kt b/Inline/Inline Classes/Tasks/src/Api.kt similarity index 100% rename from Inline/Inline Classes/Examples/src/Api.kt rename to Inline/Inline Classes/Tasks/src/Api.kt diff --git a/Inline/Inline Classes/Examples/src/Model.kt b/Inline/Inline Classes/Tasks/src/Model.kt similarity index 100% rename from Inline/Inline Classes/Examples/src/Model.kt rename to Inline/Inline Classes/Tasks/src/Model.kt diff --git a/Inline/Inline Classes/Examples/src/Task.kt b/Inline/Inline Classes/Tasks/src/Task.kt similarity index 100% rename from Inline/Inline Classes/Examples/src/Task.kt rename to Inline/Inline Classes/Tasks/src/Task.kt diff --git a/Inline/Inline Classes/Examples/src/Vault.kt b/Inline/Inline Classes/Tasks/src/Vault.kt similarity index 100% rename from Inline/Inline Classes/Examples/src/Vault.kt rename to Inline/Inline Classes/Tasks/src/Vault.kt diff --git a/Inline/Inline Classes/Examples/task-info.yaml b/Inline/Inline Classes/Tasks/task-info.yaml similarity index 100% rename from Inline/Inline Classes/Examples/task-info.yaml rename to Inline/Inline Classes/Tasks/task-info.yaml diff --git a/Inline/Inline Classes/Examples/task.md b/Inline/Inline Classes/Tasks/task.md similarity index 100% rename from Inline/Inline Classes/Examples/task.md rename to Inline/Inline Classes/Tasks/task.md diff --git a/Inline/Inline Classes/Examples/test/Tests.kt b/Inline/Inline Classes/Tasks/test/Tests.kt similarity index 100% rename from Inline/Inline Classes/Examples/test/Tests.kt rename to Inline/Inline Classes/Tasks/test/Tests.kt diff --git a/Inline/Inline Classes/lesson-info.yaml b/Inline/Inline Classes/lesson-info.yaml index acc0f39..ba46993 100644 --- a/Inline/Inline Classes/lesson-info.yaml +++ b/Inline/Inline Classes/lesson-info.yaml @@ -1,4 +1,4 @@ content: - Introduction - Inline classes vs Type Aliases - - Examples + - Tasks diff --git a/Operators/Arithmetic operators/Define arithmetic operators/task-info.yaml b/Operators/Arithmetic operators/Define arithmetic operators/task-info.yaml index 017cdc2..9162f0f 100644 --- a/Operators/Arithmetic operators/Define arithmetic operators/task-info.yaml +++ b/Operators/Arithmetic operators/Define arithmetic operators/task-info.yaml @@ -7,4 +7,4 @@ files: length: 269 placeholder_text: // Define operators here - name: test/Tests.kt - visible: false + visible: true diff --git a/Operators/Collection operators/Define collection operators/task-info.yaml b/Operators/Collection operators/Define collection operators/task-info.yaml index eb299e2..22586e1 100644 --- a/Operators/Collection operators/Define collection operators/task-info.yaml +++ b/Operators/Collection operators/Define collection operators/task-info.yaml @@ -7,4 +7,4 @@ files: length: 210 placeholder_text: // Define collection operators here - name: test/Tests.kt - visible: false + visible: true diff --git a/Operators/Invoke operator/Define invoke operator/task-info.yaml b/Operators/Invoke operator/Define invoke operator/task-info.yaml index 23c9f4f..7aabd3b 100644 --- a/Operators/Invoke operator/Define invoke operator/task-info.yaml +++ b/Operators/Invoke operator/Define invoke operator/task-info.yaml @@ -7,4 +7,4 @@ files: length: 192 placeholder_text: // Implement the invoke operator here - name: test/output.txt - visible: false + visible: true diff --git a/Serialization/kotlinx.serialization/lesson-info.yaml b/Serialization/kotlinx.serialization/lesson-info.yaml index ddbf507..f80cd8c 100644 --- a/Serialization/kotlinx.serialization/lesson-info.yaml +++ b/Serialization/kotlinx.serialization/lesson-info.yaml @@ -1,4 +1,3 @@ -type: framework content: - Introduction - Basics diff --git a/Types/Kotlin type hierarchy/Introduction/src/Main.kt b/Types/Kotlin type hierarchy/Introduction/src/Main.kt index 65899d3..f1eafa9 100644 --- a/Types/Kotlin type hierarchy/Introduction/src/Main.kt +++ b/Types/Kotlin type hierarchy/Introduction/src/Main.kt @@ -1,7 +1,3 @@ fun main() { -} - -fun test(a: Nothing) { - } \ No newline at end of file diff --git a/course-info.yaml b/course-info.yaml index 36b7b34..bddc7f9 100644 --- a/course-info.yaml +++ b/course-info.yaml @@ -7,12 +7,12 @@ solutions_hidden: true content: - Types - Inline - - Generics - - Coroutines - - Flow - Delegation - Operators - - Serialization + - Coroutines + - Flow + - Generics - DSL + - Serialization environment_settings: jvm_language_level: JDK_1_8