Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C++ (Circle)
CIRCT
Clean
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
GLSL
Go
Haskell
HLSL
Hook
Hylo
IL
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Nim
Objective-C
Objective-C++
OCaml
OpenCL C
Pascal
Pony
Python
Racket
Ruby
Rust
Snowball
Scala
Solidity
Spice
SPIR-V
Swift
LLVM TableGen
Toit
TypeScript Native
V
Vala
Visual Basic
WASM
Zig
Javascript
GIMPLE
Ygen
swift source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
x86-64 swiftc 3.1.1
x86-64 swiftc 4.0.2
x86-64 swiftc 4.0.3
x86-64 swiftc 4.1
x86-64 swiftc 4.1.1
x86-64 swiftc 4.1.2
x86-64 swiftc 4.2
x86-64 swiftc 5.0
x86-64 swiftc 5.1
x86-64 swiftc 5.10
x86-64 swiftc 5.2
x86-64 swiftc 5.3
x86-64 swiftc 5.4
x86-64 swiftc 5.5
x86-64 swiftc 5.6
x86-64 swiftc 5.7
x86-64 swiftc 5.8
x86-64 swiftc 5.9
x86-64 swiftc nightly
Options
Source code
@usableFromInline internal struct URLEncodeSetSet: OptionSet { @usableFromInline internal var rawValue: UInt8 @inlinable internal init(rawValue: UInt8) { self.rawValue = rawValue } @inlinable internal static var none: Self { Self(rawValue: 0) } @inlinable internal static var c0: Self { Self(rawValue: 1 << 0) } @inlinable internal static var fragment: Self { Self(rawValue: 1 << 1) } @inlinable internal static var query: Self { Self(rawValue: 1 << 2) } @inlinable internal static var specialQuery: Self { Self(rawValue: 1 << 3) } @inlinable internal static var path: Self { Self(rawValue: 1 << 4) } @inlinable internal static var userInfo: Self { Self(rawValue: 1 << 5) } @inlinable internal static var form: Self { Self(rawValue: 1 << 6) } @inlinable internal static var component: Self { Self(rawValue: 1 << 7) } } // swift-format-ignore @usableFromInline internal let percent_encoding_table: [URLEncodeSetSet] = [ // Control Characters --------------------------------------------------------------------- /* 0x00 null */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x01 startOfHeading */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x02 startOfText */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x03 endOfText */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x04 endOfTransmission */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x05 enquiry */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x06 acknowledge */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x07 bell */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x08 backspace */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x09 horizontalTab */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0A lineFeed */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0B verticalTab */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0C formFeed */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0D carriageReturn */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0E shiftOut */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x0F shiftIn */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x10 dataLinkEscape */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x11 deviceControl1 */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x12 deviceControl2 */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x13 deviceControl3 */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x14 deviceControl4 */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x15 negativeAcknowledge */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x16 synchronousIdle */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x17 endOfTransmissionBlock */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x18 cancel */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x19 endOfMedium */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1A substitute */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1B escape */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1C fileSeparator */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1D groupSeparator */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1E recordSeparator */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x1F unitSeparator */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component], // Special Characters --------------------------------------------------------------------- /* 0x20 space */ [.fragment, .query, .specialQuery, .path, .userInfo, .component], // form substitutes instead. /* 0x21 exclamationMark */ .form, /* 0x22 doubleQuotationMark */ [.fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x23 numberSign */ [.query, .specialQuery, .path, .userInfo, .form, .component], /* 0x24 dollarSign */ [.form, .component], /* 0x25 percentSign */ [.form, .component], /* 0x26 ampersand */ [.form, .component], /* 0x27 apostrophe */ [.specialQuery, .form], /* 0x28 leftParenthesis */ .form, /* 0x29 rightParenthesis */ .form, /* 0x2A asterisk */ .none, /* 0x2B plus */ [.form, .component], /* 0x2C comma */ [.form, .component], /* 0x2D minus */ .none, /* 0x2E period */ .none, /* 0x2F forwardSlash */ [.userInfo, .form, .component], // Numbers ---------------------------------------------------------------------- /* 0x30 digit 0 */ .none, /* 0x31 digit 1 */ .none, /* 0x32 digit 2 */ .none, /* 0x33 digit 3 */ .none, /* 0x34 digit 4 */ .none, /* 0x35 digit 5 */ .none, /* 0x36 digit 6 */ .none, /* 0x37 digit 7 */ .none, /* 0x38 digit 8 */ .none, /* 0x39 digit 9 */ .none, // Punctuation ---------------------------------------------------------------------- /* 0x3A colon */ [.userInfo, .form, .component], /* 0x3B semicolon */ [.userInfo, .form, .component], /* 0x3C lessThanSign */ [.fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x3D equalSign */ [.userInfo, .form, .component], /* 0x3E greaterThanSign */ [.fragment, .query, .specialQuery, .path, .userInfo, .form, .component], /* 0x3F questionMark */ [.path, .userInfo, .form, .component], /* 0x40 commercialAt */ [.userInfo, .form, .component], // Uppercase letters ---------------------------------------------------------------------- /* 0x41 A */ .none, /* 0x42 B */ .none, /* 0x43 C */ .none, /* 0x44 D */ .none, /* 0x45 E */ .none, /* 0x46 F */ .none, /* 0x47 G */ .none, /* 0x48 H */ .none, /* 0x49 I */ .none, /* 0x4A J */ .none, /* 0x4B K */ .none, /* 0x4C L */ .none, /* 0x4D M */ .none, /* 0x4E N */ .none, /* 0x4F O */ .none, /* 0x50 P */ .none, /* 0x51 Q */ .none, /* 0x52 R */ .none, /* 0x53 S */ .none, /* 0x54 T */ .none, /* 0x55 U */ .none, /* 0x56 V */ .none, /* 0x57 W */ .none, /* 0x58 X */ .none, /* 0x59 Y */ .none, /* 0x5A Z */ .none, // More special characters --------------------------------------------------------------------- /* 0x5B leftSquareBracket */ [.userInfo, .form, .component], /* 0x5C backslash */ [.userInfo, .form, .component], /* 0x5D rightSquareBracket */ [.userInfo, .form, .component], /* 0x5E circumflexAccent */ [.userInfo, .form, .component], /* 0x5F underscore */ .none, /* 0x60 backtick */ [.fragment, .path, .userInfo, .form, .component], // Lowercase letters --------------------------------------------------------------------- /* 0x61 a */ .none, /* 0x62 b */ .none, /* 0x63 c */ .none, /* 0x64 d */ .none, /* 0x65 e */ .none, /* 0x66 f */ .none, /* 0x67 g */ .none, // /* 0x68 h */ .none, // /* 0x69 i */ .none, // /* 0x6A j */ .none, // /* 0x6B k */ .none, // /* 0x6C l */ .none, // /* 0x6D m */ .none, // /* 0x6E n */ .none, // /* 0x6F o */ .none, // /* 0x70 p */ .none, // /* 0x71 q */ .none, // /* 0x72 r */ .none, // /* 0x73 s */ .none, // /* 0x74 t */ .none, // /* 0x75 u */ .none, // /* 0x76 v */ .none, // /* 0x77 w */ .none, // /* 0x78 x */ .none, // /* 0x79 y */ .none, // /* 0x7A z */ .none, // // More special characters --------------------------------------------------------------------- // /* 0x7B leftCurlyBracket */ [.path, .userInfo, .form, .component], // /* 0x7C verticalBar */ [.userInfo, .form, .component], // /* 0x7D rightCurlyBracket */ [.path, .userInfo, .form, .component], // /* 0x7E tilde */ .form, // /* 0x7F delete */ [.c0, .fragment, .query, .specialQuery, .path, .userInfo, .form, .component] // The End. --------------------------------------------------------------------- ]
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
About the author
Statistics
Changelog
Version tree