========================== Simple strings ========================== val oneLineString = "I'm just on one line" val multiLineString = """ a $thisIsntInterpolated ${thisEither} """ --- (compilation_unit (val_definition (identifier) (string)) (val_definition (identifier) (string))) ========================== Interpolated strings ========================== val string1 = s"a $b ${c}" val string2 = f"hi $name%s" val string3 = raw"Not a new line \n${ha}" val string4 = s""" works even in multiline strings, ${name} """ --- (compilation_unit (val_definition (identifier) (interpolated_string_expression (identifier) (interpolated_string (interpolation (identifier)) (interpolation (block (identifier)))))) (val_definition (identifier) (interpolated_string_expression (identifier) (interpolated_string (interpolation (identifier))))) (val_definition (identifier) (interpolated_string_expression (identifier) (interpolated_string (interpolation (block (identifier)))))) (val_definition (identifier) (interpolated_string_expression (identifier) (interpolated_string (interpolation (block (identifier))))))) ========================== Integer literals ========================== val i1 = 0 val i2 = 1234 val i3 = -0xF2 val i4 = 0XA0 val l1 = -0l val l2 = 1234L val l3 = 0xF23l val l4 = 0XA03L --- (compilation_unit (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) (val_definition (identifier) (integer_literal)) ) ========================== Floating point literals ========================== val f1 = 3.14 val f2 = -3f val f2 = 3E-1 val d1 = .314D --- (compilation_unit (val_definition (identifier) (floating_point_literal)) (val_definition (identifier) (floating_point_literal)) (val_definition (identifier) (floating_point_literal)) (val_definition (identifier) (floating_point_literal)) ) ========================== Boolean literals ========================== val myBool = true def foo(a: Boolean = false) = a && true --- (compilation_unit (val_definition (identifier) (boolean_literal)) (function_definition (identifier) (parameters (parameter (identifier) (type_identifier) (boolean_literal))) (infix_expression (identifier) (operator_identifier) (boolean_literal)))) ========================== Character literals ========================== val myChar = 'c' val otherChar = '\u0041' val anotherChar = '\n' def foo(a: Char = 'c') = a + 'd' --- (compilation_unit (val_definition (identifier) (character_literal)) (val_definition (identifier) (character_literal)) (val_definition (identifier) (character_literal)) (function_definition (identifier) (parameters (parameter (identifier) (type_identifier) (character_literal))) (infix_expression (identifier) (operator_identifier) (character_literal)))) ========================== Symbol literals ========================== val mySymbol = 'c val myOtherSymbol = 'thing --- (compilation_unit (val_definition (identifier) (symbol_literal)) (val_definition (identifier) (symbol_literal))) ========================== Null ========================== lazy val nullObject: String = null --- (compilation_unit (val_definition (modifiers) (identifier) (type_identifier) (null_literal)))