in Sources/SIL/SILParser.swift [402:420]
func parseConvention() throws -> Convention {
try take("(")
let result: Convention
if skip("c") {
result = .c
} else if skip("method") {
result = .method
} else if skip("thin") {
result = .thin
} else if skip("witness_method") {
try take(":")
let type = try parseNakedType()
result = .witnessMethod(type)
} else {
throw parseError("unknown convention")
}
try take(")")
return result
}