Skip to content

Latest commit

 

History

History
159 lines (157 loc) · 3.68 KB

TODO.md

File metadata and controls

159 lines (157 loc) · 3.68 KB

TODO

Language features

  • 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
    • 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
    • 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
  • 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

Misc

  • Remove most if not all JS IR references from compiler
  • Disable type erasure hints and analysis errors