// RUN: %target-swift-frontend %s -emit-ir -g -o - | FileCheck %s // LValues are direct values, too. They are reference types, though. func markUsed(t: T) {} class Class { var ivar : Int init() { ivar = 1234 } } class Other : Class { var ovar : Int override init() { ovar = 112233 super.init() ivar = 4321 } } struct Struct { var ivar : Int init() { ivar = 4567 } } func foo(inout x: Class) { // CHECK: !DILocalVariable(tag: DW_TAG_arg_variable, name: "x",{{.*}} line: [[@LINE-1]] markUsed(x.ivar) x.ivar++ // Set breakpoint here } func foo(inout x: Struct) { // CHECK: !DILocalVariable(tag: DW_TAG_arg_variable, name: "x",{{.*}} line: [[@LINE-1]] markUsed(x.ivar) x.ivar++ // Set breakpoint here } func main() { var c: Class = Other() var s = Struct() foo(&c) foo(&s) foo(&c) foo(&s) } main()