message: Use a Set to store reserved keywords in Swift
diff: @@ -52,20 +52,20 @@ export function protocolPropertyDeclarations(generator, properties) {
  properties.forEach(property => protocolPropertyDeclaration(generator, property));
  }
  -const reservedKeywords = ['associatedtype', 'class', 'deinit', 'enum', 'extension',
  +const reservedKeywords = new Set(['associatedtype', 'class', 'deinit', 'enum', 'extension',
  'fileprivate', 'func', 'import', 'init', 'inout', 'internal', 'let', 'open',
  'operator', 'private', 'protocol', 'public', 'static', 'struct', 'subscript',
  'typealias', 'var', 'break', 'case', 'continue', 'default', 'defer', 'do',
  'else', 'fallthrough', 'for', 'guard', 'if', 'in', 'repeat', 'return',
  - 'switch', 'where', 'while', `as`, `Any`, `catch`, `false`, `is`, `nil`,
  - `rethrows`, `super`, `self`, `Self`, `throw`, `throws`, `true`, `try`,
  - `associativity`, `convenience`, `dynamic`, `didSet`, `final`, `get`, `infix`,
  - `indirect`, `lazy`, `left`, `mutating`, `none`, `nonmutating`, `optional`,
  - `override`, `postfix`, `precedence`, `prefix`, `Protocol`, `required`, `right`,
  - `set`, `Type`, `unowned`, `weak`, `willSet`];
  + 'switch', 'where', 'while', 'as', 'Any', 'catch', 'false', 'is', 'nil',
  + 'rethrows', 'super', 'self', 'Self', 'throw', 'throws', 'true', 'try',
  + 'associativity', 'convenience', 'dynamic', 'didSet', 'final', 'get', 'infix',
  + 'indirect', 'lazy', 'left', 'mutating', 'none', 'nonmutating', 'optional',
  + 'override', 'postfix', 'precedence', 'prefix', 'Protocol', 'required', 'right',
  + 'set', 'Type', 'unowned', 'weak', 'willSet']);
  export function escapeIdentifierIfNeeded(identifier) {
  - if (reservedKeywords.includes(identifier)) {
  + if (reservedKeywords.has(identifier)) {
  return '`' + identifier + '`';
  } else {
  return identifier;
  