in Sources/SwiftDriver/Jobs/CommandLineArguments.swift [77:109]
mutating func append(_ parsedOption: ParsedOption) throws {
let option = parsedOption.option
let argument = parsedOption.argument
switch option.kind {
case .input:
try appendSingleArgument(option: option, argument: argument.asSingle)
case .flag:
appendFlag(option)
case .separate, .joinedOrSeparate:
appendFlag(option.spelling)
try appendSingleArgument(option: option, argument: argument.asSingle)
case .commaJoined:
assert(!option.attributes.contains(.argumentIsPath))
appendFlag(option.spelling + argument.asMultiple.joined(separator: ","))
case .remaining:
appendFlag(option.spelling)
for arg in argument.asMultiple {
try appendSingleArgument(option: option, argument: arg)
}
case .joined:
if option.attributes.contains(.argumentIsPath) {
append(.joinedOptionAndPath(option.spelling, try VirtualPath(path: argument.asSingle)))
} else {
appendFlag(option.spelling + argument.asSingle)
}
}
}