Kotlin M8
Pre-release
Pre-release
·
105540 commits
to master
since this release
What's new:
- JVM
- Reflection for properties introduced
- Inline functions
- Inlines into objects are supported
- Default parameter values supported for inline functions
- Generated code speedups
- delegated properties work faster now
- when's with constants are faster due to dedicated bytecode instructions used
- breaking change Reporting platform signature clashes
[platformName]
annotation to resolve signature conflicts
transient
,synchronized
andstrictfp
supported on the JVM
- JS
- data classes supported
LinkedHashSet
/LinkedHashMap
supported
- Language
- breaking change
private
in a package now means "in this package and subpackages in the same module" - breaking change extension properties can't have backing fields
- breaking change Bare
@
and@@
are no longer available
- breaking change
- Standard library
slice()
- collection-like operations on strings
Map.contains
join()
for rendering separated listsString.substringBefore/After[Last]
String.replaceBefore/After[Last]
Appendable.appendln()
StringBuilder {}
Iterable.merge(other) { (v1,v2)→v }
- set operations (
union
,intersect
,subtract
)
- IDE
- IntelliJ IDEA 14 EAP supported
- Debugger
- Evaluate expression
- Smart step into
- Refactorings
- Move toplevel declarations to separate file
- Extract function (not finished, but some cases working)
- Extract local function
- Intentions
- DeMorgan law
- Flip binary expression (== etc)
- Split if
- Replace with operator sign
- Replace with traditional assignment
- Replace with infix call
- Simplify boolean expressions
- Add/Remove explicit type arguments
- assert <-> if with throw
- if <-> ?:
- !! <-> if
- make types explicit/implicit in lambda
- forEach { } <-> for loop
- string concatenation <-> interpolation
- Smart completion
- smarter on overloads
- callable references (::functionName)
- lambdas
- !! and ?: for nullable members
- anonymous classes (object expressions)
- constants in when()
- Formatter improved
- Structure view shows members of supertypes
- J2K converter improved
- Speedups in highlighting and completion
- Support for new versions of Gradle/Android (0.10, 0.11, 0.12)