Skip to content

Commit d8c30d1

Browse files
committed
Created an intermediate type for NSXMLNodeOptions
This is intended to smooth issues with alternate definitions of Int on 32/64 bit platforms.
1 parent 58e40e1 commit d8c30d1

File tree

1 file changed

+34
-28
lines changed

1 file changed

+34
-28
lines changed

Foundation/NSXMLNodeOptions.swift

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -43,49 +43,55 @@
4343
@constant NSXMLDocumentIncludeContentTypeDeclaration Include a content type declaration for HTML or XHTML
4444
*/
4545

46-
public var NSXMLNodeOptionsNone: Int { return 0 }
46+
#if arch(x86_64)
47+
public typealias NSXMLNodeOptionRawType = Int
48+
#else
49+
public typealias NSXMLNodeOptionRawType = Int64
50+
#endif
51+
52+
public var NSXMLNodeOptionsNone: NSXMLNodeOptionRawType { return 0 }
4753

4854
// Init
49-
public var NSXMLNodeIsCDATA: UInt { return 1 << 0 }
50-
public var NSXMLNodeExpandEmptyElement: UInt { return 1 << 1 } // <a></a>
51-
public var NSXMLNodeCompactEmptyElement: UInt { return 1 << 2 } // <a/>
52-
public var NSXMLNodeUseSingleQuotes: UInt { return 1 << 3 }
53-
public var NSXMLNodeUseDoubleQuotes: UInt { return 1 << 4 }
54-
public var NSXMLNodeNeverEscapeContents: UInt { return 1 << 5 }
55+
public var NSXMLNodeIsCDATA: NSXMLNodeOptionRawType { return 1 << 0 }
56+
public var NSXMLNodeExpandEmptyElement: NSXMLNodeOptionRawType { return 1 << 1 } // <a></a>
57+
public var NSXMLNodeCompactEmptyElement: NSXMLNodeOptionRawType { return 1 << 2 } // <a/>
58+
public var NSXMLNodeUseSingleQuotes: NSXMLNodeOptionRawType { return 1 << 3 }
59+
public var NSXMLNodeUseDoubleQuotes: NSXMLNodeOptionRawType { return 1 << 4 }
60+
public var NSXMLNodeNeverEscapeContents: NSXMLNodeOptionRawType { return 1 << 5 }
5561

5662
// Tidy
57-
public var NSXMLDocumentTidyHTML: UInt { return 1 << 9 }
58-
public var NSXMLDocumentTidyXML: UInt { return 1 << 10 }
63+
public var NSXMLDocumentTidyHTML: NSXMLNodeOptionRawType { return 1 << 9 }
64+
public var NSXMLDocumentTidyXML: NSXMLNodeOptionRawType { return 1 << 10 }
5965

6066
// Validate
61-
public var NSXMLDocumentValidate: UInt { return 1 << 13 }
67+
public var NSXMLDocumentValidate: NSXMLNodeOptionRawType { return 1 << 13 }
6268

6369
// External Entity Loading
6470
// Choose only zero or one option. Choosing none results in system-default behavior.
65-
public var NSXMLNodeLoadExternalEntitiesAlways: UInt { return 1 << 14 }
66-
public var NSXMLNodeLoadExternalEntitiesSameOriginOnly: UInt { return 1 << 15 }
67-
public var NSXMLNodeLoadExternalEntitiesNever: UInt { return 1 << 19 }
71+
public var NSXMLNodeLoadExternalEntitiesAlways: NSXMLNodeOptionRawType { return 1 << 14 }
72+
public var NSXMLNodeLoadExternalEntitiesSameOriginOnly: NSXMLNodeOptionRawType { return 1 << 15 }
73+
public var NSXMLNodeLoadExternalEntitiesNever: NSXMLNodeOptionRawType { return 1 << 19 }
6874

6975
// Parse
70-
public var NSXMLDocumentXInclude: UInt { return 1 << 16 }
76+
public var NSXMLDocumentXInclude: NSXMLNodeOptionRawType { return 1 << 16 }
7177

7278
// Output
73-
public var NSXMLNodePrettyPrint: UInt { return 1 << 17 }
74-
public var NSXMLDocumentIncludeContentTypeDeclaration: UInt { return 1 << 18 }
79+
public var NSXMLNodePrettyPrint: NSXMLNodeOptionRawType { return 1 << 17 }
80+
public var NSXMLDocumentIncludeContentTypeDeclaration: NSXMLNodeOptionRawType { return 1 << 18 }
7581

7682
// Fidelity
77-
public var NSXMLNodePreserveNamespaceOrder: UInt { return 1 << 20 }
78-
public var NSXMLNodePreserveAttributeOrder: UInt { return 1 << 21 }
79-
public var NSXMLNodePreserveEntities: UInt { return 1 << 22 }
80-
public var NSXMLNodePreservePrefixes: UInt { return 1 << 23 }
81-
public var NSXMLNodePreserveCDATA: UInt { return 1 << 24 }
82-
public var NSXMLNodePreserveWhitespace: UInt { return 1 << 25 }
83-
public var NSXMLNodePreserveDTD: UInt { return 1 << 26 }
84-
public var NSXMLNodePreserveCharacterReferences: UInt { return 1 << 27 }
85-
public var NSXMLNodePromoteSignificantWhitespace: UInt { return 1 << 28 }
86-
public var NSXMLNodePreserveEmptyElements: UInt { return NSXMLNodeExpandEmptyElement | NSXMLNodeCompactEmptyElement }
87-
public var NSXMLNodePreserveQuotes: UInt { return NSXMLNodeUseSingleQuotes | NSXMLNodeUseDoubleQuotes }
88-
public var NSXMLNodePreserveAll: UInt { return
83+
public var NSXMLNodePreserveNamespaceOrder: NSXMLNodeOptionRawType { return 1 << 20 }
84+
public var NSXMLNodePreserveAttributeOrder: NSXMLNodeOptionRawType { return 1 << 21 }
85+
public var NSXMLNodePreserveEntities: NSXMLNodeOptionRawType { return 1 << 22 }
86+
public var NSXMLNodePreservePrefixes: NSXMLNodeOptionRawType { return 1 << 23 }
87+
public var NSXMLNodePreserveCDATA: NSXMLNodeOptionRawType { return 1 << 24 }
88+
public var NSXMLNodePreserveWhitespace: NSXMLNodeOptionRawType { return 1 << 25 }
89+
public var NSXMLNodePreserveDTD: NSXMLNodeOptionRawType { return 1 << 26 }
90+
public var NSXMLNodePreserveCharacterReferences: NSXMLNodeOptionRawType { return 1 << 27 }
91+
public var NSXMLNodePromoteSignificantWhitespace: NSXMLNodeOptionRawType { return 1 << 28 }
92+
public var NSXMLNodePreserveEmptyElements: NSXMLNodeOptionRawType { return NSXMLNodeExpandEmptyElement | NSXMLNodeCompactEmptyElement }
93+
public var NSXMLNodePreserveQuotes: NSXMLNodeOptionRawType { return NSXMLNodeUseSingleQuotes | NSXMLNodeUseDoubleQuotes }
94+
public var NSXMLNodePreserveAll: NSXMLNodeOptionRawType { return
8995
NSXMLNodePreserveNamespaceOrder |
9096
NSXMLNodePreserveAttributeOrder |
9197
NSXMLNodePreserveEntities |

0 commit comments

Comments
 (0)