public class C {
  private var PrivateVar = 10
  public var PublicVar = 10
  var InternalVar = 10
  var InternalVar1 = 10, InternalVar2 = 10
  private var (PrivateTuple1, PrivateTuple2) = (10, 20)
  var (InternalTuple1, InternalTuple2) = (10, 20)
}

// RUN: %target-swift-ide-test -print-ast-typechecked -access-filter-internal -source-filename %s | %FileCheck %s -check-prefix=CHECK1
// CHECK1: {{^}}public class C {{{$}}
// CHECK1-NOT: private
// CHECK1: {{^}}  public var PublicVar: Int{{$}}
// CHECK1: {{^}}  var InternalVar: Int{{$}}
// CHECK1: {{^}}  var InternalVar1: Int, InternalVar2: Int{{$}}
// CHECK1-NOT: private
// CHECK1: {{^}}  var (InternalTuple1, InternalTuple2): (Int, Int){{$}}

// RUN: %target-swift-ide-test -fully-qualified-types -print-ast-typechecked -access-filter-internal -source-filename %s | %FileCheck %s -check-prefix=FULLY_QUAL
// FULLY_QUAL: public var PublicVar: Swift.Int
