- Top level functions
- Built-ins
- Annotation
- Any
- Arrays
- Array
- ByteArray
- CharArray
- ShortArray
- IntArray
- LongArray
- FloatArray
- DoubleArray
- BooleanArray
- Boolean
- Char
- CharSequence
- Collections
- Comparable
- Enum
- Iterator
- Library
- Nothing
- Number
- Primitives
- Byte
- Short
- Int
- Long
- Float
- Double
- String
- Throwable
- Classes
- Regular classes
- Abstract classes
- Nested classes
- Inner classes
- Inline (value) classes
- Data classes
- Sealed classes
- Enum classes
- Annotation classes
- Interfaces
- Regular interfaces
- SAM interfaces
- Objects
- Companion objects
- Class members
- Constructors
- Primary constructors
- Secondary constructors
- Initializer blocks
- Properties
- Getters
- Setters
- Properties with backing fields
- Delegated properties
- Inline properties
- Methods
- Constructors
- Inheritance
- Overrides
- Delegation
- Function types
- Inline
- Inline functions
-
noinline
- Non-local returns
- Expressions
- Literals
- Int literals
- Decimal literals
- Hexadecimal literals
- Float literals
- Double literals
- Character literals
- String literals
- Single string literal
- Multiline string literal
- String interpolations
- Int literals
- Try catch expressions
- Conditional expressions
- When expressions
- Disjunctions
- Conjunctions
- Comparisons
- Equality
- Structural equality
- Referential equality
- Float equality specifics
- Type checking expression
- Containment check expression
- Elvis expressions
- Range expressions
- Additions
- Multiplications
- Cast expressions
- Prefix increment expressions
- Prefix decrement expressions
- Unary minus expressions
- Unary plus expressions
- Logical not expressions
- Postfix increment expressions
- Postfix decrement expressions
- Not-null assertions
- Indexing expressions
- Function calls
- Constructor calls
- Property access expressions
- Callable references
- Spread expression
- Anonymous functions
- Lambda literals
- Object expressions
- This expressions
- Non-qualified this
- Qualified this (
this@label
) - Function literal this
- Super expressions
- Jump expressions
- Throw expressions
- Return expressions
- Continue expressions
- Break expressions
- Literals
- Statements
- Assignments
- Loops
- For loop
- While loop
- Visibility
- Private
- Protected
- Internal
- Operator overloading
- Extensions
- Extension methods
- Extension properties
- Companion object extensions
- Generics
- Variance (in, out)
- Constraints
- One upper bound
- Multiple upper bounds
- Exceptions
- Nothing type
- Function overloading
- Coroutines
- Type aliases
- Annotations
- Destructuring
- Reflection
- Class literals
- Remove most if not all JS IR references from compiler
- Disable type erasure hints and analysis errors