blob: 23b20db15cc1ca9fbed9fc81a451cc00762ff5b1 [file] [log] [blame]
// Test that we can define and use basic functions/expressions in the REPL.
// Note: All of this should work on all supported platforms.
// RUN: %lldb --repl < %s | FileCheck %s
type(of: 1)
// CHECK: $R0: Int.Type = Int
func foo_concat(_ name: String) -> String {
let c = name + "::" + name
return c
}
foo_concat("foo")
// CHECK-NEXT: $R1: String = "foo::foo"
3 + 2
// CHECK-NEXT: $R2: Int = 5
$R2 + 5
// CHECK-NEXT: $R3: Int = 10
var names = [ "Chris", "Alex", "Ewa", "Barry", "Daniella" ]
// CHECK: names: [String] = 5 values {
// CHECK-NEXT: [0] = "Chris"
// CHECK-NEXT: [1] = "Alex"
// CHECK-NEXT: [2] = "Ewa"
// CHECK-NEXT: [3] = "Barry"
// CHECK-NEXT: [4] = "Daniella"
// CHECK-NEXT: }
names.sort {$0 < $1}
names
// CHECK: $R4: [String] = 5 values {
// CHECK-NEXT: [0] = "Alex"
// CHECK-NEXT: [1] = "Barry"
// CHECK-NEXT: [2] = "Chris"
// CHECK-NEXT: [3] = "Daniella"
// CHECK-NEXT: [4] = "Ewa"
// CHECK-NEXT: }
Array(names.lazy.reversed())
// CHECK: $R5: [String] = 5 values {
// CHECK-NEXT: [0] = "Ewa"
// CHECK-NEXT: [1] = "Daniella"
// CHECK-NEXT: [2] = "Chris"
// CHECK-NEXT: [3] = "Barry"
// CHECK-NEXT: [4] = "Alex"
// CHECK-NEXT: }
[[1,2,3,4],[1,2,3],[1,2],[],[1]]
// CHECK: $R6: {{\[\[Int\]\]}} = 5 values {
// CHECK-NEXT: [0] = 4 values {
// CHECK-NEXT: [0] = 1
// CHECK-NEXT: [1] = 2
// CHECK-NEXT: [2] = 3
// CHECK-NEXT: [3] = 4
// CHECK-NEXT: }
// CHECK-NEXT: [1] = 3 values {
// CHECK-NEXT: [0] = 1
// CHECK-NEXT: [1] = 2
// CHECK-NEXT: [2] = 3
// CHECK-NEXT: }
// CHECK-NEXT: [2] = 2 values {
// CHECK-NEXT: [0] = 1
// CHECK-NEXT: [1] = 2
// CHECK-NEXT: }
// CHECK-NEXT: [3] = 0 values
// CHECK-NEXT: [4] = 1 value {
// CHECK-NEXT: [0] = 1
// CHECK-NEXT: }
// CHECK-NEXT: }
let some_int = 1
some_int
// CHECK: $R7: Int = 1
let some_str = "Hello"
some_str
// CHECK: $R8: String = "Hello"