Files
swift-mirror/test/Interop/SwiftToCxx/structs/nested-structs-in-cxx.swift

79 lines
1.9 KiB
Swift

// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend %s -enable-library-evolution -module-name Structs -clang-header-expose-decls=all-public -typecheck -verify -emit-clang-header-path %t/structs.h
// RUN: %check-interop-cxx-header-in-clang(%t/structs.h -DSWIFT_CXX_INTEROP_HIDE_STL_OVERLAY -std=c++17)
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend %s -module-name Structs -clang-header-expose-decls=all-public -typecheck -verify -emit-clang-header-path %t/structs.h
// RUN: %check-interop-cxx-header-in-clang(%t/structs.h -DSWIFT_CXX_INTEROP_HIDE_STL_OVERLAY -std=c++17)
public enum AudioFileType {
public enum WaveType {
case THIS
case THAT
}
public struct SubType {
public var id: Int
}
case CAF(SubType), WAVE(WaveType)
}
public struct RecordConfig {
public enum AudioFormat {
case PCM, ALAC, AAC
}
public struct Directory {
public var path: String?
}
public struct File {
public var type: AudioFileType = .CAF(AudioFileType.SubType(id: 42))
public var format: AudioFormat = .ALAC
public struct Gate {
public var prop: Double = -80.0
}
}
public class Serializer {
public init(_ x: Int) { self.id = x }
public var id: Int
}
public var directory = Directory()
public var file = File()
public var gate = File.Gate()
}
public class AuxConfig {
public struct AuxDirectory {
public var path: String?
}
public var directory = AuxDirectory()
}
public func makeRecordConfig() -> RecordConfig {
return RecordConfig()
}
public func makeAudioFileType() -> AudioFileType {
return AudioFileType.CAF(AudioFileType.SubType(id: 42))
}
public class TestObject {
enum CustomError: Swift.Error {
case invalid
}
}
extension RecordConfig.File {
public func getFileExtension() -> String { ".wav" }
}
public func getFiles() -> [RecordConfig.File] {
[]
}